Come posso risolvere la dipendenza 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)

Ho provato molto e non riesco a farlo funzionare. Penso di aver interrotto un'installazione e ha rovinato tutto. Ho cercato su Google e provato varie soluzioni.

EDIT (dopo aver pulito la mia cartella / 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$

1
perché si assume un problema con le dipendenze dei pacchetti quando viene indicato l'errore gzip: stdout: No space left on device? Mi sembra che le dipendenze NON siano installate perché ti manca lo spazio per installare il software.
Rinzwind,

Si prega di aggiungere i risultati di df. Immagino che la tua /bootpartizione sia piena.
Rinzwind,

Grazie :). Sto pulendo la mia cartella / boot ma ho di nuovo lo stesso errore (ho modificato il mio primo post con errore di codice), grazie in anticipo e scusa per il mio inglese scadente
zlounes

"Pulendo la mia cartella di avvio", vuoi dire che hai eliminato i file in quella cartella? Probabilmente non ti piaceranno i risultati.
Jack,

No va bene, ho selezionato il file;)
zlounes,

Risposte:


65

Un buon tentativo per assicurarsi che il sistema sia in buone condizioni e che non abbia problemi con l'installazione interrotta è invocare

  dpkg --configure -a 

Assicurarsi che l'elenco dei pacchetti sia aggiornato e che nessun problema sia mostrato su:

 apt-get update

Opzionale è possibile rimuovere tutti i vecchi dati prima dell'aggiornamento con:

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

Il prossimo passo per risolvere il problema è rimuovere il pacchetto linux-server per un po '. Questo può essere fatto perché non ha contenuti reali e introduce solo una dipendenza:

Questo pacchetto dipenderà sempre dall'ultimo kernel Linux completo disponibile per Server Equipment.

 dpkg --remove linux-server

Dopo questo passaggio, verifica che tutte le dipendenze correnti siano installate:

apt-get install -f

Se tutto è ok ora puoi installare di nuovo linux-server :

apt-get install linux-server

postscriptum

linux-server è obsoleto in 12.04 . Anche per le apparecchiature server viene utilizzato il kernel generico. Vedereapt-cache show linux-image-server

Pacchetto: linux-image-server ...

Sezione: metapacchetti

....

Dipende da: linux-image-3.2.0-23- generico , firmware linux


Grazie mille. Pensavo che avrei trascorso una giornata a reinstallare il server ..
Annulla il

8

Devo regolarmente ripulire / boot delle mie macchine e di solito essere troppo pieno interrompe l'aggiornamento - non sono sicuro di quale sia la soluzione definitiva, ma il processo che uso sembra funzionare:

Inizia con a sudo su

Quindi vai su / boot e fai un ls -lSrh- quelli in fondo sono i più grandi - rmabbastanza di quelli più vecchi per liberare abbastanza spazio.

Quindi provare quanto segue (come estratto in qualche modo dall'alto):

  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

Se qualcosa non riesce, fai un commento qui e vedrò quale potrebbe essere il problema.

Ho visto questo genere di cose funzionare con i problemi del pacchetto postgresql-9.1 anche usando PPA Pitti.

Una volta quando ho eseguito la procedura ho avuto un problema con grub. Fare una apt-get install --reinstall grubriparazione.

Grazie per la fodera va a: http://ubuntuforums.org/showpost.php?p=12180959&postcount=7

In bocca al lupo!


Il passaggio 6 sembra essere stato tagliato: dpkg --get-selections | grep 'linux-image *' | awk '{print $ 1}' | egrep -v "linux-image - $ (uname -r) | linux-image -generic "| mentre leggi n; fai apt-get -y rimuovi $ n; fatto
Tom Swifty

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.