Na kilku maszynach Ubuntu ciągle mam problem z pełną partycją rozruchową, chociaż zawsze usuwam wszystkie stare jądra. Wydaje się, że problem występuje, ponieważ wiele initrd
plików znajduje się na partycji rozruchowej, mimo że powiązane jądra nie są w rzeczywistości zainstalowane. Na przykład:
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
Ale zainstalowane są tylko Linux-image-4.4.0-104-generic i Linux-image-4.4.0-109-generic:
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
Jeśli ręcznie usunę niepotrzebne pliki initrd, zostaną one ponownie wygenerowane, gdy tylko spróbuję wykonać aktualizację.
Co może być przyczyną tego problemu i jak mogę na stałe pozbyć się tych plików?
boot
grub2
partitioning
kernel
user5950
źródło
źródło
apt-get autoremove
.Odpowiedzi:
Powinieneś sprawdzić częściowo usunięte jądra za pomocą
i usuń je na przykład za pomocą
sudo apt-get purge linux-image-4.4.0-101-generic
.Czyszczenie spowoduje usunięcie reguł generowania initramfs
/var/lib/initramfs-tools/
.Jeśli to nie pomoże, możesz usunąć je ręcznie z listy initramfs:
Zwykle biegam
purge-old-kernels
za nim,sudo apt-get autoremove
żeby mieć tylko 2 ostatnie jądra.Możesz ponownie zainstalować zainstalowane jądra z ich inicjalizacjami:
źródło
initrd
ręcznie usunąć niepotrzebne pliki z rozruchu, aby zwolnić trochę miejsca, i voilà problem rozwiązany! Dzięki!rm
do wszystkiego, co jest powiązane zinitrd
jądrem lub nagłówkami. Dostępnych jest kilka poleceń, które zajmą się usunięciem częściowo usuniętych plików jądra / nagłówków / initrd.img. Zobaczyćupdate-initramfs
. Zobacz moją odpowiedź poniżej, aby uzyskać więcej informacji.Jeśli już
dpkg
używałeś do czyszczenia jąder / nagłówków i jeśli już sprawdziłeśdpkg -l
i nadal nie widzisz zainstalowanych tam jąder / nagłówków, ale nadal widzisz odniesienia do tych starych jąder w/boot
postaciinitrd-img
plików, to właściwy sposób czyszczenie tych referencji i plików odbywa się za pomocąupdate-initramfs
polecenia.Na przykład, jeśli masz tylko
4.4.0-109
zainstalowany, ale nadal widzisz następujące elementy w/boot
:Można bezpiecznie usunąć
4.4.0-104
i4.4.0-103
od/boot
z następującymi poleceniami:Pierwsze dwa polecenia usuwają odniesienia do tych jąder w
initramfs
regułach generowania, a także do plików w/boot
. Ostatnie polecenie informuje initramfs, aby ponownie wygenerowałinitrd.img
pliki na podstawie zaktualizowanych reguł.Teoretycznie możesz także użyć
aby usunąć wiele jąder jednocześnie, ale z jakiegoś powodu to nie działało dla mnie.
źródło