¿Cómo puedo resolver la dependencia dpkg?

32
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)

He intentado mucho y no puedo hacer que esto funcione. Creo que interrumpí una instalación y simplemente lo arruinó todo. Busqué en Google y probé varias soluciones.

EDITAR (después de limpiar mi carpeta / boot):

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$
zlounes
fuente
1
¿Por qué supone un problema con las dependencias del paquete cuando el error indica gzip: stdout: No space left on device? Me parece que las dependencias NO están instaladas porque no tienes espacio para instalar el software.
Rinzwind
Por favor agregue los resultados de df. Supongo que tu /bootpartición está llena.
Rinzwind
Gracias :). He limpiado mi carpeta / boot pero nuevamente tengo el mismo error (he editado mi primera publicación con un error de código), gracias de antemano y perdón por mi pobre inglés
zlounes
Al "limpiar mi carpeta de arranque", ¿quiere decir que eliminó los archivos de esa carpeta? Probablemente no le gusten los resultados de hacer eso.
Jack
No, es bueno, he seleccionado el archivo;)
zlounes

Respuestas:

65

Un buen intento para asegurarse de que su sistema esté en buen estado y no tenga problemas con la instalación abortada es invocar

  dpkg --configure -a 

Asegúrese de que la lista de paquetes esté actualizada y no se muestre ningún problema en:

 apt-get update

Opcional, puede eliminar todos los datos anteriores antes de la actualización con:

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

El siguiente paso para resolver el problema es eliminar el paquete linux-server por un tiempo. Esto se puede hacer porque no tiene contenido real y solo introduce una dependencia:

Este paquete siempre dependerá del último núcleo completo de Linux disponible para el equipo del servidor.

 dpkg --remove linux-server

Después de este paso, compruebe que todas las dependencias actuales estén instaladas:

apt-get install -f

Si todo está bien, ahora puede instalar linux-server nuevamente:

apt-get install linux-server

Postscriptum

Linux Server está en desuso en 12.04 . También para el equipo del servidor se usa el núcleo genérico. Verapt-cache show linux-image-server

Paquete: linux-image-server ...

Sección: metapaquetes

....

Depende: linux-image-3.2.0-23- genérico , linux-firmware

H.-Dirk Schmitt
fuente
Muchas gracias. Pensé que iba a pasar un día reinstalando el servidor ..
Desbloquear
8

Regularmente tengo que limpiar / arrancar mis máquinas y, por lo general, estar demasiado lleno interrumpe la actualización; no estoy seguro de cuál es la solución definitiva, pero el proceso que uso parece funcionar:

Comience con un sudo su

Luego vaya a / boot y haga un ls -lSrh- los que están en la parte inferior son los más grandes - lo rmsuficiente de los más antiguos para despejar suficiente espacio.

A continuación, intente lo siguiente (como se extrajo un poco de lo anterior):

  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

Si algo falla, haga un comentario aquí y veré cuál podría ser el problema.

He visto que este tipo de cosas funcionan para los problemas del paquete postgresql-9.1 al usar también el pitti PPA.

Una vez, cuando ejecuté el procedimiento, tuve un problema con grub. Haciendo un apt-get install --reinstall grubreparado.

Gracias por el único trazador de líneas va a: http://ubuntuforums.org/showpost.php?p=12180959&postcount=7

¡Buena suerte!

Christian Jensen
fuente
Parece que el paso 6 se cortó: dpkg --get-selections | grep 'linux-image *' | awk '{print $ 1}' | egrep -v "linux-image - $ (uname -r) | linux-image -generic "| mientras lee n; do apt-get -y remove $ n; done
Tom Swifty
0

gzip: stdout: no queda espacio en el dispositivo

Parece que te quedas sin espacio. Libere espacio y solucione los problemas del paquete:

sudo apt-get purge
sudo apt-get clean
sudo apt-get check
sudo apt-get install -f
sudo dpkg --configure -a 

Luego reinstale los paquetes nuevamente.

Fuente: Tema: Dpkg: Problemas de dependencia - dejar sin configurar .

kenorb
fuente