I often avoid software upgrades not because I know something will break but because I speculate something will break and dont want to find out.
Out of all the "features" that anger me the most are automatic, silent upgrades. One can generally disable them but I dont want to have to figure out how; if I want an upgrade I will download and install it manually and do so when I am good and ready.
That web applications - as opposed to those I install locally - are increasingly common I regard as the problem not the solution. Quite commonly a website breaks for no apparent reason, eventually I clue into that they revised their Javascipt but did not test on the browser I actually use.
When considering whether to install software, first look for reviews. Many eCommerce sites make it easy to sort by most-critical first. Do take them with a grain of salt as bad reviews are sometimes posted by unethical competitors as well as cyberstalkers like Kuro5hin's modus.
If those bad reviews would affect you and are in a recent release then maybe you want to give it a pass.
I know all about security patches, I once got to play on that same Sun workstation that Kevin Mitnick ransacked but at least I had the sense to ask Tsutomu's permission first.
> I often avoid software upgrades not because I know something will break but because I speculate something will break and dont want to find out.
That is a great way to describe that. Same here. On my daily dev system (Debian), frequent updates were sporadically breaking different bits of system -- sound would stop working, then would work again but something else would glitch -- and eventually I got busy enough that I just couldn't sink the time into troubleshooting things if the next round of updates happened to break anything I really relied on.
Time passed.
I now have something like 2,000+ updates to apply via apt and I am terrified. I have this sinking feeling that if I try to update now, my laptop will grow legs in the middle of the update and try to run out into the street to put itself out of its misery.
I think -- I hope! -- we're very close to completely reversible software updates in Linux environments. Between containers and VM snapshots and ZFS and efforts like Nexenta (http://www.osnews.com/story/19180/Transactional_Debian_Upgra... -- amusingly, the link to the page on nexenta.com is no longer available and I can't find a newer version of it on their site), I'm hoping that updates will become a little less of a time sink in the future.
Take a look at NixOS. I've been using it for a while and it's beautiful. Upgrades are very close to being fully atomic, and you can rollback arbitrarily through the boot menu in case a system change—an upgrade or configuration change—ruins something. Moreover, package dependencies are isolated from each other, you can install packages as non-root, etc etc.
Their approach to system configuration and package management looks great. I'm a little bit concerned about what a complete configuration.nix file would look like for a daily desktop development system though, and it looks like they've still got a lot of packages to fix (if I'm reading https://nixos.org/wiki/Zero_Hydra_Failures correctly), but still, looks like a big improvement over other approaches.
I love the configuration format and the .nix files for my laptop setup is very managable. Since I have the same hardware as my brother, we've set up a repository with the main configuration with custom files for our own options. So for example, I enabled Avahi ZeroConf DNS (one .nix line) and my brother only needed to pull the repo and run NixOS's "rebuild & switch" command.
The really great thing about the configuration language is that the same dependency tracking used for packages is used for all values in the system... So for example, if you have servers set up as Nix packages whose configs refer to the Nix variable for the system hostname, then if you change the hostname, those packages will be reconfigured automatically.
Yeah, there's quite a bit of work needed on packages, but I actually haven't had any trouble. I believe the "unstable" channel is defined as the latest set of packages that all build successfully together on Hydra, and the "stable" channels are Ubuntu-like LTS releases.
Anyhow I encourage people to give it a go! They have Amazon AMI images you can use to run NixOS on EC2 easily, the community is nice, and you can find lots of example configs on GitHub. Something like NixOS is bound to win as far as I'm concerned. Next level stuff!
LVM has been available (and readily selectable as an option on the installers of various distros, including Ubuntu) and supports filesystem snapshots on Linux for a long time. It should be easy to make a tool that makes a snapshot, runs apt-get upgrade and then allows easy rollback, but as far as I know nobody as tied the tools together.
My approach has been to keep my laptop on Sid/Unstable and upgrading at least once per week; nothing major has ever broken on me for the last few years, but I do run a barebones environment.
Out of all the "features" that anger me the most are automatic, silent upgrades. One can generally disable them but I dont want to have to figure out how; if I want an upgrade I will download and install it manually and do so when I am good and ready.
That web applications - as opposed to those I install locally - are increasingly common I regard as the problem not the solution. Quite commonly a website breaks for no apparent reason, eventually I clue into that they revised their Javascipt but did not test on the browser I actually use.
When considering whether to install software, first look for reviews. Many eCommerce sites make it easy to sort by most-critical first. Do take them with a grain of salt as bad reviews are sometimes posted by unethical competitors as well as cyberstalkers like Kuro5hin's modus.
If those bad reviews would affect you and are in a recent release then maybe you want to give it a pass.
I know all about security patches, I once got to play on that same Sun workstation that Kevin Mitnick ransacked but at least I had the sense to ask Tsutomu's permission first.