Za każdym razem, gdy instaluję nowe jądro Linuksa, zostaje ono pozostawione w grub_config, dzięki czemu menu startowe jest za każdym razem dłuższe.
Wiem, że mogę ręcznie przeszukiwać zainstalowane pakiety i je usuwać.
Czy Ubuntu zapewnia łatwiejszy sposób na ich wyczyszczenie lub powstrzymanie od pokazywania się na liście rozruchowej?
sudo apt-get autoremove
powinien załatwić sprawę na Ubuntu 14.04+sudo apt-get autoremove --purge
odpowiadasz , postępując zgodnie zeapt-mark
wskazówkami na https://help.ubuntu.com/community/RemoveOldKernelsOdpowiedzi:
16.04 i nowsze wersje Ubuntu
To polecenie usuwa pakiety, które zostały automatycznie zainstalowane w celu rozwiązania zależności, ale od których nie są już zależne. Obejmuje to stare wersje
linux-headers-*
ilinux-image-*
. (Jest również sprytny w tym procesie, pozostawiając jedną zapasową wersję jądra jako awarię!)11.10 i nowsze wersje Ubuntu
GRUB2 i jego wyświetlanie wszystkich jąder
Najnowsze wersje Grub2 zainstalowane w Ubuntu automatycznie wyświetlają najnowsze jądro i ukrywają starsze jądra, które mogłeś zainstalować.
Jeśli nie widzisz swojego gruba - pamiętaj, aby nacisnąć Shiftpodczas uruchamiania.
Jak widać, wyświetlane jest tylko najnowsze jądro.
Jeśli wybierzesz pokazaną opcję (naciśnij Enter), wszystkie stare jądra staną się widoczne i będą dostępne do rozruchu.
Jak trwale usunąć starsze jądra
Pierwsze uruchomienie z najnowszym dostępnym jądrem.
Istnieje wiele sposobów usuwania starych jąder. Osobiście nie dotykać komputera woźny ponieważ uznaje się przełamać komputer z jego sugestii.
synaptyczny
Alternatywą jest Synaptic (
sudo apt install synaptic
)wyszukaj obraz linux , kliknij jądro prawym przyciskiem myszy i wybierz całkowite usunięcie, a na koniec kliknij przycisk Zastosuj , aby usunąć jądro.
Powtórz wyszukiwanie, ale tym razem dla nagłówka linux - możesz usunąć powiązane nagłówki dla wcześniej wybranego obrazu jądra.
Synaptic jednak nie będzie próbował zweryfikować tego, co próbujesz usunąć ... możesz przypadkowo usunąć swoje najnowsze jądro - lub nawet usunąć wszystkie jądra za pomocą tego narzędzia, pozostawiając Ci niemożliwy do uruchomienia Ubuntu !.
Pamiętaj, aby sprawdzić, którego jądra używasz:
Wynik byłby podobny do:
Zapamiętaj wynik i liczbę - upewnij się, że nie usuwasz odpowiedniego obrazu lub nagłówka.
Zalecenie
Radzę zachować przynajmniej dwa lub najlepiej trzy jądra, w tym najnowsze. Powodem tego zalecenia jest to, że będziesz mieć co najmniej jedno / dwa inne jądra do uruchomienia, jeśli z jakiegokolwiek powodu najnowszego jądra nie będziesz w stanie uruchomić lub nie wprowadzisz funkcji regresji, takiej jak zepsute połączenie bezprzewodowe.
źródło
-y
przełącznik na końcuapt-get
linii jest konieczne, w przeciwnym razie apt-get po prostu prosi o potwierdzenie, a ponieważ wejście jest rura, po prostu przerywa. Powinien więc kończyć się za:| xargs sudo apt-get purge -y
linux-image
ilinux-headers
zwolnionej 4,5 GB przestrzeni na moim komputerze.Najpierw uruchom ponownie system, aby upewnić się, że używa najnowszego jądra. Następnie otwórz terminal i sprawdź swoje bieżące jądro:
NIE USUWAJ TEGO Jądra!
Następnie wpisz poniższe polecenie, aby wyświetlić / wyświetlić listę wszystkich zainstalowanych jąder w systemie.
Znajdź wszystkie jądra, które są niższe niż twoje obecne jądro. Kiedy wiesz, które jądro należy usunąć, przejdź poniżej, aby je usunąć. Uruchom poniższe polecenia, aby usunąć wybrane jądro.
Na koniec uruchom poniższe polecenia, aby zaktualizować grub2
Uruchom ponownie system.
źródło
sudo apt-get purge linux-image-3.2.0-3{0..5}-generic
(usuwa 30,31, .., 35)linux-signed-image
pakiety, które mogą być zainstalowane w systemach UEFI:sudo apt-get purge linux-signed-image-3.11.0-{12,14,24}-generic
które usuną 12, 14 i 24uname -r
nie mam żadnegosigned
łańcucha w moim systemie. I zdają się mieć zainstalowany podpisany obrazu i wyjście tegols
polecenia jest następująca:/boot/vmlinuz-3.19.0-16-generic.efi.signed
.Mój jeden wiersz do usuwania starych jąder (to również zwalnia miejsce na dysku)
Objaśnienie (pamiętaj,
|
używa danych wyjściowych z poprzedniego polecenia jako danych wejściowych do następnego)dpkg --list
wyświetla wszystkie zainstalowane pakietygrep linux-image
szuka zainstalowanych obrazów systemu Linuxawk '{ print $2 }'
po prostu wyświetla drugą kolumnę (która jest nazwą pakietu)sort -V
porządkuje elementy według numeru wersjised -n '/'`uname -r`'/q;p'
wypisuje linie przed bieżącym jądremxargs sudo apt-get -y purge
czyści znalezione jądraOdwijanie
sed
wywołania:-n
mówi,sed
żeby być cicho`uname -r`
wypisuje bieżącą zainstalowaną wersję jądra - umieszczamy ją w backtickach, aby wynik był dołączany jako część polecenia (możesz również zobaczyć to jako$(uname -r)
/something/q
mówi stop, gdy dopasujesz „coś” (w tym przypadku coś jest wyprowadzaneuname -r
) -/
surround wyrażenie regularnep
jest drukowany;
jest separtor poleceń, tak/something/q;p
mówi rzucić gdy dopasujesz coś innego drukuw sumie
sed -n '/'`uname -r`'/q;p'
wypisuje linie, aż dopasuje się do bieżącej nazwy jądra.Jeśli jesteś paranoikiem (tak jak ja), możesz zrobić ostatnią część,
xargs echo sudo apt-get -y purge
aby wydrukować polecenie oczyszczenia starych jąder, a następnie możesz sprawdzić, czy przed uruchomieniem nie ma niczego nieoczekiwanego.Zmodyfikowana wersja do usuwania nagłówków:
Uwaga:
sed
wywołanie zostało zmodyfikowane."$(uname -r | sed "s/\([0-9.-]*\)-\([^0-9]\+\)/\1/")"
wypakowuje tylko wersję (np. „3.2.0-44”), bez „-generic” lub podobnego zuname -r
Wersja all-in-one do usuwania obrazów i nagłówków (łączy dwie powyższe wersje):
źródło
sudo apt-get purge $(for tag in "linux-image" "linux-headers"; do dpkg-query -W -f'${Package}\n' "$tag-[0-9]*.[0-9]*.[0-9]*" | sort -V | awk 'index($0,c){exit} //' c=$(uname -r | cut -d- -f1,2); done)
Zobacz także moją odpowiedź .dkpg -P
zamiast tego. Oto pełna wersja:dpkg --list | grep 'linux-headers' | awk '{ print $2 }' | sort -V | sed -n '/'"$(uname -r | sed "s/\([0-9.-]*\)-\([^0-9]\+\)/\1/")"'/q;p' | xargs sudo dpkg -P
Ubuntu 16.04+:
Ubuntu 15.10 i nowsze:
Uważam to za najłatwiejszy i najszybszy sposób. Zachowuje najnowsze jądro, a także dwa kolejne:
Aby zmienić liczbę przechowywanych dodatkowych jąder:
źródło
which purge-old-kernels
.purge-old-kernels
pakiet bez rowerów ( losowo przydatne narzędzia, które nie mają jeszcze stałego domu ) ani żadnego innego. Unikaj używaniaapt-get -y
opcji, to jak zamykanie oczu i mieć nadzieję, że wszystko będzie dobrze. Również tutaj jest jak autoremove decyduje ile stare jądra zachować.apt-file search purge-old-kernels
. Uzgodnionyapt-get -y
, usunę go.sudo apt-get autoremove
nie usuwa jąder w 14.04. Jeśli wiesz, co to jest, możesz zaktualizować odpowiedź do określonej wersji!Usuwanie wpisów z Grub 2 Wpisy należy usunąć, edytując lub usuwając pliki w folderze /etc/grub.d. Plik /boot/grub/grub.cfg jest tylko do odczytu i zwykle nie powinien wymagać edycji.
Za dużo jąder?
Jeśli nie jesteś pewien, jakiego jądra używasz, w terminalu wpisz uname -r .
Jądra usunięte za pomocą APT (Synaptic, „apt-get remove” itp.) Automatycznie zaktualizują grub.cfg i nie jest wymagana żadna akcja użytkownika.
Świetnym narzędziem do usuwania jąder (i pozycji menu) jest Ubuntu-Tweak, bezpieczna i łatwa w obsłudze aplikacja GUI.
Zainstaluj poprawki Ubuntu
Ubuntu-Tweak będzie dostępny w kategorii Aplikacje> Narzędzia systemowe.
Usuń starsze wpisy jądra
Wybierz „Package Cleaner” po lewej stronie i „Clean Kernel” z prawego panelu.
Naciśnij przycisk „Odblokuj” w prawym dolnym rogu, wprowadź hasło.
Wybierz z wyświetlanej listy obrazy jądra i nagłówki, które chcesz usunąć. Używanego jądra nie ma na liście.
Naciśnij przycisk „Oczyść” w prawym dolnym rogu, aby usunąć wybrane obrazy jądra i nagłówki.
Usuń systemy operacyjne z menu Grub
Inne systemy operacyjne, które zostały usunięte z komputera, również zostaną usunięte z menu po uruchomieniu „update-grub” jako root.
Pozycje menu są umieszczane w menu Grub2 według skryptów. Jeśli nie chcesz, aby inne systemy operacyjne były wprowadzane w menu, wyłącz /etc/grub.d/30_osprober
Uruchom to polecenie, aby zatrzymać działanie skryptu
sudo chmod -x /etc/grub.d/30_os-prober
DISABLE_30_OS-PROBER = 'true' w / etc / default / grub
Usuń Memtest86 + z menu Grub
sudo chmod -x /etc/grub.d/20_memtest86+
Źródło
Uwaga: po aktualizacji jądra do menu GRUB dodawany jest nowy wpis. W razie potrzeby możesz usunąć starszy, jednak najbardziej doświadczeni użytkownicy doradzą, aby zachować przynajmniej jeden zapasowy wpis na wypadek, gdyby coś poszło nie tak z aktualizacją, a ty trzeba uruchomić starszą wersję jądra dla celów rozwiązywania problemów.
Alternatywny sposób na usunięcie wpisów jądra (przed 10.04)
dla GRUB nie GRUB2
menedżer uruchamiania
Możesz go znaleźć w System >> Administracja >>
Na drugim zrzucie ekranu możesz wybrać, ile jąder ma zostać pokazanych? Zasadniczo trzymam go na 1, ale kiedy dostaję aktualizację jądra, zawsze zmieniam ją na 2 przed ponownym uruchomieniem, aby móc wybrać starsze jądro, jeśli nowe jądro ma problemy ze sprzętem. Kiedy już wiem, że nowe jądro działa dobrze, zmieniam je z powrotem na 1.
źródło
Czysto wiersz poleceń, spowoduje to usunięcie wszystkich oprócz bieżącego i drugiego najbardziej aktualnego (poprzez „-2” w poleceniu head poniżej):
źródło
dpkg -l linux-* | awk '/^ii/{ print $2}' | grep -v -e `uname -r | cut -f1,2 -d"-"` | grep -e [0-9] | xargs sudo apt-get -y purge
linux-libc-dev:amd64
której nie należy usuwać.awk '{print "linux-image-" $0}'
.Aktualizacja: obecnie
purge-old-kernels
jest przestarzała .Stworzyłem skrypt do czyszczenia jąder nawet w trudnych warunkach. Nazywa się
linux-purge
i można go znaleźć tutaj .Jeśli chcesz po prostu wyczyścić jądra (i powiązane pakiety), które są starsze niż obecnie używane jądro, gdy system nie jest uszkodzony, możesz użyć tego skryptu .
Jest też strona dokumentacji Ubuntu, do której przyczyniłem się w kwestii usuwania starych jąder tutaj .
źródło
purge-old-kernels
to, że nie jest w dokładnej wersji (1.22) bikeshed. Czy istnieje rozsądny / bezpieczny sposób na uzyskanie bardziej precyzyjnego roweru od niedawna? Czy może byłoby łatwiej / bezpieczniej po prostu zainstalować skrypt? Wolałbym jednak skorzystać z repozytorium, pomimo długiej listy zależności ..dlocate -lsbin bikeshed
Możesz śledzić Korzystanie z „nienadzorowanej uaktualnień” sekcję pakietów z Automatic Updates Bezpieczeństwo artykule na Ubuntu Wiki wykonać to.
Musisz zmienić następujący wiersz w pliku /etc/apt/apt.conf.d/50unattended-upgrades ;
z
aby automatycznie usuwać stare pakiety, w tym jądra.
Usuń lub skomentuj linię
w sekcji „NeverAutoRemove” pliku /etc/apt/apt.conf.d/01autoremove.
źródło
apt-get autoremove
do mojej codziennej pracy crona, która faktycznie wykonuje aktualizacje, ponieważ nie zawsze przechodzi ona przez wbudowanego menedżera aktualizacji.Najszybszym / prostszym sposobem (dotyczy co najmniej od 12.04), który jest już dostępny z Ubuntu, jest
apt-get
. Wykonaj następujące czynności, jeśli chcesz usunąć wszystkie starsze wersje jądra, które nie są używane (z wyjątkiem poprzedniej, z której nie korzystasz. Aby upewnić się, że jeśli bieżąca wersja jądra ulegnie awarii, masz do zrobienia powrót do poprzedniego stanu). Wykonaj następujące czynności:To wyeliminuje wszelkie stare pliki (w tym wersje jądra), które możesz mieć. Zauważ, że jeśli masz wiele starych wersji, potrwa to chwilę, ponieważ musi się upewnić, że usunięcie wersji jądra nie spowoduje żadnych problemów. Dla mnie usunięcie ostatnich 12 wersji jądra zajęło około 2 minut. Możesz także wykonać następujące czynności:
Co wyeliminuje wszystko pobrane i zapisane w folderze pamięci podręcznej apt. Wreszcie masz:
który sprawdziłby wszelkie nieużywane pakiety i usunął je w razie potrzeby. Jest to idealne rozwiązanie dla bibliotek i pakietów zależności, które nie są już potrzebne żadnej zainstalowanej aplikacji.
źródło
sudo apt-get autoremove
usuwa stare (więcej niż jedna wersja) jądra w 14.04. Może być konieczne uruchomienie go przed i po aktualizacji jądra. Kiedy uruchomiłem przed aktualizacją, usunąłem tylko ogólną wersję starego jądra. Następnie, po aktualizacji mojego jądra, usunąłem również wersję lowlatency starego jądra.sudo apt-get autoclean
polecenie. @ tekNorah Zainstalowałem kilka starszych jąder, a następnie uruchomiłem jesudo apt-get autoremove
w Ubuntu Studio 14.04. Nie usunął żadnych jąder. Mam zainstalowane tylko jądra lowlatency. Dlaczego masz zainstalowane zarówno jądro -generic, jak i -lowlatency?10.04 Metoda GUI
Computer Janitor może wyczyścić stare jądra i uważam, że jest domyślnie instalowany w Ubuntu (ale nie Kubuntu).
GRUB 1, jeśli go używasz, ma opcję
/boot/grub/menu.lst
określającą, ile jąder ma wyświetlać maksymalnie. GRUB 2, o ile mogę powiedzieć, nie ma.źródło
Aby dowiedzieć się, jakie jądra i nagłówki są zainstalowane, użyj
Następnie możesz je usuwać pojedynczo lub razem, pamiętaj tylko, aby zachować najnowsze.
Istnieje również kilka przydatnych poleceń i skryptów do automatyzacji usuwania.
http://ubuntuforums.org/showthread.php?t=1658648
Następujące roszczenia do usunięcia wszystkich nieużywanych jąder i nagłówków:
(użyj,
apt-get -y
aby usunąć bez pytania)Oto, co dzieje się po uruchomieniu 18.04.1:
źródło
linux-libc-dev
jest zainstalowany.linux-libc-dev
Podejrzewam, że numer wersji odpowiada numerowi wersji obecnego jądra. Tutajdpkg -l linux-libc-dev | sed '/^ii/!d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d'
drukuje linux-libc-dev: amd64grep -E "(image|headers)"
.-y
flagi z czystką, proszę ...!Aby usunąć starsze jądra systemu Linux, najpierw uruchom jądro, które chcesz zachować.
Możesz również sprawdzić wersję jądra za pomocą polecenia,
uname -r
aby przez pomyłkę nie usunąć niewłaściwej wersji.Teraz przejdź do menedżera pakietów synaptycznych i wyszukaj
linux-image
i usuń starsze wersje oprócz tej pokazanej przez górne polecenie. Ogólnie wolę iść z najnowszym.Teraz po ponownym uruchomieniu zobaczysz czystsze menu grub.
źródło
Możesz zainstalować ubuntu-tweak, a następnie Idź do Aplikacje -> Narzędzie systemowe -> ubuntu tweak i
kliknij opcję czyszczenia pakietu i czyszczenia jądra. nie pokazuje aktualnie używanego jądra, więc zawsze będziesz bezpieczny.
źródło
Osobiście lubię używać
Synaptic
. To sprawia, że czuję się bardziej bezpiecznie, co się dzieje. Jedyną aplikacją, której użyłem, która ma opcję usuwania starych jąder, jest Ubuntu Tweak .Jak usunąć jądra, których nie używasz:
uname -a
w terminaluźródło
update-grub
zaleca się.Możesz odinstalować stare jądra (
linux-image-...
pakiety) za pomocą Synaptic, a to usunie je z menu uruchamiania. Uważaj, aby nie usunąć działającego jądra (możesz sprawdzić jego wersję za pomocąuname -r
).Pamiętaj, że posiadanie jednej lub dwóch starszych wersji może pomóc w rozwiązywaniu problemów, jeśli coś pójdzie nie tak.
Alternatywnie możesz edytować / usuwać wpisy ręcznie (
gksu gedit /boot/grub/grub.cfg
), ale zostaną one ponownie wygenerowane po aktualizacji do nowszego jądra. Jeśli myślisz o usunięciurecovery mode
opcji - nie rób tego. Mogą się przydać, jeśli złamiesz coś, co uniemożliwi uruchomienie.Sprawdź tę stronę.
źródło
update-grub
którego ponownie napisze wszystkie te jądra.Jest to rozwiązanie oparte wyłącznie na linii poleceń.
Najpierw wygeneruj listę wszystkich zainstalowanych wersji jądra oprócz aktualnie działającego jądra:
Alternatywnie wygeneruj listę wszystkich zainstalowanych wersji jądra oprócz dwóch ostatnich:
Sprawdź listę. Upewnij się, że wersje jądra, które chcesz zachować, nie znajdują się na liście. Użyj polecenia,
uname -r
aby zobaczyć wersję aktualnie uruchomionego jądra.Jeśli jesteś zadowolony z wyników, możesz użyć
apt-get
do usunięcia pakietów.Najpierw suchy bieg (na przykładzie pierwszego generatora):
Potem prawdziwy bieg:
Jeśli chcesz zautomatyzować proces, dodaj
--yes
parametr:źródło
sudo apt-get purge -- $(ls -1U /boot/vmlinuz* | cut -d- -f2,3 | sort -uV | head -n -2 | awk -v c=$(uname -r | cut -d- -f1,2) '($0==c){exit} //' | sed -r -e 's/\./\\./g' -e 's/.*/-&($|-)/')
. Nie ma takiej potrzeby,dpkg-query
ponieważapt-get
może obsługiwać wyrażenia regularne. Zwróć uwagę, w jaki sposób unikam kropek i dodam przedrostek i sufiks w wyrażeniu regularnym. Używając skryptu we własnej odpowiedzi , możesz także zachować niektóre jądra, które są starsze niż bieżące.Zaletą tej odpowiedzi jest to, że natywny Ubuntu Bash jest używany bez instalowania aplikacji innych firm. Użytkownicy niestandardowych jąder, którzy nie używali
apt
lub niedpkg
mogli zmienić tego skryptu bash zgodnie z własnymi potrzebami. Ta odpowiedź jest oparta na ( Jak selektywnie wyczyścić wszystkie stare jądra jednocześnie ).Rozwiązanie oparte na Zenity
Zenity zapewnia przyjemny interfejs GUI do terminala do przetwarzania listy i wybierania elementów za pomocą przycisków opcji :
Jak wskazuje tytuł, nie można usunąć bieżącego jądra, z którego uruchomiono system, i nie ma go na liście. Podany rozmiar określa, ile zostanie zapisanych w
/boot
katalogu. Więcej jest zapisywane na dysku, ponieważ pliki binarne jądra znajdują się również w innych obszarach. Uwaga z 27 lipca 2017: Katalogi/usr/src/*kernel_version*
i/lib/modules/*kernel_version*
teraz również są uwzględnione.Data modyfikacji zostaje odkryta za pomocą
stat
polecenia. W moim systemie ta data jest „dotykana” za każdym razem, gdy jądro jest uruchamiane przy użyciu tego ( Jak dowiedzieć się, kiedy konkretna wersja jądra została ostatnio uruchomiona? ) Skrypt restartu cron . Jednak w twoim systemie data będzie datą wydania jądra, a nie ostatnim uruchomieniem systemu.apt-get purge
daje szansę na przerwanie ciążyMasz ostatnią okazję, aby zobaczyć wszystko, co zostanie wyczyszczone i zobaczyć całkowite miejsce na dysku (nieco mylące), które zostanie odzyskane:
Kod
Skopiuj ten kod do pliku wykonywalnego o nazwie
rm-kernels
w/usr/local/bin
:UWAGA: Aby utworzyć plik, potrzebujesz uprawnień sudo, więc użyj:
Aby użyć pliku wykonywalnego:
Wersja serwera
rm-kernels-server
to wersja serwerowa do selektywnego usuwania jąder jednocześnie. Zamiast okna dialogowego z graficznym interfejsem użytkownika do wybrania jądra do oczyszczenia służy okno dialogowe tekstowe.Przed uruchomieniem skryptu musisz zainstalować funkcję okna dialogowego, używając:
sudo apt install dialog
Okno dialogowe jest w domyślnej instalacji Ubuntu Desktop, ale nie w Ubuntu Server.
Przykładowy ekran
rm-kernels-server
kod bashUWAGA: W wezwaniu do
dialog
dyrektywy--ascii-lines
przekazywana jest zamiana rozszerzonego zestawu znaków rysowania linii (któryssh
nie lubi) na „+ ----- +” dla pól rysowania. Jeśli nie podoba ci się ten wygląd, możesz użyć--no-lines
dyrektywy w ogóle bez pudełka.Aktualizacje z 28 lipca 2017 r
Pobrano obliczony rozmiar każdego jądra, z
/boot/*kernel_version*
którego było 5 plików o łącznej ~ 50 MB. Formuła uległa zmianie, aby uwzględnić pliki w/usr/src/*kernel_version*
i/lib/modules/*kernel_version*
. Obliczony rozmiar każdego jądra wynosi teraz ~ 400 MB. Powyższy kod dlarm-kernels
irm-kernels-server
został zaktualizowany. Jednak powyższe przykładowe ekrany nie odzwierciedlają jeszcze tych zmian.Domyślnie szacuje się rozmiar plików nagłówków linuksa na 125 MB i obrazu linux na 220 MB, ponieważ
du
może być boleśnie powolny, chyba że pliki są w pamięci podręcznej. Aby uzyskać rzeczywisty rozmiar, użyjdu
dowolnego parametru do skryptu.Suma wszystkich rozmiarów jądra (z wyjątkiem bieżącej wersji, której nie można usunąć) jest teraz wyświetlana na pasku tytułu.
Okno dialogowe używane do wyświetlania daty ostatniego dostępu każdego jądra . Ta data może zostać masowo nadpisana dla wszystkich jąder podczas tworzenia kopii zapasowej lub podobnych operacji. Okno dialogowe pokazuje teraz zamiast tego datę modyfikacji .
źródło
Łatwym sposobem na pozbycie się prawie wszystkich przestarzałych pakietów, pakietów, które nie są już na żadnej liście pakietów, oraz przestarzałych jąder jest wykonanie jednej z następujących czynności:
Pominie to jednak pakiety, które są nadal zalecane przez inne pakiety, a argument -R / - bez-poleca nie rozwiązuje tego problemu.
dselect po przełączeniu trybu sortowania na „o” pokaże wszystkie przestarzałe pakiety, w tym te, które brakuje, ale niektóre osoby nie lubią ich używać.
źródło
Zaakceptowana odpowiedź polegająca
sed
na usunięciu starszych jąder na stałe ma pewne wady, jeśli ktoś nie uruchomił ponownie komputera po aktualizacji jądra, polecenie usunie także nowsze jądro.Oto alternatywne rozwiązanie, które weźmie pod uwagę wszystkie sytuacje, aby usunąć tylko rzeczywiste starsze jądra:
Jeśli masz wersję nowszą niż bieżąca, pojawi się ostrzeżenie, aby najpierw ponownie uruchomić komputer. Zauważ również, że starsze jądra są zachowane z dobrego powodu, który jest taki, że jeśli w jakiś sposób zepsujesz swoje obecne jądro, powodując niestabilność systemu, powinieneś być w stanie uruchomić się na dowolnym starszym jądrze.
źródło
sed
rozwiązań.grep -Po "^linux-image-[^-]+-[^-]+-generic\b"
zgrep -Eo "^linux-(image|headers|tools)-[^-]+-[^-]+(|-generic)\s" | sed -e "s/\s//g"
igrep -Po ".*(?=-[a-z]*$)"
zgrep -Eo "^[0-9]+\.[0-9]+\.[0-9]+-[0-9]+"
agrep -Po "[0-9].*(?=-[a-z]*)"
zgrep -Eo "[0-9]+\.[0-9]+\.[0-9]+-[0-9]+"
?ailurus ma funkcję usuwania starych jąder, a także nieużywanych konfiguracji. Osobiście usuwam go ręcznie z synaptic. Możesz zainstalować ailurus z getdeb oraz ppa
źródło
Mam do tego skrypt, który nie wymaga bardzo fantazyjnej analizy ciągów.
Usuń nagłówki i obrazy oprócz bieżącego, aby zwolnić miejsce
źródło
Możesz użyć ukuu - to wszystko GUI - do aktualizacji i usuwania starych jąder. Pracuje dla mnie!
Pamiętaj tylko, że zostaw ostatnie 2 zainstalowane i oczywiście „działające” jądro.
Możesz także ustawić ukuu, aby wyświetlał tylko wersje główne, nawet jądra RC, wersje ukryte.
Możesz znaleźć ukuu w Synaptic, lub instrukcje są tutaj:
OMG! Ubuntu instrukcje instalacji ukuu
źródło
Na podstawie poprzedniej odpowiedzi Davida Kempa poniższy skrypt wyczyści wszystkie nagłówki i obrazy z wyjątkiem ostatnich 2 wersji.
(użyj,
apt-get -y
aby usunąć bez pytania)źródło
| xargs sudo apt-get -y purge
całkowicie). Jeśli wydrukuje 3.13.0-43-lowlatency, być może masz jakieś nowsze wersje niż ta zainstalowana w twoim systemie.Oto ogólny zarys tego, co zrobiłem, ostrożnie, ponieważ nie jestem ekspertem od Linuksa. Upewnij się, że wiesz, co robisz, i że utworzyłeś kopię zapasową plików, które modyfikujesz.
następnie znajdź wpisy, które chcesz zachować, zaznaczymy je i skopiujemy
zobaczysz listę plików takich jak 10_linux i 30_os-prober
przestanie to automatycznie dodawać wszystkie wpisy linuksa do menu rozruchu grub.
otwórz niestandardowy plik menu rozruchu, a następnie wróć do grub.cfg (który nadal powinien być otwarty w gedit) i skopiuj wpisy, które chcesz zachować ... takie jak
wklej je
40_custom
, a następnie zapisz.sprawia, że jest wykonywalny, a następnie aktualizujemy grub, co zmieni plik grub.cfg:
OSTRZEŻENIE, jeśli zaktualizujesz jądro lub system operacyjny, menu rozruchu prawdopodobnie się nie zaktualizuje ... musisz to zrobić ręcznie. Ale wykonanie tej procedury pozwoli ci jeszcze bardziej dostosować menu startowe, na przykład usunąć wersję jądra i po prostu wstawić nazwę Ubuntu ... tj. Ubuntu Lucid 10.04 itp.
Mam nadzieję, że ktoś uzna to za pomocne, ponieważ zajęło mi to trochę czasu, aby wymyślić ... nigdzie nie widziałem tego rozwiązania ...
źródło
Zainstaluj menedżera pakietów synaptycznych i przejdź do karty filtrów (myślę, że filtry, jeśli nie wypróbuję wszystkich 5) i wybierz „lokalny”. Spowoduje to wyświetlenie osieroconych pakietów w systemie, takich jak jądra. Po ich odinstalowaniu uruchom
update-grub
. To polecenie aktualizuje listę opcji rozruchu dla grub.Jeśli to się nie powiedzie, zawsze możesz spróbować
apt-get remove linux-image-version-generic
.źródło
update-grub
zaleca się.Aby mieć nieco większą kontrolę nad tym, które wersje zachować, wyraźnie wybierz te, które chcesz usunąć. Na przykład, jeśli chcesz usunąć jądro w wersji 3.2.0. [49-53], użyj prostej
for
pętli:Dopasuj listę wersji jądra, aby dopasować.
źródło
Spróbuj tego. Uruchom jako root.
Zapisz ten skrypt jako, powiedzmy ./keep-n-kernels.sh
Podaj jako argument wiersza poleceń liczbę najnowszych jąder, które chcesz zachować.
Przykładowe użycie:
Jeśli chcesz [I NA WŁASNE RYZYKO], możesz dodać -y (lub flagę wymuszenia) do komendy apt-get i sprawić, by nie była interaktywna.
źródło
Korzystam z pulpitu KDE, a najłatwiejszą dostępną opcją było użycie aplikacji kde-config-grub2, jak to sugerowano tutaj: https://www.kubuntuforums.net/showthread.php?58075-remove-old-linux-versions (który już zainstalowałem w celu ustawienia obrazu tła, domyślnej opcji rozruchu itp.). Obok rozwijanego pola, w którym można wybrać domyślny wpis, znajduje się przycisk „Usuń stare wpisy”. Kliknięcie tego przycisku wyświetla listę wszystkich zainstalowanych jąder i możesz wybrać, które z nich chcesz usunąć. Po zastosowaniu zmian użyje programu dpkg, aby usunąć je z systemu, a także z menu GRUB.
źródło
Aby wejść, możesz także wydać
apt-get remove linux-{image,headers}-x.y.z-{1,2,...,n}
jako root, a zadanie zostanie wykonane.
źródło
Jeśli używasz ansible do sterowania maszynami, ten poradnik może być pomocny.
źródło