dpkg: Abhängigkeitsprobleme verhindern die Konfiguration von initramfs-tools

10

Ich habe mit diesem Befehl wie gewohnt ein Upgrade meines Kubuntu 12.04-Systems gestartet:

sudo apt-get --show-upgraded dist-upgrade

Ich kam später zurück und es war gescheitert:

Preconfiguring packages ...
(Reading database ... 478306 files and directories currently installed.)
Preparing to replace  ...
Unpacking replacement base-files ...
Processing triggers for man-db ...
Processing triggers for install-info ...
...
Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-3.8.0-32-lowlatency

gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-3.8.0-32-lowlatency with 1.
dpkg: error processing initramfs-tools (--unpack):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)

Hier ist das Problem: $ df -h Ausgabe:

Filesystem                    Size  Used Avail Use% Mounted on
/dev/sda1                     894M  879M     0 100% /boot

ältere Dateien manuell gelöscht und jetzt ist etwas Speicherplatz frei

Filesystem                    Size  Used Avail Use% Mounted on
/dev/sda1                     894M  129M  717M  16% /boot

Ich lief das nächste:

sudo apt-get autoremove

Nächster:

sudo apt-get -f install Ausgabe:

The following extra packages will be installed:
  initramfs-tools
The following packages will be upgraded:
  initramfs-tools

dpkg: dependency problems prevent configuration of initramfs-tools:
 initramfs-tools depends on initramfs-tools-bin (<< 0.99ubuntu13.3.1~); however:
  Version of initramfs-tools-bin on system is 0.99ubuntu13.4.
dpkg: error processing initramfs-tools (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
                         Errors were encountered while processing:
 initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)

sudo apt-get install initramfs-tools
das obige schlägt fehl

dpkg -l initramfs-tools Ausgabe:

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version        Description
+++-==============-==============-============================================
iF  initramfs-tool 0.99ubuntu13.3 tools for generating an initramfs

sudo apt-get install --reinstall initramfs-tools Ausgabe:

The following packages will be upgraded:
  initramfs-tools
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
Need to get 0 B/49.2 kB of archives.
After this operation, 0 B of additional disk space will be used.
dpkg: dependency problems prevent configuration of initramfs-tools:
 initramfs-tools depends on initramfs-tools-bin (<< 0.99ubuntu13.3.1~); however:
  Version of initramfs-tools-bin on system is 0.99ubuntu13.4.
dpkg: error processing initramfs-tools (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
                         Errors were encountered while processing:
 initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)

Hier ist die Ausgabe von apt-cache policy initramfs-tools-bin initramfs-tools:

initramfs-tools-bin:
  Installed: 0.99ubuntu13.4
  Candidate: 0.99ubuntu13.4
  Version table:
 *** 0.99ubuntu13.4 0
        500 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
        100 /var/lib/dpkg/status
     0.99ubuntu13 0
        500 http://us.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
initramfs-tools:
  Installed: 0.99ubuntu13.3
  Candidate: 0.99ubuntu13.4
  Version table:
     0.99ubuntu13.4 0
        500 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
 *** 0.99ubuntu13.3 0
        100 /var/lib/dpkg/status
     0.99ubuntu13 0
        500 http://us.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages

Wie unten vorgeschlagen, sind hier meine nächsten Schritte:

$ sudo apt-get update
$ sudo apt-get -f install initramfs-tools=0.99ubuntu13 initramfs-tools-bin=0.99ubuntu13

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  ...
Use 'apt-get autoremove' to remove them.
The following packages will be DOWNGRADED:
  initramfs-tools initramfs-tools-bin
0 upgraded, 0 newly installed, 2 downgraded, 0 to remove and 4 not upgraded.
1 not fully installed or removed.
Need to get 59.2 kB of archives.
After this operation, 2,048 B disk space will be freed.
Do you want to continue [Y/n]? 
Get:1 http://us.archive.ubuntu.com/ubuntu/ precise/main initramfs-tools all 0.99ubuntu13 [49.2 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu/ precise/main initramfs-tools-bin amd64 0.99ubuntu13 [9,988 B]
Fetched 59.2 kB in 0s (124 kB/s)            
dpkg: warning: downgrading initramfs-tools-bin from 0.99ubuntu13.4 to 0.99ubuntu13.
(Reading database ... 478624 files and directories currently installed.)
Preparing to replace initramfs-tools-bin 0.99ubuntu13.4 (using .../initramfs-tools-bin_0.99ubuntu13_amd64.deb) ...
Unpacking replacement initramfs-tools-bin ...
Setting up initramfs-tools-bin (0.99ubuntu13) ...
dpkg: dependency problems prevent configuration of initramfs-tools:
 initramfs-tools depends on initramfs-tools-bin (>= 0.99ubuntu13.3); however:
  Version of initramfs-tools-bin on system is 0.99ubuntu13.
