Software Updater vs apt-get update
I had always assumed that running apt-get update
followed by apt-get upgrade
was just the command line version of running the software-updater; however, running the software updater results in the following packages needing updating:
Complete Generic Linux kernel
Header files relates to Linux kernel version 3.2.0
Linux kernel headers for version 3.2.0 on 64 bit x86 SMP
Generic Linux kernel headers
Linux kernel image for version 3.2.0 on 64 bit x86 SMP
General Linux kernel image
Linux Kernel Headers for development
ISC DHCP client
common file used by all the isc-dhcp* packages
LightDM GObject client library
graphical boot animation and logger-shared libraries
DisplayManager
graphical boot animation and logger-main package
graphical boot animation and logger-label control
graphical boot animation and logger-ubuntu-logo theme (-logo)
graphical boot animation and logger-ubuntu-logo theme (-text)
Jabber/XMPP connection manager
(53.9 MB)
whereas running apt-get update
and apt-get upgrade
results in:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages have been kept back:
linux-generic linux-headers-generic linux-image-generic
The following packages will be upgraded:
isc-dhcp-client isc-dhcp-common liblightdm-gobject-1-0 libplymouth2 lightdm
linux-libc-dev plymouth plymouth-label plymouth-theme-ubuntu-logo
plymouth-theme-ubuntu-text telepathy-gabble
11 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
Need to get 2,594 kB of archives.
After this operation, 2,048 B of additional disk space will be used.
Can anyone explain what's going on?
Solution 1:
There seems to be some confusion here.
apt-get update
: This just refreshes the list of available packages.apt-get upgrade
: This will upgrade any installed packages to their latest version.apt-get dist-upgrade
: Same as upgrade but uses a "smart" conflict resolution system, it will attempt to upgrade the most important packages at the expense of less important ones if necessary.
So, if what you want is to make sure your currently installed packages are the most recent version available, you run
apt-get update && apt-get upgrade
If this results in problems then you might want to try:
apt-get update && apt-get dist-upgrade
Now, the messages you have posted have nothing to do with dist-upgrade
, they are simple upgrades. There is also absolutely no difference between them, it is simply that the software updater is giving you the descriptions of the packages while apt-get
is listing the package names. For example
Complete Generic Linux kernel == linux-generic
ISC DHCP client == isc-dhcp-client
Jabber/XMPP connection manager == telepathy-gabble
If you read carefully through the two lists you will see that they are exactly the same packages.
That said, the messages you posted say the exact same thing.
Solution 2:
afaik, you miss a third piece:
apt-get dist-upgrade
Actually, apt-get upgrade won't upgrade packages in some cases, for example when they change dependencies or require some other packages to be removed. Bu apt-get dist-upgrade will. So to get a behaviour similar to the one of software-updater you need:
apt-get update && apt-get dist-upgrade
Or, if you want to play a little more safely:
apt-get update && apt-get upgrade && apt-get dist-upgrade
See: http://www.ghacks.net/2010/03/11/what-is-it-with-the-dist-upgrade-option-of-apt-get/
And also: https://askubuntu.com/q/194651/125726