… everyone hates updates.

But they are necessary to keep systems secure.

in Debian you do this either with apt or with aptitude or with both. (in case apt fails to resolve dependencies use aptitude to resolve it)

the process usually works smooth.

but if you have not updated your system in a long time… there might be „hickups“ so it’s always better to backup first.


you newer know…

vim /scripts/backupSystemFileWise.sh; # create a backup script

rsync -aAXv --update --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /* /mnt/DATA/BACKUP/GIADA/JESSIE/FILE_WISE/


apt-get update; # get the latest package definitions
apt-get -y upgrade; # get package and install, always answer -yes

now watch carefully… if it can not install/update all packages and says stuff like „can not resolve dependency…“


you need to use aptitude… which can resolve dependencies for you automatically.

aptitude update; # update package database/get package definitions
aptitude upgrade; # upgrade system, if there are multiply choices, it will present to you all possible ways to resolve the problem and you have to say y=yes or n=no

Current status: 2431 new [-302].

there are 19 newly obsolete packages: libcmis-0.4-4, libdvbpsi9, libgphoto2-port10...

Resolving dependencies...                
The following NEW packages will be installed:
  evince{a} gcc-5-base{a} gir1.2-gtksource-3.0{a} irqbalance{a} libcmis-0.5-5{a} libdouble-conversion1{a} libdvbpsi10{a} libfdisk1{a} libgee-0.8-2{a} libgphoto2-port12{a} libgtop-2.0-10{a} 

The following packages are RECOMMENDED but will NOT be installed:
  gstreamer1.0-libav libqca2-plugins 

The following packages will be REMOVED:
  libcmis-0.4-4{u} libdvbpsi9{u}....

The following packages will be upgraded:
  cpp-4.8 cpp-4.9 evince-common evince-gtk g+

107 packages upgraded, 51 newly installed, 24 to remove and 27 not upgraded.
Need to get 278 MB of archives. After unpacking 323 MB will be used.
Do you want to continue? [Y/n/?] Y

now let’s rerun the same thing just to be shure

aptitude update; aptitude upgrade; # rerun the commands in one go

Current status: 27 updates [-200], 2862 new [+433].
Resolving dependencies...                
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 27 not upgraded.
Need to get 0 B of archives. After unpacking 0 B will be used.

why are there still „HOLD BACK“ packages?

apt-get update;apt-get -y upgrade; # rerun apt-get upgrade

The following packages have been kept back:

  libcurl3-gnutls libgnutls-deb0-28 libgnutls-openssl27 libldap-2.4-2 musescore-soundfont-gm python-pycurl wget xserver-xorg-core xserver-xorg-video-ati xserver-xorg-video-cirrus xserver-xorg-video-fbdev

0 upgraded, 0 newly installed, 0 to remove and 27 not upgraded.

vim /var/log/aptitude; # open aptitude log file, Shift+G will bring you to the end of the file

Log complete.
Aptitude 0.6.11: log report
Tue, Jun 30 2015 16:41:52 +0200

IMPORTANT: this log only lists intended actions; actions which fail due to
dpkg problems may not be completed.

Will install 0 packages, and remove 0 packages.
[HOLD, DEPENDENCIES] libcurl3-gnutls:amd64
[HOLD, DEPENDENCIES] libldap-2.4-2:amd64
[HOLD, DEPENDENCIES] musescore-soundfont-gm:amd64
[HOLD, DEPENDENCIES] python-pycurl:amd64
[HOLD, DEPENDENCIES] xserver-xorg-core:amd64
[HOLD, DEPENDENCIES] xserver-xorg-video-ati:amd64
[HOLD, DEPENDENCIES] xserver-xorg-video-cirrus:amd64
[HOLD, DEPENDENCIES] xserver-xorg-video-fbdev:amd64
[HOLD, DEPENDENCIES] xserver-xorg-video-intel:amd64
[HOLD, DEPENDENCIES] xserver-xorg-video-mach64:amd64
[HOLD, DEPENDENCIES] xserver-xorg-video-mga:amd64
[HOLD, DEPENDENCIES] xserver-xorg-video-neomagic:amd64
[HOLD, DEPENDENCIES] xserver-xorg-video-nouveau:amd64
[HOLD, DEPENDENCIES] xserver-xorg-video-openchrome:amd64
[HOLD, DEPENDENCIES] xserver-xorg-video-qxl:amd64
[HOLD, DEPENDENCIES] xserver-xorg-video-r128:amd64
[HOLD, DEPENDENCIES] xserver-xorg-video-radeon:amd64
[HOLD, DEPENDENCIES] xserver-xorg-video-savage:amd64
[HOLD, DEPENDENCIES] xserver-xorg-video-siliconmotion:amd64
[HOLD, DEPENDENCIES] xserver-xorg-video-sisusb:amd64
[HOLD, DEPENDENCIES] xserver-xorg-video-tdfx:amd64
[HOLD, DEPENDENCIES] xserver-xorg-video-trident:amd64
[HOLD, DEPENDENCIES] xserver-xorg-video-vesa:amd64
[HOLD, DEPENDENCIES] xserver-xorg-video-vmware:amd64
[HOLD] libgnutls-deb0-28:amd64
[HOLD] libgnutls-openssl27:amd64
[HOLD] wget:amd64

Log complete.

let’s see why not:

aptitude why-not libcurl3-gnutls; # ask aptitude why it's not installing this version of the package
Unable to find a reason to remove libcurl3-gnutls. # not very useful message

aptitude why-not xserver-xorg-core; # try next package, this is more interesting
i   task-desktop              Depends   xserver-xorg-video-all              
i A xserver-xorg-video-all    Depends   xserver-xorg-video-vmware           
p A xserver-xorg-video-vmware Depends   xserver-xorg-core (>= 2:
p A xserver-xorg-core         Conflicts xserver-xorg-video-modesetting      
p A xserver-xorg-core         Provides  xserver-xorg-video-modesetting 

now i have to go and aks myself… 😀

According to an article on debian-administration.org,

If the dependencies have changed on one of the packages you have installed so that a new package must be installed to perform the upgrade then that will be listed as „kept-back“.

That article says

sudo apt-get dist-upgrade

will force the installation of those newer packages.



will install all pending updates, with their new dependencies. If for some reason, you don’t want to do that, you should use

apt-get install package-name dependency-package-name


src: http://askubuntu.com/questions/601/the-following-packages-have-been-kept-back-why-and-how-do-i-solve-it

4. dist-upgrade

apt-get dist-upgrade; # no comment

will be upgraded:
  libcurl3-gnutls libgnutls-deb0-28 ....
26 upgraded, 0 newly installed, 3 to remove and 0 not upgraded.
Need to get 9,289 kB of archives.
After this operation, 561 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y

aptitude dist-upgrade; # no comment

The following packages will be upgraded: 
1 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 10.2 kB of archives. After unpacking 6,065 kB will be freed.
The following packages have unmet dependencies:
 musescore-soundfont-gm : Depends: timgm6mb-soundfont which is a virtual package.
The following actions will resolve these dependencies:

     Remove the following packages:
1)     musescore-soundfont-gm      

Accept this solution? [Y/n/q/?] Y

test again:

aptitude upgrade;
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B of archives. After unpacking 0 B will be used.

now your update should be up to date and you should try a

5. reboot

reboot; # fastest way to restart your system and kill all processes without saving files