Re: More info - was [Re: Synaptic fails to fix broken packages]
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
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.