* Dave Horsfall <d...@horsfall.org> [181118 14:42]: > Latest Debian 8 (will go to 9 soon) on Acer Aspire E15 > > root@debbie:/home/dave# apt-get upgrade > Reading package lists... Done > Building dependency tree > Reading state information... Done > Calculating upgrade... Done > The following packages have been kept back: > firmware-linux-nonfree > The following packages will be upgraded: > firmware-atheros > 1 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. > > What on earth does that mean? I have "non-free" listed in sources.list > (which this list told me to do).
The apt-get upgrade command does a "safe" upgrade; it will not install any new packages or delete obsolete packages, nor will it upgrade any package whose new version would require such. If you say «apt-get install firmware-linux-nonfree» it should tell you what it is going to do and ask for confirmation if any other packages will be installed or removed. I believe, in this case, the new version of firmware-linux-nonfree depends on firmware-amd-graphics and firmware-misc-nonfree, which the old package does not require. The upgrade command will refuse to do this automatically, but the install command should work just fine. It used to be that aptitude was the recommended tool for managing packages within a terminal window; it can be used as a command line tool the way apt-get can, but if you don't give it a command (i.e. just say «aptitude») it uses a curses interface to allow you to manage the packages (sort of like synaptic, but for a terminal window). At some point, I think about 10-15 years ago (but don't quote me on that), aptitude's resolver was changed, and it became less helpful. The resolver is the part of aptitude and apt-get which takes what you have asked it to do and figures out what other actions need to be done to achieve that. The resolver in apt-get did a better job of choosing a more useful solution. Because of that, the next release of Debian started recommending apt-get instead. However, apt-get only has a command line interface, not a curses-based interface, so it is harder to choose between multiple ways to satisfy dependencies (e.g. when a package Recommends: package-a | package-b, and package-a and package-b have different dependencies themselves). I still use aptitude in curses mode most of the time, using apt-get or aptitude command line mode in only limited situations. And I also recommend aptitude for some users who have at least a basic understanding of how package dependencies work. I put the following snippet in a file in /etc/apt/apt.conf.d/ to help the resolver make better choices: Aptitude::ProblemResolver { SolutionCost "priority, removals, canceled-actions"; } Aptitude is no longer installed in a default installation, so you will probably have to install it with «apt-get install aptitude» if you want to try it out. ...Marvin