Iniciei uma atualização do meu sistema Kubuntu 12.04 com este comando, como de costume:
sudo apt-get --show-upgraded dist-upgrade
Voltei mais tarde e falhou:
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)
aqui está o problema: $ df -h output:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 894M 879M 0 100% /boot
arquivos antigos excluídos manualmente e agora há espaço livre
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 894M 129M 717M 16% /boot
Eu executei o seguinte:
sudo apt-get autoremove
Próximo:
sudo apt-get -f install
resultado:
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
o acima falhar
dpkg -l initramfs-tools
resultado:
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
resultado:
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)
Aqui está a saída 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 sugerido abaixo, aqui estão os meus próximos passos:
$ 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)
Em seguida, tentei a sugestão 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
pacote ou em como o dpkg as gerencia. Acho que seu sistema não deve entrar nesse estado em que o novoinitramfs-tools-bin
está marcado como instalado, mas o antigoinitramfs-tools
ainda está lá. Será quedpkg --configure -a --force-depends
ajuda?sudo apt-get check
edpkg --audit
?Respostas:
Seu sistema está em um estado que acho que não deveria acontecer: você tem a nova versão da dependência
initramfs-tools-bin
no estado instalado, mas a versão antiga da dependênciainitramfs-tools
em um estado semi-instalado. Não tenho certeza se o problema é que o APT está deixando o sistema entrar em um estado em que não pode se recuperar, o dpkg está deixando o sistema entrar em um estado em que não pode se recuperar, o mantenedor do pacote usou uma combinação de dependências que não é suportado ou meu entendimento limitado não cobre este caso.Tente usar
dpkg
diretamente:Se isso ainda reclamar de dependências, tente
Se isso funcionar, você possui o banco de dados dpkg em um estado consistente. Você precisa obter o APT em bom estado (que não requer dependências quebradas):
Depois disso, você pode retomar a atualização normal.
Se
/boot
você eliminou os kernels antigos que estavam nos pacotes, você não poderá mais remover os pacotes do kernel. Você terá que recriar os arquivos. Você pode criar arquivos vazios (touch `cat /var/lib/dpkg/info/linux-image-1.2.3-foo`
) se estiver removendo olinux-image-1.2.3-foo
pacote e removeu manualmente alguns dos seus arquivos.fonte
Isso significa que você precisa remover alguns kernels. Kernels antigos e não utilizados são a melhor alternativa.
NÃO!
Você nunca deve remover nada manualmente. Sempre. Somente itens
/home
e/tmp
que podem ser facilmente recuperáveis podem ser tocados manualmente, caso contrário, use as ferramentas. Esse é o ponto de ter o DPKG / APT ao seu serviço. Se você precisar remover algo, use o apt / dpkg e deixe as coisas feitas à mão como última alternativa. Presumo que seu problema atual seja por causa disso.Para resolver o problema de dependência, você pode fazer o downgrade e atualizar:
Nesse ponto, você deveria ter dito ao dpkg / apt para remover também os kernels antigos.
fonte