It’s a cool feature, and I played with it some, but I don’t really see how to use it in a home or small office environment unless you’re willing to subscribe to someone who can generate the live patches for you.
I can certainly generate the patches myself, but it’s much faster to let the maintainer of my distro’s kernel handle shipping new packages and accepting the reboot. My system reboots really quickly.
If high reliability is a concern, I would suggest load balancing or some other horizontally scaled solution such that you’re not impacted by one machine going down. Because they will go down for things other than updates!
Not rebooting for a long time makes me nervous once I actually reboot, as I might’ve changed something but didn’t make it persistent. Luckily I’ve become much better with documenting chabges after switching to NixOS.
I can see this being useful for NixOS. It’s still a glimmer in the postman’s eye, and we’re WAITING for systemd src to come with certain options to make the attaching and reattaching of systemd easier.
But I could easily see
nixpkgs
implement functions that allownixos-rebuild switch
to use either live patching method, or even implementing one specifically for NixOS.This would be twice as neat, because
switch
is already magical in how it shifts from one system to another. If you could then also live patch the kernel? It just adds another super power.But I could easily see
nixpkgs
implement functions that allownixos-rebuild switch
to use either live patching method, or even implementing one specifically for NixOS.Sadly, I could not. Live patching requires extensive knowledge of the previous system state and that is the antithesis to NixOS where any system state is fully independent of any other possible system state.
nixos-rebuild switch
isn’t very magical at all once you understand this principle.Live patching is also not really something you want to use or use frequently. It’s more intended for “this super critical box can only be taken down next Saturday but there’s a fix for a 0-day in the kernel today that we need ASAP”. If it’s at all possible to simply reboot, simply reboot (or kexec).
If you are using Ubuntu, they have live patch available. You have to sign up for Ubuntu Pro, but that is free for individuals. I just heard about this and haven’t tried it yet https://ubuntu.com/security/livepatch