Moja /boot
partycja jest prawie pełna i za każdym razem, gdy ponownie uruchamiam system, pojawia się ostrzeżenie. Usunąłem już stare pakiety jądra (linux-headers ...), w rzeczywistości zrobiłem to, aby zainstalować nowszą wersję jądra, która była dostarczana z automatycznymi aktualizacjami.
Po zainstalowaniu tej nowej wersji partycja jest prawie pełna. Co jeszcze mogę usunąć? Czy są jakieś inne pliki związane ze starymi obrazami jądra?
Oto lista plików na mojej /boot
partycji:
:~$ ls /boot/
abi-2.6.31-21-generic lost+found
abi-2.6.32-25-generic memtest86+.bin
abi-2.6.38-10-generic memtest86+_multiboot.bin
abi-2.6.38-11-generic System.map-2.6.31-21-generic
abi-2.6.38-12-generic System.map-2.6.32-25-generic
abi-2.6.38-8-generic System.map-2.6.38-10-generic
abi-3.0.0-12-generic System.map-2.6.38-11-generic
abi-3.0.0-13-generic System.map-2.6.38-12-generic
abi-3.0.0-14-generic System.map-2.6.38-8-generic
boot System.map-3.0.0-12-generic
config-2.6.31-21-generic System.map-3.0.0-13-generic
config-2.6.32-25-generic System.map-3.0.0-14-generic
config-2.6.38-10-generic vmcoreinfo-2.6.31-21-generic
config-2.6.38-11-generic vmcoreinfo-2.6.32-25-generic
config-2.6.38-12-generic vmcoreinfo-2.6.38-10-generic
config-2.6.38-8-generic vmcoreinfo-2.6.38-11-generic
config-3.0.0-12-generic vmcoreinfo-2.6.38-12-generic
config-3.0.0-13-generic vmcoreinfo-2.6.38-8-generic
config-3.0.0-14-generic vmcoreinfo-3.0.0-12-generic
extlinux vmcoreinfo-3.0.0-13-generic
grub vmcoreinfo-3.0.0-14-generic
initrd.img-2.6.31-21-generic vmlinuz-2.6.31-21-generic
initrd.img-2.6.32-25-generic vmlinuz-2.6.32-25-generic
initrd.img-2.6.38-10-generic vmlinuz-2.6.38-10-generic
initrd.img-2.6.38-11-generic vmlinuz-2.6.38-11-generic
initrd.img-2.6.38-12-generic vmlinuz-2.6.38-12-generic
initrd.img-2.6.38-8-generic vmlinuz-2.6.38-8-generic
initrd.img-3.0.0-12-generic vmlinuz-3.0.0-12-generic
initrd.img-3.0.0-13-generic vmlinuz-3.0.0-13-generic
initrd.img-3.0.0-14-generic vmlinuz-3.0.0-14-generic
Obecnie używam 3.0.0-14-generic
jądra.
boot
hard-drive
filesystem
disk-usage
init
użytkownik6722
źródło
źródło
Odpowiedzi:
Masz dużo nieużywanych jąder. Usuń wszystkie jądra oprócz ostatnich za pomocą:
Jest to skrót od:
Usunięcie
linux-image-x.x.x-x
pakietu również spowoduje usunięcielinux-image-x.x.x-x-generic
.Nagłówki są instalowane
/usr/src
i używane podczas budowania modułów jądra Out-Tree (takich jak zastrzeżony sterownik NVIDIA i virtualbox). Większość użytkowników powinna usunąć te pakiety nagłówków, jeśli pasujący pakiet jądra (linux-image-*
) nie jest zainstalowany.Aby wyświetlić listę wszystkich zainstalowanych jąder, uruchom:
Jedno polecenie, aby wyświetlić wszystkie jądra i nagłówki, które można usunąć, z wyjątkiem bieżącego działającego jądra:
Wybiera wszystkie pakiety o nazwach rozpoczynających się od
linux-headers-<some number>
lublinux-image-<some number>
, drukuje nazwy pakietów dla zainstalowanych pakietów, a następnie wyklucza aktualnie załadowane / działające jądro (niekoniecznie najnowsze jądro!). Jest to zgodne z zaleceniem testowania nowszego jądra przed usunięciem starszych, znanych z działania jąder.Po aktualizacji jądra i ponownym uruchomieniu w celu przetestowania go możesz usunąć wszystkie inne jądra za pomocą:
źródło
uname -a
. Prawdopodobnie najlepiej, aby upewnić się, że nie masz oczekującego na ponowne uruchomienie jądra w celu instalacji nowego jądra (tak jak ja, ale zauważyłem niedopasowanie międzyuname -a
jądrem a „najnowszym” jądrem).Twoja partycja rozruchowa jest pełna. Ponieważ jest to aktualizacja jądra, pliki te zostaną skopiowane na partycję rozruchową, więc musisz wyczyścić. Oto post na blogu , który pokaże, jak wyczyścić stare obrazy jądra za pomocą jednego polecenia. Podam podstawowe streszczenie metody. Użyj tego polecenia, aby wydrukować bieżącą wersję jądra:
Następnie użyj tego polecenia, aby wydrukować wszystkie zainstalowane jądra, które nie są twoim najnowszym jądrem:
Upewnij się, że twojego obecnego jądra nie ma na tej liście. Zauważ, że jest to większość ostatniego polecenia (poniżej). Aby odinstalować i usunąć te stare jądra, będziesz chciał przesłać te argumenty do:
Teraz możemy zrobić wszystko, co chcemy, łącząc te dwa ostatnie polecenia w ten bezbożny bałagan:
I to jedno polecenie zajmie się wszystkim za ciebie. Potwierdzę, że działa to idealnie, ale nigdy nie ufaj nikomu w Internecie. :) Aby uzyskać więcej informacji, post na blogu bardzo dobrze wyjaśnia, co robi każda część polecenia, więc przeczytaj ją, abyś był zadowolony, że robi to, co chcesz.
źródło
To polecenie wykonuje zadanie automatycznie.
źródło
Za pomocą Menedżera pakietów Synaptic można łatwo wybierać i usuwać stare obrazy jądra.
Jeśli nie masz jeszcze zainstalowanej Synaptic:
Uruchom aplikację i wybierz pokazane opcje.
Powinieneś być w stanie podświetlić wszystkie pakiety „linux-” w wersji „2.6.x”, gdzie x wynosi od 31 do 38, zgodnie z plikami w folderze / boot.
Kliknij prawym przyciskiem myszy każdy z tych pakietów linux i wybierz opcję „Oznacz do całkowitego usunięcia”. Na koniec kliknij przycisk Zastosuj. Spowoduje to usunięcie wszystkich plików i wszelkich powiązanych plików. Twój
/boot
folder powinien być teraz nieco bardziej uporządkowany.źródło
/boot
!Dziękuję za szczegółowy opis twojego problemu, dzięki czemu zmierzam we właściwym kierunku. Chociaż warto zachować poprzednie pliki jądra, możesz je wszystkie usunąć za jednym razem, sprawdź ten post:
Jak usunąć wszystkie nieużywane nagłówki, obrazy i moduły jądra Linux
Wykonano za pomocą wiersza polecenia. Jeśli robisz to zdalnie, użyj czegoś takiego jak WINSCP, aby otworzyć sesję terminala i po prostu wkleić ją, działa bardzo dobrze.
Tutaj jest skopiowany z linku do artykułu, proponuję przeczytać cały artykuł:
źródło
To nowa odpowiedź na stare pytanie, ale łatwym sposobem na wyczyszczenie tej rzeczy (i nie tylko) jest zainstalowanie Ubuntu Tweak . Aby zainstalować :
następnie możesz uruchomić Ubuntu Tweak, przechodząc do zakładki „woźny”, i odtąd to kwestia trzech kliknięć:
Jednak dla bezpieczeństwa lepiej zostawić ostatnie jądro (nigdy nie wiadomo) lub dobrze działające jądro; ale można to łatwo dostosować.
Możesz użyć tego samego narzędzia do czyszczenia wielu rzeczy --- pamiętaj tylko, że jeśli wyczyścisz pamięć podręczną miniatur lub pamięć podręczną TB, system będzie musiał je odbudować, jeśli będą potrzebne.
źródło
Udało mi się rozwiązać problem,
dpkg
usuwając pakiety bezpośrednio. Chociaż pakiety są nadal wymienione na liściedpkg -l
, pliki są usuwane/boot
, co zwalnia miejsce.Potem
apt-get -f install
naprawiłem problemy z zależnością i wszystko było dobrze ze światem.Nie zaakceptuję jednak mojej odpowiedzi, ponieważ wciąż muszę wiedzieć, czy powinienem zwiększyć swój
/boot
rozmiar, czy zrobić coś innego.źródło
sudo dpkg --remove linux-headers-3.5.0-28*
sudo dpkg --remove linux-image-3.5.0-28*
dla obrazu, sprawdzone przezdf -h
apt-get -f install
. Nie zapomnij też zrobić późniejapt-get autoremove
, aby usunąć inne niepotrzebne.Możesz przestać używać osobnej partycji / boot, wtedy nie będziesz miał tak ograniczonej przestrzeni. Aby to zrobić, odmontuj partycję, następnie zamontuj ją w innym miejscu i skopiuj wszystkie pliki do katalogu / boot na partycji głównej, a następnie usuń wpis z / etc / fstab i ponownie zainstaluj grub. Na przykład (musisz użyć właściwej partycji):
Następnie możesz użyć gparted, aby usunąć starą partycję / boot i ewentualnie rozszerzyć partycję root, aby użyć tej przestrzeni. Aby rozszerzyć partycję root, musisz uruchomić system z LIVECD, a wolne miejsce musi znajdować się natychmiast po prawej stronie. Jeśli partycja / boot znajduje się obecnie po lewej stronie partycji głównej, musisz najpierw przenieść partycję główną w lewo, a następnie ją rozszerzyć, ale może to zająć bardzo, bardzo długo, więc może nie być warte kłopot.
źródło
lsblk
można użyć do ustalenia, która partycja jest czymBiorąc to, co najlepsze z powyższych odpowiedzi, moje wypróbowane i prawdziwe podejście jest następujące:
uname -a
znaleźć działające jądro.dpkg -l linux-{headers,image}-\* | grep ^ii
aby wyświetlić listę wszystkich aktualnie zainstalowanych pakietów związanych z jądrem. Obejmuje to działające jądro.sudo apt-get purge linux-{image,headers}-3.16.0-{xx,yy,zz}
aby usunąć stare jądra. Zamieńxx,yy,zz
na listę kompilacji jądra, które chcesz usunąć - są to wszystkie kompilacje wymienione przez poprzednie polecenie, które są starsze niż aktualnie uruchomione jądro. Upewnij się, że nie usuwasz aktualnie działającego jądra - twój system przestanie się uruchamiać . Może być również konieczna zmiana wersji jądra z3.16.0
na cokolwiek zainstalowanego w twoim systemie.sudo apt-get autoremove
- usunie to wszelkie zależności starych jąder, które nie są już potrzebne bieżącemu, zwalniając więcej miejsca.Możesz mieć pliki nagłówkowe bez zainstalowanych pasujących wersji jądra lub odwrotnie - po prostu dołącz wszystkie te wersje do polecenia. APT będzie narzekać, że niektórych pakietów nie można usunąć, ponieważ nie są zainstalowane, ale to nie zaszkodzi.
Jeśli coś zawiedzie ...
sudo dpkg --purge linux-{image,headers}-3.16.0-{xx,yy,zz}
.linux-image
pakiety są wymagane przezlinux-headers
pakiety tej samej wersji (którą również chcesz odinstalować), dpkg mógł nie rozwiązać tego problemu. Ponownie sprawdź dane wyjściowedpkg -l
i podaj sufiksy nazw pakietów w wierszu polecenia. Na przykład w jednym z moich systemów polecenie, które ostatecznie zadziałało, byłosudo dpkg --purge linux-{image,headers}-3.16.0-{xx,yy,zz}-generic-pae
.źródło
/boot
, po prostu za mało na inny pakiet jądra. W tych przypadkach powyższe działało dobrze. Dodaj jednak odpowiedniedpkg
polecenie. Jeśli chodzi opurge
nie, nie jest to rodzaj „wymuszonego usunięcia”. W odróżnieniu odremove
tego usuwa również pliki konfiguracyjne. Od / jak długo pakiety jądra instalować żadnych plików konfiguracyjnych,remove
apurge
zrobi to samo dla pakietów jądra.Dla mnie oboje
apt-get purge
idpkg --remove
oboje zawiedli. Musiałem więc usunąć kilka starszych obrazów jądra z / boot withrm -f
.źródło
/boot
partycja była pełna. Komendy te próbują najpierw zaktualizować jądro do najnowszej i zawiesić sięNo space left on device
podczas generowaniainitrd.img
Wyświetl wszystkie jądra:
Wyświetl bieżące jądro:
Wyświetl wszystkie jądra Z WYJĄTKIEM aktualnego:
Upewnij się, że twojego obecnego jądra nie ma na tej liście.
Usuń wszystkie jądra Z WYJĄTKIEM bieżącego:
Wyczyść inne rzeczy:
Jeśli nadal występuje błąd miejsca na dysku rozruchowym podczas instalowania / odinstalowywania plików, usuń bezpośrednio jeden z OLD obrazów z katalogu / boot,
UWAGA: Proszę ponownie przejrzeć bieżący obraz jądra przed usunięciem dowolnego obrazu.
źródło
linux-headers-*
nie są jądra. Pakiety jądra są nazwanelinux-image-*
. Wymienionelinux-headers-*
są pakiety programistyczne do kompilacji modułów jądra: nie znajdują się one w katalogu / boot i nie są wymagane do codziennego korzystania z systemu.Pliki, które wymienione w katalogu / boot zrobić to kilka starych obrazów jądra (
vmlinuz*
) i skompilowane obrazy initrd (initrd.img*
) dla tych ziaren, co wskazuje, że nadal masz wiele starych pakietów jądra zainstalowanych.Powinieneś być w stanie wyświetlić listę zainstalowanych jąder
(Zauważ, że prawdopodobnie zwróci to również pakiety, które nie są jądrami).
Zwykle nie ma potrzeby instalowania więcej niż dwóch jąder - tego aktualnie używanego i poprzedniego do tego (jako rezerwowego). Możesz więc zacząć usuwać starsze, jeden po drugim, w następujący sposób:
Upewnij się, że zastąpiłeś „3.2.0-23-generic” rzeczywistą wersją jądra, którą chcesz usunąć! Nie usuwaj również pakietów takich jak
linux-image-generic
. Musisz bardzo uważać, aby nie usunąć aktualnie działającego jądra, w przeciwnym razie nie będzie można uruchomić systemu (Ubuntu może ostrzegać przed zrobieniem tego).Możesz znaleźć aktualnie działające jądro z:
źródło
Miałem ten problem i więcej, ponieważ
initrd-img-xxx
ręcznie usunąłem niektóre pliki z / boot i miałem problem z tym, że te stare wersje nadal generowały się i wypełniały/boot
folder. Aby to naprawić, wykonałem następujące czynności:Będziesz edytować tekstowy plik konfiguracyjny jako superużytkownik, więc wklej następujące elementy do terminala:
Znajdź linię
update_initramfs=yes
i zmień ją naupdate_initramfs=no
. Zapisz i zamknij plik, a następnie uruchom:To rozwiązało mój problem. To było oparte na tym blogu
Mamy nadzieję, że wszystko powinno być w porządku po restarcie, a później można spróbować zmienić
no
z powrotem doyes
wupdate-initramfs.conf
.źródło
Pokazuję, że jeszcze w 2017 r. To pytanie ma nowe komentarze i odpowiedzi, ale brakuje jednej odpowiedzi, która moim zdaniem jest bardzo przydatna:
Ubuntu jako zwykły system operacyjny do codziennego użytku nie ma powodu, aby instalować go z oddzielną partycją \ boot, a coś takiego NIE oferuje coś „zwykłemu użytkownikowi” ... Więc rozwiązaniem jest nowa instalacja bez partycji \ boot i to w ten sposób nigdy nie będziesz mieć takiego problemu
PS: Moja odpowiedź może zostać usunięta lub dodana do zaakceptowanej odpowiedzi ... (Myślę, że to pomoże niektórym ludziom w ten sposób)
źródło
Super pomocne narzędzie , które wyczyści partycję rozruchową
Używaj na własne ryzyko, ale zadziałało dla mnie:
źródło
W aptitude lub synaptic znajduje się sekcja „stary lub ręcznie zainstalowany pakiet”. Powinny tam być stare pakiety linuksowe.
źródło
Jest skrypt bash, który napisałem poniżej, który sprawia, że proces jest nieco bardziej przyjazny dla użytkownika.
YMMV - został stworzony dla Mennicy 14. Wciąż uczę się BASH, więc prawdopodobnie jest trochę niezręczny. Używaj na własne ryzyko, ale to działa dla mnie!
źródło
[Jako noob AskUbuntu nie mogę komentować, dopóki reputacja nie będzie wynosić 50, więc nie głosuj z tego powodu.]
Mój serwer też to robił. Dosłownie żadna z oczekiwanych odpowiedzi tutaj nie zadziałała, ponieważ wymagają one trochę przestrzeni roboczej na / boot do ich wypełnienia. Jeśli partycja rozruchowa jest pełna, nagle się zakończy bez usuwania żadnego z obrazów.
Jedyną rzeczą, która działała dla mnie, było przejrzenie bieżącego obrazu, a następnie ręczne sprawdzenie
sudo rm filename
najstarszych plików obrazów (każdy miał w nazwie -3,16.0-30 ). Kiedy to zostało zrobione,sudo apt-get autoremove
miał pokój do poruszania się, którego potrzebował do wykonania swojej pracy. Podkreślił niektóre błędy związane z tą wersją, na przykład: „depmod: FATAL: nie można załadować /boot/System.map-3.16.0-30-generic: Brak takiego pliku lub katalogu”, ale należy się tego spodziewać.Po zakończeniu
df
zwrócił 42% używanego dla / boot, aby wskazać, że jest znów zdrowy.źródło
apt-get
ma wystarczająco dużo miejsca, aby przejść dalej, oraz b), gdzieapt-get
kończy się niepowodzeniem, ponieważ dysk jest zbyt pełny. To jest drugi post.Napisałem ten skrypt bash do selektywnego czyszczenia starych jąder naraz:
Cały kod bash i instrukcje są zawarte w linku.
źródło
Zapisz ten skrypt jako
/usr/local/bin/remove_kernels.sh
(pamiętaj, aby udzielić uprawnień do wykonywaniasudo chmod 755 /usr/local/bin/remove_kernels.sh
):Następnie, aby usunąć wszystkie stare jądra, po prostu wpisz:
sudo remove_kernels.sh
źródło
Partycja / boot może czasem być nieco dziwna
nie zaczynaj bezpośrednio usuwać plików jądra.
Kroki do naśladowania
Sprawdź, czy aktualnie zainstalowane jądro jest używane przez system Linux
uname -r
powinno to dać nazwę aktualnie zainstalowanego obrazu jądra w systemie
Teraz zacznij usuwać dodatkowe pliki oprócz jednego określonego zainstalowanego w twoim systemie
apt-get remove linux-image-XXXXX
Usuń również plik nagłówka
apt-get remove linux-headers-XXXXX
Może również występować stan, w którym
apt
przestał działać, w takim przypadku przełącz na / bootcd /boot
Rozpocznij usuwanie plików ręcznie, ale bardzo ostrożnie pamiętaj, aby nie usuwać
installed one's
plików jądra z systemu.rm linux-image-XXXXX
rm linux-image-extra-XXXXXX
Po usunięciu poprawnego czyszczenia plików instalacje częściowe są instalowane
apt-get -f install
Usuń dodatkowe pliki znajdujące się tam jako pliki rozruchowe czyszczone ręcznie
apt-get autoremove
Zaktualizuj grub
update-grub
Na koniec zaktualizuj pakiety systemowe
apt-get update
źródło
Jeśli nie możesz usunąć więcej nieużywanych plików i masz inną partycję z / lub wolnym miejscem na tym samym urządzeniu, możesz zmienić rozmiar partycji / boot przez parted / gparted . (Jest również zawarty na nośniku instalacyjnym.)
Ostrzeżenie : zmiana rozmiaru partycji jest niebezpieczną operacją, zapisz ważne dane na innym nośniku, zanim to zrobisz!
źródło