Como evitar a atualização do pacote linux-firmware criando arquivos initrd.img? [duplicado]

3

No Ubuntu 14.04 LTS, toda tentativa de atualizar meu pacote linux-firmware está preenchendo meu / boot / ponto de montagem com arquivos nomeados como initrd.img-3.13.0-*-generic , impedindo a atualização bem-sucedida.

kgrittn@Kevin-Desktop:~$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] 
Setting up linux-firmware (1.127.23) ...
update-initramfs: Generating /boot/initrd.img-3.13.0-106-generic
update-initramfs: Generating /boot/initrd.img-3.13.0-105-generic
update-initramfs: Generating /boot/initrd.img-3.13.0-103-generic
update-initramfs: Generating /boot/initrd.img-3.13.0-101-generic
update-initramfs: Generating /boot/initrd.img-3.13.0-100-generic
update-initramfs: Generating /boot/initrd.img-3.13.0-98-generic
grep: /boot/config-3.13.0-98-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-96-generic
grep: /boot/config-3.13.0-96-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-95-generic
grep: /boot/config-3.13.0-95-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-93-generic
grep: /boot/config-3.13.0-93-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-92-generic
grep: /boot/config-3.13.0-92-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-91-generic
grep: /boot/config-3.13.0-91-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-88-generic
grep: /boot/config-3.13.0-88-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-87-generic
grep: /boot/config-3.13.0-87-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-86-generic
grep: /boot/config-3.13.0-86-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-85-generic
grep: /boot/config-3.13.0-85-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-83-generic
grep: /boot/config-3.13.0-83-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-79-generic
grep: /boot/config-3.13.0-79-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-77-generic
grep: /boot/config-3.13.0-77-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-76-generic
grep: /boot/config-3.13.0-76-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-74-generic
grep: /boot/config-3.13.0-74-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-73-generic
grep: /boot/config-3.13.0-73-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-71-generic
grep: /boot/config-3.13.0-71-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-70-generic
grep: /boot/config-3.13.0-70-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-68-generic
grep: /boot/config-3.13.0-68-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-67-generic
grep: /boot/config-3.13.0-67-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-66-generic
grep: /boot/config-3.13.0-66-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-65-generic
grep: /boot/config-3.13.0-65-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-63-generic
grep: /boot/config-3.13.0-63-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-62-generic
grep: /boot/config-3.13.0-62-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-61-generic
grep: /boot/config-3.13.0-61-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-59-generic
grep: /boot/config-3.13.0-59-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-58-generic
grep: /boot/config-3.13.0-58-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-57-generic
grep: /boot/config-3.13.0-57-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-55-generic
grep: /boot/config-3.13.0-55-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-53-generic
grep: /boot/config-3.13.0-53-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-52-generic
grep: /boot/config-3.13.0-52-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-51-generic
grep: /boot/config-3.13.0-51-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-49-generic
grep: /boot/config-3.13.0-49-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-48-generic
grep: /boot/config-3.13.0-48-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-46-generic
grep: /boot/config-3.13.0-46-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-45-generic
grep: /boot/config-3.13.0-45-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-44-generic
grep: /boot/config-3.13.0-44-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-43-generic
grep: /boot/config-3.13.0-43-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-40-generic
grep: /boot/config-3.13.0-40-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-39-generic
grep: /boot/config-3.13.0-39-generic: No such file or directory
update-initramfs: Generating /boot/initrd.img-3.13.0-37-generic
grep: /boot/config-3.13.0-37-generic: No such file or directory

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

Os arquivos têm cerca de 19MB cada.

Inicialmente, ele só chegou a initrd.img-3.13.0-51-generic e falhou, eu removi algumas versões antigas do kernel e agora chega a initrd.img-3.13.0-39-generic antes de falhar. Não me sinto à vontade para remover mais versões sem ter certeza de que liberar uma quantidade específica de espaço permitirá o sucesso.

NOTA: (Eu colocaria isso como uma resposta, exceto que a pergunta está bloqueada de uma maneira que a impede.)

Nunca exclua versões antigas do sistema operacional do diretório /boot/ , apesar de conselhos que você possa encontrar em outro lugar para fazer isso. Isso pode funcionar por anos (ou décadas) e, de repente, causar o problema descrito acima. Cada versão do sistema operacional, esteja ou não em uso, tem um ou mais pacotes relacionados, e isso pode causar o problema descrito aqui (ou outros problemas também ???).

Eu só vi isso em uma atualização do pacote linux-firmware , mas não tenho como saber quais outras operações de manutenção de pacotes podem se sentir livres para recriar arquivos de inicialização que você excluiu - deixando você sem espaço . Eu suspeito que criar imagens de inicialização incompletas em tal situação é considerado um "recurso", embora eu ache que é uma escolha ruim de design. Uma mensagem mencionando um nome de pacote e o fato de que os arquivos requeridos pelo pacote estão faltando seria ótimo, e ignorar a geração do arquivo initrd.img-* para uma versão, se houver arquivos não para a versão também seja excelente. (Idealmente, ambos, mas qualquer , teriam economizado horas de frustração.)

    
por kgrittn 28.12.2016 / 22:05

1 resposta

5

O arquivo initrd.img é o ramdisk inicial. É um componente fundamental do seu sistema operacional e é necessário para inicializar o sistema. Cada kernel tem seu próprio arquivo initrd.img .

Eu definitivamente excluiria todos os seus kernels antigos. Primeiro, descubra qual kernel você está executando atualmente;

uname -r

Em seguida, desinstale todos os kernels antigos e cabeçalhos antigos;

sudo apt-get remove linux-image-<kernel number>
sudo apt-get remove linux-headers-<kernel number>

Por exemplo:

sudo apt-get remove linux-image-3.13.0-106-generic

Não há nenhuma utilidade em manter esses kernels mais antigos, especialmente porque você ficou sem espaço em disco. Eu só mantenho meu kernel atual e o último.

Depois de excluí-los, suas futuras atualizações devem funcionar novamente, pois você terá liberado muito espaço.

    
por hatterman 28.12.2016 / 22:52