J'ai commencé une mise à niveau de mon système Kubuntu 12.04 avec cette commande, comme d'habitude:
sudo apt-get --show-upgraded dist-upgrade
Je suis revenu plus tard et il avait échoué:
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)
voici le problème: $ df -h sortie:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 894M 879M 0 100% /boot
supprimez manuellement les fichiers plus anciens et maintenant de l'espace est libre
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 894M 129M 717M 16% /boot
Je l'ai couru ensuite:
sudo apt-get autoremove
Prochain:
sudo apt-get -f install
production:
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
ce qui précède échoue
dpkg -l initramfs-tools
production:
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
production:
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)
Voici la sortie de 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
Comme suggéré ci-dessous, voici mes prochaines étapes:
$ 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)
Ensuite, j'ai essayé la suggestion de Giles:
sudo dpkg --configure -a --force-depends
sudo apt-get install -f
sudo apt-get dist-upgrade
apt-cache policy initramfs-tools-bin initramfs-tools
apt-get install initramfs-tools=0.99ubuntu13.4
initramfs-tools
paquet ou dans la façon dont dpkg les gère. Je pense que votre système n'est pas censé entrer dans cet état où le nouveauinitramfs-tools-bin
est marqué comme installé mais l'ancieninitramfs-tools
est toujours là. Çadpkg --configure -a --force-depends
aide?sudo apt-get check
etdpkg --audit
?Réponses:
Votre système est dans un état qui, je pense, ne devrait pas se produire: vous avez la nouvelle version de la dépendance
initramfs-tools-bin
à l'état installé, mais l'ancienne version de la dépendanceinitramfs-tools
à l'état semi-installé. Je ne sais pas si le problème est qu'APT laisse le système entrer dans un état où il ne peut pas récupérer, dpkg laisse le système entrer dans un état où il ne peut pas récupérer, le mainteneur du paquet a utilisé une combinaison de dépendances qui n'est pas pris en charge, ou ma compréhension limitée ne couvre pas ce cas.Essayez d'utiliser
dpkg
directement:Si cela continue de vous plaindre des dépendances, essayez
Si cela fonctionne, vous avez la base de données dpkg dans un état cohérent. Vous devez obtenir APT dans un bon état (ce qui ne nécessite aucune dépendance cassée):
Après cela, vous pouvez reprendre la mise à niveau normale.
Si votre purge
/boot
supprimait d'anciens noyaux qui se trouvaient dans des packages, vous ne pourrez plus supprimer les packages du noyau. Vous devrez recréer les fichiers. Vous pouvez créer des fichiers vides (touch `cat /var/lib/dpkg/info/linux-image-1.2.3-foo`
) si vous supprimez lelinux-image-1.2.3-foo
package et que vous avez supprimé manuellement certains de ses fichiers.la source
Cela signifie que vous devez supprimer certains noyaux. Les noyaux anciens et inutilisés sont la meilleure alternative.
NON!
Vous ne devez jamais rien supprimer manuellement. Déjà. Seulement des choses à partir
/home
et/tmp
qui peut être facilement récupérable peut me touché à la main, sinon utiliser les outils. C'est le point d'avoir DPKG / APT à votre service. Si vous devez supprimer quelque chose, utilisez plutôt apt / dpkg et laissez les choses à la main comme dernière alternative. Je suppose que votre problème actuel est dû à cela.Pour résoudre le problème de dépendance, vous pouvez rétrograder, puis mettre à niveau:
À ce stade, vous auriez dû dire à dpkg / apt de supprimer également les anciens noyaux.
la source