Welcome to the Linux Foundation Forum!

Chapter 10 APT Upgrade particular packages

Ilonka Posts: 11
edited August 2017 in LFS201 Class Forum

Hi gyus,

I found a bug in the chapter for apt.

It isn't possible to upgrade particular packages with the command $sudo apt-get upgrade <package>

The correct command is $sudo apt-get install --only-upgrade <package>.




  • luisviveropena
    luisviveropena Posts: 1,101
    edited August 2017

    Hi Ilonka,

    I reviewed Chapter 10 and I didn't find that. Can you provide a screenshot with the error in the apt-get command, please?



  • coni
    coni Posts: 14
    edited August 2017

    I think He means this in the last line.

  • Ilonka
    Ilonka Posts: 11
    edited August 2017

    Hi Luis,

    in the first lab you should upgrade a particular package. And in the solution is written down $sudo apt-get upgrade bash. But this doesnÄt work, because the command upgrade always updates ALL packages.

    Answer this your question?



  • coop
    coop Posts: 913
    edited August 2017

    student@ubuntu:~$ sudo apt-get upgrade bash
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    bash is already the newest version (4.4-2ubuntu1.1).
    Calculating upgrade... Done
    0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

    Not true -- the above command upgrades (updates) bash only.  It is unfortunate that debian package systems use the confusing words update (for repos) and upgrade (for packages) unlike rpm which just says update.  


  • Ilonka
    Ilonka Posts: 11
    edited August 2017

    Hi coop,

    I know the difference between update and upgrade because I normally working with Debian systems... 

    On my system (Ubuntu 17.04) the upgrade command doesn't stop with checking the bash package. It tells me that it would also upgrade the rest.

    If I try to upgrade another package like cups-bsd ther is display following outout:

    sudo apt-get upgrade cups-bsd

    Paketlisten werden gelesen... Fertig

    Abhängigkeitsbaum wird aufgebaut.       

    Statusinformationen werden eingelesen.... Fertig

    Paketaktualisierung (Upgrade) wird berechnet... Fertig

    Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt:

      linux-headers-4.10.0-27 linux-headers-4.10.0-27-generic linux-headers-4.10.0-28

      linux-headers-4.10.0-28-generic linux-headers-4.10.0-30 linux-headers-4.10.0-30-generic

      linux-image-4.10.0-27-generic linux-image-4.10.0-28-generic linux-image-4.10.0-30-generic

      linux-image-extra-4.10.0-27-generic linux-image-extra-4.10.0-28-generic


    Verwenden Sie »sudo apt autoremove«, um sie zu entfernen.

    Die folgenden Pakete werden aktualisiert (Upgrade):

      cups cups-bsd cups-client cups-common cups-core-drivers cups-daemon cups-ppdc cups-server-common

      libcups2 libcupscgi1 libcupsimage2 libcupsmime1 libcupsppdc1 python3-update-manager

      update-manager update-manager-core

    16 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.

    Es müssen 2.221 kB an Archiven heruntergeladen werden.

    Nach dieser Operation werden 1.024 B Plattenplatz zusätzlich benutzt.

    Möchten Sie fortfahren? [J/n] 

    Dorry for the German language but you can see, that the upgrade command would upgrade all packages wich are available. You can perhaps upgrade the bash package for itself, but not even each package...

  • coop
    coop Posts: 913
    edited August 2017

    I ran the upgrade bash command on a clean freshly updated/upgraded Ubuntu 17.04 system.

    This has always been the behaviour of apt-get upgrade; it only pulls in other packages if they have dependencies, which is the right thing to do.  I can't read the Deutsch, but the stuff about the kernel stuff  is just telling you (I think) you can remove the old kernel packages.  The rest of it is the packages that depend on cups-bsd.  So this all makes perfect sense, there is no problem here as best I can see it.

    This is correct behaviour and does not contradict the course unless you want us to be more verbose and say upgrade pulls in dependent packages which I think is rather obvious -- that is what a packaging system is designed to do if you don't want a broken system.


  • coop
    coop Posts: 913
    edited September 2017

    I am wrong.  Indeed apt-get upgrade bash will upgrade all packages.  Personally I find this rather bad policy to enforce.  I was deceived by the printout.  We can't fix this until the next course update which I would not expect for quite a few months since one was just done.



  • majakraljic
    majakraljic Posts: 1
    edited September 2017

    I think there should be a thread (errata) for these kind of updates that are known but not fixed in the course. It would save everybody a lot of time.

  • coop
    coop Posts: 913
    edited September 2017

    We have done this in the past and will do so in the future, but this is a new version that hasn't needed it yet.  Anyway, we usually find people don't look at the errata anyway, no matter how prominently you ask them to.

    This mis-statement has been in all versions of the course for about two years and I don't believe anyone has ever had a problem with it or noticed it so I doubt it is a serious time waster or problem.

    Updates to LFS201 are not trivial as they require quite a bit of backend work, especially to make sure students don't lose bookmarks etc. So unless there are severe problems we do them maybe once or twice a year.  At any rate, a newer version needs to be released later this year since the exam domains have been announced to be shifting next March and we want to make sure students are adequately prepared for the nee exam.


Upcoming Training