How can I Resolve dpkg dependency?

206,482

Solution 1

A good try to ensure that you system is in a good shape and not has problems with aborted installation is to invoke

  dpkg --configure -a 

Ensure that the package list are updated and no problem is shown on:

 apt-get update

Optional you can remove all old data before the update with:

 find /var/lib/apt/lists -type f  |xargs rm -f >/dev/null \

Next step to resolve the problem is to remove the linux-server package for a while. This can be done because it has no real content and only introduce a dependency:

This package will always depend on the latest complete Linux kernel available for Server Equipment.

 dpkg --remove linux-server

After this step check that all current dependencies are installed:

apt-get install -f

If everything is o.k. you can now install linux-server again:

apt-get install linux-server

Postscriptum

linux-server is deprecated in 12.04. Also for server equipment the generic kernel is used. See apt-cache show linux-image-server

Package: linux-image-server...

Section: metapackages

....

Depends: linux-image-3.2.0-23-generic, linux-firmware

Solution 2

I am regularly having to clean out the /boot of my machines and usually being too full breaks the update - not sure what the ultimate solution is but the process I use seems to work:

Start off with a sudo su

Then go to /boot and do a ls -lSrh - the ones at the bottom are the biggest - rm enough of the older ones to clear up enough space.

Then try the following (as excerpted somewhat from above):

  1. sudo apt-get remove linux-server
  2. dpkg --configure -a
  3. apt-get update
  4. apt-get install -f
  5. apt-get autoremove
  6. dpkg --get-selections|grep 'linux-image*'|awk '{print $1}'|egrep -v "linux-image-$(uname -r)|linux-image-generic" |while read n;done
  7. apt-get install linux-image-server linux-server
  8. reboot

If anything fails, make a comment here and I will see what the issue might be.

I have seen this sort of thing work for the postgresql-9.1 package issues when using the pitti PPA as well.

One time when I ran the procedure I had a problem with grub. Doing a apt-get install --reinstall grub fixed it.

Thanks for the one liner goes to: http://ubuntuforums.org/showpost.php?p=12180959&postcount=7

Good luck!

Share:
206,482

Related videos on Youtube

zlounes
Author by

zlounes

Updated on September 18, 2022