dpkg: error processing initramfs-tools (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
                         Errors were encountered while processing:
 initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)

Als nächstes versuchte ich Giles 'Vorschlag:

sudo dpkg --configure -a --force-depends
sudo apt-get install -f
sudo apt-get dist-upgrade
MountainX
quelle
Ich bin ein bisschen verwirrt. Bitte poste die Ausgabe vonapt-cache policy initramfs-tools-bin initramfs-tools
Gilles 'SO- hör auf böse zu sein'
@ Gilles - danke fürs anschauen. Ich habe die Frage mit diesen Informationen aktualisiert.
MountainX
Versuchen Sie, die Version manuell anzugeben:apt-get install initramfs-tools=0.99ubuntu13.4
Jordan
Hmmm, das sieht nach einem Fehler aus, entweder in den Abhängigkeiten des initramfs-toolsPakets oder in der Art und Weise, wie dpkg sie verwaltet. Ich denke, Ihr System sollte nicht in den Zustand geraten, in dem das Neue initramfs-tools-binals installiert markiert ist, aber das Alte initramfs-toolsnoch vorhanden ist. Hilft das dpkg --configure -a --force-depends?
Gilles 'SO - hör auf böse zu sein'
Was ist die Ausgabe von sudo apt-get checkund dpkg --audit?
Braiam

Antworten:

26

Ihr System befindet sich in einem Zustand, von dem ich denke, dass er nicht passieren sollte: Sie haben die neue Version der Abhängigkeit initramfs-tools-binim installierten Zustand, aber die alte Version der Abhängigkeit initramfs-toolsin einem halb installierten Zustand. Ich bin nicht sicher, ob das Problem darin besteht, dass APT das System in einen Zustand versetzt, in dem es nicht wiederhergestellt werden kann. Dpkg lässt das System in einen Zustand übergehen, in dem es nicht wiederhergestellt werden kann. Der Paketbetreuer hat eine Kombination von Abhängigkeiten verwendet was nicht unterstützt wird oder mein begrenztes Verständnis diesen Fall nicht abdeckt.

Versuchen Sie es dpkgdirekt mit:

dpkg --configure -a

Wenn sich dies immer noch über Abhängigkeiten beschwert, versuchen Sie es

dpkg --configure -a --force-depends

Wenn dies funktioniert, haben Sie die dpkg-Datenbank in einem konsistenten Zustand. Sie müssen APT in einen guten Zustand bringen (der keine unterbrochenen Abhängigkeiten erfordert):

apt-get -f install

Danach können Sie das normale Upgrade fortsetzen.


Wenn Sie /bootbeim Löschen alte Kernel gelöscht haben, die sich in Paketen befanden, können Sie die Kernel-Pakete nicht mehr entfernen. Sie müssen die Dateien neu erstellen. Sie können leere Dateien ( touch `cat /var/lib/dpkg/info/linux-image-1.2.3-foo`) erstellen, wenn Sie das linux-image-1.2.3-fooPaket entfernen und einige seiner Dateien manuell entfernen.

Gilles 'SO - hör auf böse zu sein'
quelle
1
Danke vielmals !!! dpkg mit --force-abhängigen macht den Unterschied und dann hat das
Reparieren
2
update-initramfs: Generating /boot/initrd.img-3.8.0-32-lowlatency

gzip: stdout: No space left on device

Dies bedeutet, dass Sie einige Kernel entfernen müssen. Alte, unbenutzte Kernel sind die beste Alternative.

sudo dpkg --purge linux-generic-someold-version

ältere Dateien manuell gelöscht und jetzt ist etwas Speicherplatz frei

NEIN!

Sie sollten niemals etwas manuell entfernen. Je. Nur Sachen von /homeund /tmpdie möglicherweise leicht wiederherstellbar sind, können von Hand berührt werden, ansonsten benutze ich die Werkzeuge. Das ist der Punkt, an dem DPKG / APT zu Ihren Diensten gehört. Wenn Sie etwas entfernen müssen, verwenden Sie stattdessen apt / dpkg und lassen Sie die Dinge als letzte Alternative von Hand erledigen. Ich gehe davon aus, dass Ihr aktuelles Problem darauf zurückzuführen ist.


Um das Abhängigkeitsproblem zu lösen, können Sie ein Downgrade durchführen und anschließend ein Upgrade durchführen:

sudo apt-get update
sudo apt-get -f install initramfs-tools=0.99ubuntu13 initramfs-tools-bin=0.99ubuntu13
sudo apt-get upgrade

Zu diesem Zeitpunkt sollten Sie dpkg / apt angewiesen haben, auch die alten Kernel zu entfernen.

Braiam
quelle
Ich habe Ihren Vorschlag ausprobiert. Es schlägt auch fehl. Ich habe meine Frage mit der Ausgabe aktualisiert.
MountainX