Comencé una actualización de mi sistema Kubuntu 12.04 con este comando, como de costumbre:
sudo apt-get --show-upgraded dist-upgrade
Regresé más tarde y había fallado:
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)
Aquí está el problema: $ df -h salida:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 894M 879M 0 100% /boot
archivos antiguos eliminados manualmente y ahora hay espacio libre
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 894M 129M 717M 16% /boot
Corrí esto a continuación:
sudo apt-get autoremove
Próximo:
sudo apt-get -f install
salida:
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
lo anterior falla
dpkg -l initramfs-tools
salida:
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
salida:
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)
Aquí está la salida 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
Como se sugiere a continuación, estos son mis próximos pasos:
$ 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)
Luego probé la sugerencia 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
paquete o en cómo dpkg las maneja. Creo que su sistema no debe entrar en este estado donde lo nuevoinitramfs-tools-bin
está marcado como instalado, pero el viejoinitramfs-tools
todavía está allí. Ciervasdpkg --configure -a --force-depends
ayuda?sudo apt-get check
ydpkg --audit
?Respuestas:
Su sistema está en un estado que creo que no debería suceder: tiene la nueva versión de la dependencia
initramfs-tools-bin
en el estado instalado, pero la versión anterior de la dependenciainitramfs-tools
en un estado medio instalado. No estoy seguro de si el problema es que APT está permitiendo que el sistema ingrese a un estado en el que no se puede recuperar, dpkg está permitiendo que el sistema ingrese a un estado en el que no se puede recuperar, el responsable del paquete utilizó una combinación de dependencias que no es compatible, o mi comprensión limitada no cubre este caso.Intenta usar
dpkg
directamente:Si esto todavía se queja de dependencias, intente
Si esto funciona, tiene la base de datos dpkg en un estado coherente. Debe obtener APT en buen estado (que no requiere dependencias rotas):
Después de esto, puede reanudar la actualización normal.
Si su purga de
/boot
estaba eliminando núcleos antiguos que estaban en paquetes, ya no podrá eliminar los paquetes del núcleo. Tendrás que recrear los archivos. Puede crear archivos vacíos (touch `cat /var/lib/dpkg/info/linux-image-1.2.3-foo`
) si está eliminando ellinux-image-1.2.3-foo
paquete y eliminó manualmente algunos de sus archivos.fuente
Esto significa que necesita eliminar algunos núcleos. Los granos viejos y sin usar son la mejor alternativa.
¡NO!
Nunca debe eliminar nada manualmente. Siempre. Solo las cosas de
/home
y/tmp
que pueden ser fácilmente recuperables pueden ser tocadas a mano, de lo contrario usar las herramientas. Ese es el punto de tener DPKG / APT a su servicio. Si necesita eliminar algo, use apt / dpkg en su lugar y deje las cosas hechas a mano como última alternativa. Supongo que su problema actual se debe a esto.Para resolver el problema de dependencia, puede degradar y luego actualizar:
En este punto, debería haberle dicho a dpkg / apt que también elimine los núcleos antiguos.
fuente