LWN: Comments on "Debian considering automated upgrades" https://lwn.net/Articles/709201/ This is a special feed containing comments posted to the individual LWN article titled "Debian considering automated upgrades". en-us Fri, 17 Oct 2025 13:24:29 +0000 Fri, 17 Oct 2025 13:24:29 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net Debian considering automated upgrades https://lwn.net/Articles/709608/ https://lwn.net/Articles/709608/ pabs <div class="FormattedComment"> needrestart has more features and is generally better.<br> </div> Sun, 18 Dec 2016 22:50:11 +0000 Debian considering automated upgrades https://lwn.net/Articles/709604/ https://lwn.net/Articles/709604/ satbyy I have been using <code>checkrestart</code> all these days. Is <code>needrestart</code> any different ? Both seem to do the same thing. Sun, 18 Dec 2016 20:58:00 +0000 Debian considering automated upgrades https://lwn.net/Articles/709589/ https://lwn.net/Articles/709589/ pabs <div class="FormattedComment"> needrestart can be configured to automatically restart system services with upgraded libraries, so it should work quite well with unattended upgrades. What issues did you find with it?<br> </div> Sun, 18 Dec 2016 14:32:42 +0000 Debian considering automated upgrades https://lwn.net/Articles/709587/ https://lwn.net/Articles/709587/ kooky <div class="FormattedComment"> I've used the cron-apt package for maybe 10 years now. With the -d flag removed so that it installed upgrades rather than just downloading. On lots of servers and desktop machines.<br> <p> Mix together with <a href="https://packages.debian.org/jessie-backports/reboot-notifier">https://packages.debian.org/jessie-backports/reboot-notifier</a> and I know when I need to reboot. (makesure cron can send email)<br> <p> [ I've always meant to write a script to do overnight reboots based on reboot-notifier, but I just haven't done it yet ]<br> <p> It just works. I'd rather be secure and have a 30 second overnight outage every few months. <br> <p> For a few absolutely critical servers, I do updates manually. <br> <p> <p> The needrestart package described is good, but it really doesn't work well with unattended upgrades.<br> <p> <p> </div> Sun, 18 Dec 2016 12:33:43 +0000 Debian considering automated upgrades https://lwn.net/Articles/709543/ https://lwn.net/Articles/709543/ Cato <div class="FormattedComment"> A fairly nice Ansible role that installs and configures unattended-upgrades for Debian and Ubuntu: <a href="https://github.com/jnv/ansible-role-unattended-upgrades.git">https://github.com/jnv/ansible-role-unattended-upgrades.git</a><br> <p> Ansible is lightweight compared to Puppet/Chef/Salt etc - only requires SSH and Python on target server (and you can bootstrap to install Python if needed), and is easy to learn since its scripts are executed sequentially. See <a href="http://docs.ansible.com/">http://docs.ansible.com/</a><br> </div> Sat, 17 Dec 2016 09:34:38 +0000 Debian considering automated upgrades https://lwn.net/Articles/709542/ https://lwn.net/Articles/709542/ Cato <div class="FormattedComment"> Snapshotting can help, but btrfs still seems not ready for production, and LVM snapshots are quite buggy - see <a href="http://serverfault.com/questions/279571/lvm-dangers-and-caveats">http://serverfault.com/questions/279571/lvm-dangers-and-c...</a><br> </div> Sat, 17 Dec 2016 09:31:19 +0000 Debian considering automated upgrades https://lwn.net/Articles/709527/ https://lwn.net/Articles/709527/ davidstrauss <div class="FormattedComment"> <font class="QuotedText">&gt; The ideal solution here, of course, is reboot-less kernel upgrades</font><br> <p> There is no such thing as "reboot-less kernel upgrades." There is live kernel patching, where you inject a modified implementation or filtering routine (usually to mitigate a vulnerability), but you're still running the old kernel. Eventually, such live patches will stack up and be too unwieldy to keep adding -- and the box will need to reboot. These live patches also have to be specifically implemented as live patches; you can't just take a kernel diff and naively make one. (For example, the upstream fix may alter a key data structure in the kernel, while a live patch usually can't do that and has to take a different approach.)<br> <p> I'm no aware of any vendor, even the enterprise ones, that promises the ability to perpetually avoid reboots.<br> </div> Fri, 16 Dec 2016 23:01:17 +0000 Debian considering automated upgrades https://lwn.net/Articles/709431/ https://lwn.net/Articles/709431/ maniax <div class="FormattedComment"> My 2c:<br> <p> For the cattle farms and the pets I run and had run, I've seen very few problems with automated updates in the last 7 years, mostly on servers which were co-administated with people without enough experience. Otherwise, cron-apt does it job pretty well, and if you read debian-security-announce, you know what to expect and if there's something that will affect your code or services. <br> (and you need to remember to set to hold mysql and whatever db server you use, to skip the downtime on that and because that upgrade is one of those you need to watch)<br> <p> I've tried to do the path of manual update (first on one server of the cluster, then on the rest), but with the quality of debian security updates, it's a waste of time, the automated stuff just works and you can check it in your email in the morning.<br> <p> Automated release upgrades are a different matter, but the existing tools make that pretty easy to do them manually and seem to work fine (which has been one of the reasons for my dislike of ubuntu, where those were creating a lot more problems)<br> </div> Fri, 16 Dec 2016 10:30:53 +0000 Debian considering automated upgrades https://lwn.net/Articles/709426/ https://lwn.net/Articles/709426/ zlynx <div class="FormattedComment"> This could be done somewhat safely with BTRFS or LVM. Make /usr read-only. Create a read-write snapshot of /usr, apply the updates to that snapshot and then somehow atomically replace /usr with the new snapshot. Just mount over it? Is there a way to unmount the old /usr after, or would this plan just result in an eventual pile of 100 copies of /usr?<br> </div> Fri, 16 Dec 2016 04:10:08 +0000 Debian considering automated upgrades https://lwn.net/Articles/709425/ https://lwn.net/Articles/709425/ zlynx <div class="FormattedComment"> Library updates have, in the past, inconvenienced me. Of course, I do blame it on bad developers.<br> <p> For example, some binary data file that is used by a set of applications. It is accessed through a library. The main application keeps on running, using the old library and the old data file.<br> <p> But wait! What happens when some innocent DBUS event launches one of these small utility programs? It spins up, the new library determines that it should upgrade the binary data file, it locks it, updates it IN PLACE, and continues on. Everyone should be happy right?<br> <p> No! Suddenly the old app that is still running has a new format to deal with and it has no idea what just happened.<br> <p> Sometimes I think certain developers never actually use their own stuff. And if I recall correctly this was "fixed" by having the install script just kill everything that could have the file open.<br> </div> Fri, 16 Dec 2016 04:04:17 +0000 Debian considering automated upgrades https://lwn.net/Articles/709422/ https://lwn.net/Articles/709422/ JanC_ <div class="FormattedComment"> Also see: <a href="https://github.com/mvo5/unattended-upgrades">https://github.com/mvo5/unattended-upgrades</a> (the default configuration files are under /data/ )<br> </div> Fri, 16 Dec 2016 01:48:40 +0000 Debian considering automated upgrades https://lwn.net/Articles/709419/ https://lwn.net/Articles/709419/ JanC_ <div class="FormattedComment"> That shouldn't really be a problem with 'unattended-upgrades':<br> <p> * by default it only upgrades for security issues; you could also configure it to only upgrade from your own private tested repository, if you think that's necessary on certain critical systems<br> * it allows for a configurable blacklist of packages that will never be upgraded<br> * it can try to fix interrupted upgrades automatically (or you can disable this)<br> * you can configure it to delay upgrades until shutdown/reboot<br> * automatic reboot is possible but optional, can be scheduled to happen immediately or at a particular time, and when disabled it's easy for other programs or scripts to check if a reboot is wanted at a more opportune moment<br> <p> etc.<br> <p> And in any case, removing or disabling it is easy if that's what you really want/need.<br> </div> Fri, 16 Dec 2016 01:42:16 +0000 Debian considering automated upgrades https://lwn.net/Articles/709417/ https://lwn.net/Articles/709417/ pabs <div class="FormattedComment"> The discussion was mostly about cloud stuff.<br> </div> Fri, 16 Dec 2016 01:00:18 +0000 Debian considering automated upgrades https://lwn.net/Articles/709416/ https://lwn.net/Articles/709416/ pabs <div class="FormattedComment"> <font class="QuotedText">&gt; There are no major changes in software in debian stable, that's the point of debian stable.</font><br> <p> The browsers are updated to new major versions in Debian stable, since there is no sane way to provide normal security updates for browsers in 2016. Luckily Firefox has ESR, but still, that will eventually lead to having to backport Rust to be able to compile Firefox ESR.<br> </div> Fri, 16 Dec 2016 00:57:53 +0000 Debian considering automated upgrades https://lwn.net/Articles/709405/ https://lwn.net/Articles/709405/ st <div class="FormattedComment"> I would expect that either pinning the necessary libs to specific versions using apt pinning or building the custom code into a .deb package that depends on specific versions of the libs would solve this problem while still allowing the system in question to benefit from automated updates of the rest of the packages.<br> </div> Thu, 15 Dec 2016 23:58:22 +0000 Debian considering automated upgrades https://lwn.net/Articles/709401/ https://lwn.net/Articles/709401/ mcatanzaro <div class="FormattedComment"> Fedora tried this years ago and the result was bricked desktops when users powered off or rebooted during an update that they didn't know was even in progress. Some very careful attention should be paid to user-interface requirements in order to avoid rehashing this problem (not that I expect this to actually happen...). At least for the GNOME, which is dead-set on supporting only offline updates to improve reliability, that's all going to have to happen downstream.<br> <p> I'm surprised that Debian is going the complete opposite direction of Fedora here on update reliability. It's one thing to automatically *prompt* users to install updates, or to do so automatically during a reboot... but completely unattended seems to make more sense for servers that are actually unattended.<br> </div> Thu, 15 Dec 2016 23:38:19 +0000 Debian considering automated upgrades https://lwn.net/Articles/709338/ https://lwn.net/Articles/709338/ Seegras <div class="FormattedComment"> <font class="QuotedText">&gt; What if this is a compute node that runs some self-compiled code </font><br> <font class="QuotedText">&gt; which requires certain libraries. </font><br> <p> If this really is your problem, the automated upgrades are not your problem.<br> <p> I usually pummel those who deploy "self-compiled code which requires certain libraries." with some kind of heavy implement, in order to hammer in some sanity into their brains.<br> <p> <p> </div> Thu, 15 Dec 2016 15:22:05 +0000 Debian considering automated upgrades https://lwn.net/Articles/709274/ https://lwn.net/Articles/709274/ itvirta <div class="FormattedComment"> <font class="QuotedText">&gt; Changing these libraries while the process is running, </font><br> <p> Library upgrades are usually done by unlinking the old version and creating a new one, instead of overwriting the file,<br> which would corrupt the binary image in memory.<br> <p> <font class="QuotedText">&gt; or upon a new start of the software (triggered by scripts or events), will eventually lead to problems that are unpredictable and difficult to recover from.</font><br> <p> If a stable update contains more than bugfixes or the like, thus breaking any sensible application, I would count that as a bug with the updated package itself.<br> Of course, if you're running something very sensitive, disable the automatic updates.<br> <p> <font class="QuotedText">&gt; do we want reboots during presentations</font><br> <p> Of course not. But unattended-upgrades doesn't reboot, it merely sends an email suggesting nicely that you might want to.<br> <p> </div> Thu, 15 Dec 2016 13:44:16 +0000 Debian considering automated upgrades https://lwn.net/Articles/709273/ https://lwn.net/Articles/709273/ mikapfl Well, on a compute node that runs some brittle self-compiled code, you just opt out of the automated upgrades. We are only talking about the default value changing, debian will certainly not make it impossible to change the configuration. <br> And for your fear of desktop usage breaking due to "major changes in software": We are talking about debian <i>stable</i> updates here. There are no major changes in software in debian stable, that's the point of debian stable. By the way: On the desktop, all the big desktop environments already have their own automated or semi-automated updating systems, so for the desktop this is not even new, it is the reality already. Thu, 15 Dec 2016 13:15:03 +0000 Debian considering automated upgrades https://lwn.net/Articles/709238/ https://lwn.net/Articles/709238/ tnoo <div class="FormattedComment"> This looks nice, but is a really bad idea, especially on servers. What if this is a compute node that runs some self-compiled code which requires certain libraries. Changing these libraries while the process is running, or upon a new start of the software (triggered by scripts or events), will eventually lead to problems that are unpredictable and difficult to recover from.<br> <p> And on desktops: do we want reboots during presentations, or major changes in software before an extended trip without reasonable internet connection? Don't follow the path of commercial dummy-user systems, we're all adults here.<br> </div> Thu, 15 Dec 2016 06:20:00 +0000