Comments

  • zlounes
    zlounes almost 2 years
    administrator@zlounes:~$ sudo apt-get dist-upgrade
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    You might want to run 'apt-get -f install' to correct these.
    The following packages have unmet dependencies:
     linux-server : Depends: linux-headers-server (= 3.2.0.37.44) but 3.2.0.37.45 is installed
    E: Unmet dependencies. Try using -f.
    administrator@zlounes:~$ sudo apt-get -f install
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    Correcting dependencies... Done
    The following extra packages will be installed:
      linux-image-server linux-server
    The following packages will be upgraded:
      linux-image-server linux-server
    2 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.
    4 not fully installed or removed.
    Need to get 0 B/4,458 B of archives.
    After this operation, 0 B of additional disk space will be used.
    Do you want to continue [Y/n]? y
    Traceback (most recent call last):
      File "/usr/bin/apt-listchanges", line 237, in <module>
        main()
      File "/usr/bin/apt-listchanges", line 48, in main
        debs = apt_listchanges.read_apt_pipeline(config)
      File "/usr/share/apt-listchanges/apt_listchanges.py", line 83, in read_apt_pipeline
        return map(lambda pkg: filenames[pkg], order)
      File "/usr/share/apt-listchanges/apt_listchanges.py", line 83, in <lambda>
        return map(lambda pkg: filenames[pkg], order)
    KeyError: 'linux-image-server'
    Setting up initramfs-tools (0.99ubuntu13.1) ...
    update-initramfs: deferring update (trigger activated)
    Setting up linux-image-3.2.0-37-generic (3.2.0-37.58) ...
    Running depmod.
    update-initramfs: deferring update (hook will be called later)
    The link /initrd.img is a dangling linkto /boot/initrd.img-3.2.0-37-generic
    Examining /etc/kernel/postinst.d.
    run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.2.0-37-generic /boot/vmlinuz-3.2.0-37-generic
    update-initramfs: Generating /boot/initrd.img-3.2.0-37-generic
    
    gzip: stdout: No space left on device
    E: mkinitramfs failure cpio 141 gzip 1
    update-initramfs: failed for /boot/initrd.img-3.2.0-37-generic with 1.
    run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
    Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-3.2.0-37-generic.postinst line 1010.
    dpkg: error processing linux-image-3.2.0-37-generic (--configure):
     subprocess installed post-installation script returned error exit status 2
    dpkg: dependency problems prevent configuration of linux-image-server:
     linux-image-server depends on linux-image-3.2.0-37-generic; however:
      Package linux-image-3.2.0-37-generic is not configured yet.
    dpkg: error processing linux-image-server (--configure):
     dependency problems - leaving unconfigured
    dpkg: dependency problems prevent configuration of linux-server:
     linux-server depends on linux-image-server (= 3.2.0.37.44); however:
      Package linux-image-server is not configured yet.
     linux-server depends on linux-headers-server (= 3.2.0.37.44); however:
      Version of linux-headers-server on system is 3.2.0.37.45.
    dpkg: error processing linux-server (--configure):
     dependency problems - leaving unconfigured
    Processing triggers for initramfs-tools ...
    update-initramfs: Generating /boot/initrd.img-3.2.0-36-generic
    No apport report written because the error message indicates its a followup error from a previous failure.
                                                                                                              No apport report written because the error message indicates its a followup error from a previous failure.
    
    gzip: stdout: No space left on device
    E: mkinitramfs failure cpio 141 gzip 1
    update-initramfs: failed for /boot/initrd.img-3.2.0-36-generic with 1.
    dpkg: error processing initramfs-tools (--configure):
     subprocess installed post-installation script returned error exit status 1
    No apport report written because MaxReports is reached already
                                                                  Errors were encountered while processing:
     linux-image-3.2.0-37-generic
     linux-image-server
     linux-server
     initramfs-tools
    E: Sub-process /usr/bin/dpkg returned an error code (1)
    

    I've tried a lot and can't get this working. I think I interrupted an install and it just screwed it all up. I've googled and tried various fixes.

    EDIT (After cleaning my /boot folder) :

    administrator@zlounes:/boot$ sudo apt-get -f install
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    Correcting dependencies... Done
    The following extra packages will be installed:
      linux-server
    The following packages will be upgraded:
      linux-server
    1 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.
    1 not fully installed or removed.
    Need to get 0 B/1,734 B of archives.
    After this operation, 0 B of additional disk space will be used.
    Do you want to continue [Y/n]? y
    Traceback (most recent call last):
      File "/usr/bin/apt-listchanges", line 237, in <module>
        main()
      File "/usr/bin/apt-listchanges", line 48, in main
        debs = apt_listchanges.read_apt_pipeline(config)
      File "/usr/share/apt-listchanges/apt_listchanges.py", line 83, in read_apt_pipeline
        return map(lambda pkg: filenames[pkg], order)
      File "/usr/share/apt-listchanges/apt_listchanges.py", line 83, in <lambda>
        return map(lambda pkg: filenames[pkg], order)
    KeyError: 'linux-server'
    dpkg: dependency problems prevent configuration of linux-server:
     linux-server depends on linux-image-server (= 3.2.0.37.44); however:
      Version of linux-image-server on system is 3.2.0.37.45.
     linux-server depends on linux-headers-server (= 3.2.0.37.44); however:
      Version of linux-headers-server on system is 3.2.0.37.45.
    dpkg: error processing linux-server (--configure):
     dependency problems - leaving unconfigured
    No apport report written because the error message indicates its a followup error from a previous failure.
                                                                                                              E: Sub-process /usr/bin/dpkg returned an error code (1)
    administrator@zlounes:/boot$
    
  • uncletall
    uncletall over 10 years
    Thank you very much. I thought I would be spending a day re-installing the server..
  • Tom Swifty
    Tom Swifty over 9 years
    Step 6 seems like it got cut off: dpkg --get-selections|grep 'linux-image*'|awk '{print $1}'|egrep -v "linux-image-$(uname -r)|linux-image-generic" |while read n;do apt-get -y remove $n;done