Hi. On Fri, Oct 05, 2018 at 05:51:09AM -0500, Richard Owlett wrote: > > > I'm not comfortable with anything other than "stable". > > > When moving from one release to the next my custom is to purchase a DVD > > > set and do a complete fresh install. > > > > > > However, I *am* several point releases behind. I just read the apt-get > > > man page and don't grasp how to chose between upgrade and > > > dist-upgrade. It's purpose is focused more on "what" than "why" of each > > > option. > > > > > > Can someone point me to a discussion of why one would chose a particular > > > option? > > > > Why do you need a discussion of that if you have apt-get(8)? > > > > upgrade is used to install the newest versions of all packages currently > > installed on the system from the sources enumerated in > > /etc/apt/sources.list. Packages currently installed with new versions > > available are retrieved and upgraded; under no circumstances are > > currently installed packages removed, or packages not already installed > > retrieved and installed. New versions of currently installed packages > > that cannot be upgraded without changing the install status of another > > package will be left at their current version. > > > > dist-upgrade in addition to performing the function of upgrade, also > > intelligently handles changing dependencies with new versions of > > packages. > > > > > > tl;dr version: > > apt-get upgrade is 'safe'. > > apg-get dist-upgrade can install new and uninstall existing packages, so > > it should be used with care. > > > > > > If you're using stable without third-party repositories, it's 'upgrade' > > that's needed most of the time. > > If unsure always add '-s' flag to any apt-get invocation. > > > > Reco > > "... so it should be used with care." takes care of immediate decision. > > However, I would still like to grok when/why the decision would be > "dist-upgrade".
A real-life example would be stable-backports repository. They dump fresh version of packages there once in a while, and some of us like to use them. For instance, the backported linux-image was uploaded there recently. Along the other things they build 'perf' tool that comes with the Linux kernel, so backported 'perf' ends up in backports too. Recent 4.17→4.18 upgrade changed 'perf' dependencies from python-2.7 to pyhton-3.5. Now. One has your typical run-of-the-mill Debian stable installation with the backported kernel and perf installed. But - there's no python-3.5, as it was unneeded. 'perf' upgrade wants to install libpython3.5 as a dependency, but 'apt-get install' is forbidden from installing new packages. The result of 'apt-get upgrade' is upgraded kernel, but 'perf' is put on hold (i.e. not upgraded). The result of 'apt-get dist-upgrade' is upgraded kernel, perf and a pile of pyhton3.5-specific packages. In this case no apparent harm was done, of course. Reco