Em várias máquinas Ubuntu, estou constantemente enfrentando o problema de uma partição de inicialização completa, embora sempre remova todos os kernels antigos. O problema parece ocorrer, pois há muitos initrd
arquivos na partição de inicialização, mesmo que os kernels relacionados não estejam realmente instalados. Para dar um exemplo:
root@Jacobi:/boot# ls -lah
insgesamt 202M
drwxr-xr-x 3 root root 3,0K Jan 30 10:03 .
drwxr-xr-x 25 root root 4,0K Jan 30 10:03 ..
-rw-r--r-- 1 root root 1,2M Dez 11 15:36 abi-4.4.0-104-generic
-rw-r--r-- 1 root root 1,2M Jan 9 22:28 abi-4.4.0-109-generic
-rw-r--r-- 1 root root 1,2M Jan 19 14:06 abi-4.4.0-112-generic
-rw-r--r-- 1 root root 187K Dez 11 15:36 config-4.4.0-104-generic
-rw-r--r-- 1 root root 187K Jan 9 22:28 config-4.4.0-109-generic
-rw-r--r-- 1 root root 187K Jan 19 14:06 config-4.4.0-112-generic
drwxr-xr-x 5 root root 1,0K Jan 30 10:03 grub
-rw-r--r-- 1 root root 10M Jan 30 10:03 initrd.img-3.13.0-39-generic
-rw-r--r-- 1 root root 10M Jan 30 10:02 initrd.img-4.4.0-101-generic
-rw-r--r-- 1 root root 10M Jan 30 10:02 initrd.img-4.4.0-103-generic
-rw-r--r-- 1 root root 38M Jan 30 10:02 initrd.img-4.4.0-104-generic
-rw-r--r-- 1 root root 38M Jan 30 10:02 initrd.img-4.4.0-109-generic
-rw-r--r-- 1 root root 10M Jan 30 10:03 initrd.img-4.4.0-38-generic
-rw-r--r-- 1 root root 10M Jan 30 10:03 initrd.img-4.4.0-45-generic
-rw-r--r-- 1 root root 10M Jan 30 10:02 initrd.img-4.4.0-59-generic
-rw-r--r-- 1 root root 10M Jan 30 10:02 initrd.img-4.4.0-77-generic
-rw-r--r-- 1 root root 10M Jan 30 10:02 initrd.img-4.4.0-78-generic
-rw-r--r-- 1 root root 10M Jan 30 10:02 initrd.img-4.4.0-81-generic
-rw-r--r-- 1 root root 179K Jan 28 2016 memtest86+.bin
-rw-r--r-- 1 root root 181K Jan 28 2016 memtest86+.elf
-rw-r--r-- 1 root root 181K Jan 28 2016 memtest86+_multiboot.bin
-rw------- 1 root root 3,8M Dez 11 15:36 System.map-4.4.0-104-generic
-rw------- 1 root root 3,8M Jan 9 22:28 System.map-4.4.0-109-generic
-rw------- 1 root root 3,8M Jan 19 14:06 System.map-4.4.0-112-generic
-rw------- 1 root root 6,8M Dez 11 15:36 vmlinuz-4.4.0-104-generic
-rw------- 1 root root 6,8M Jan 9 22:28 vmlinuz-4.4.0-109-generic
-rw------- 1 root root 6,8M Jan 19 14:06 vmlinuz-4.4.0-112-generic
Mas apenas linux-image-4.4.0-104-generic e linux-image-4.4.0-109-generic estão instalados:
root@Jacobi:/boot# dpkg -l linux-image-\* | grep ^ii
ii linux-image-4.4.0-104-generic 4.4.0-104.127 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii linux-image-4.4.0-109-generic 4.4.0-109.132 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii linux-image-extra-4.4.0-104-generic 4.4.0-104.127 amd64 Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii linux-image-extra-4.4.0-109-generic 4.4.0-109.132 amd64 Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
Se eu excluir manualmente os arquivos initrd desnecessários, eles serão gerados novamente assim que eu tentar fazer uma atualização.
Qual poderia ser a causa desse problema e como posso me livrar desses arquivos permanentemente?
boot
grub2
partitioning
kernel
user5950
fonte
fonte
apt-get autoremove
.Respostas:
Você deve verificar os kernels parcialmente removidos com
e remova-os com, por exemplo
sudo apt-get purge linux-image-4.4.0-101-generic
.A limpeza removerá as regras de geração do initramfs
/var/lib/initramfs-tools/
.Se isso não ajudar, você pode removê-los manualmente da lista initramfs:
Normalmente eu corro
purge-old-kernels
seguido porsudo apt-get autoremove
ter apenas 2 kernels recentes.Você pode reinstalar os kernels instalados com o initramfses:
fonte
initrd
manualmente os arquivos desnecessários do formulário de inicialização novamente para liberar espaço lá, e pronto, o problema foi resolvido! Obrigado!rm
para qualquer coisa relacionada ainitrd
kernels ou headers. Existem alguns comandos disponíveis que manipularão a remoção de arquivos kernels / headers / initrd.img parcialmente removidos para você. Vejaupdate-initramfs
. Veja minha resposta abaixo para mais detalhes.Se você já tiver usado
dpkg
para purgar os kernels / cabeçalhos e se você já verificoudpkg -l
e ainda não vê os kernels / headers instalado lá, mas você ainda ver referências a esses kernels antigos em/boot
na forma deinitrd-img
arquivos, então a forma apropriada limpar essas referências e arquivos é com oupdate-initramfs
comandoPor exemplo, se você
4.4.0-109
instalou apenas , mas ainda vê o seguinte em/boot
:Você pode remover com segurança
4.4.0-104
e4.4.0-103
de/boot
com os seguintes comandos:Os dois primeiros comandos excluem as referências a esses kernels nas
initramfs
regras de geração, bem como aos arquivos/boot
. O último comando diz ao initramfs para regenerar osinitrd.img
arquivos com base nas regras atualizadas.Teoricamente, você também pode usar
excluir vários kernels de uma só vez, mas por algum motivo isso não funcionou para mim.
fonte