GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So entfernen Sie alte Kernel-Versionen vom Booten unter Ubuntu 18.04

Canonical bietet regelmäßige Updates für das Ubuntu 18.04-System, einschließlich Kernel-Updates, um die Systemressourcen so gut wie möglich zu verwalten. Dieser Artikel stellt Ihnen verschiedene Methoden vor, um alte Kernel aus dem Boot-Menü Ihres Ubuntu 18.04 zu entfernen. Wenn Sie einen neuen Kernel installieren, werden die alten nicht gelöscht, weil es Ihnen beim Booten helfen kann, wenn Sie mit dem neuen einen Fehler machen oder aus anderen Gründen. Beachten Sie, dass der alte Kernel einige Leerzeichen verbraucht, die für etwas anderes nützlich sein können. Manchmal müssen wir den Kernel für Kompatibilität aktualisieren, da er für die Verbindung aller Anwendungen verantwortlich ist.

Nach alten Kerneln suchen

Um Fehler mit dem aktuellen Boot-Kernel Ihres Ubuntu 18.04-Systems zu vermeiden, überprüfen Sie unbedingt dessen Version

# uname -r
4.15.0-23-generic

Bevor Sie versuchen, den alten Kernel zu entfernen, müssen Sie zunächst prüfen, ob alte Kernel in den Systemen vorhanden sind. Dazu können Sie sich beim Systemstart das Grub ansehen

Sie können "erweiterte Option für Ubuntu" auswählen. Sie können den aktuellen Kernel ganz oben in der Liste sehen, den alten Kernel direkt hinter 4.15.0.13- allgemeinnerisch

Es gibt eine andere Methode, um den alten Kernel in der Befehlszeile zu überprüfen. Dies wird Ihnen helfen, den alten Kernel aufzulisten und nicht den aktuellen

# dpkg -l | grep -E 'linux-image-[0-9]+' | grep -Fv $(uname -r)
ii  linux-image-4.15.0-13-generic    4.15.0-13.14        amd64      Linux kernel image for version 4.15.0 on 64 bit x86 SMP

Sie können sehen, dass Sie effektiv einen alten Kernel installiert haben, der mit ii gekennzeichnet ist. Sie können mehr alte Kernel sehen, wenn Sie ein Upgrade oder eine manuelle Installation durchgeführt haben. Es gibt einen Status, wenn Sie den Kernel überprüfen

  • ii :bedeutet, dass der Kernel/die Pakete installiert sind und entfernt werden können.
  • rc :zeigt an, dass der Kernel bereits entfernt wurde.
  • iU :ist so etwas wie eine Warnung, die DON’T REMOVE sagt. Das bedeutet, dass es nicht installiert ist, aber zur Installation in apt in die Warteschlange gestellt wurde .

Stellen Sie sicher, dass Sie den Status sehen, bevor Sie etwas tun. Nachdem wir nun einige installierte Kernel gefunden haben, sehen wir uns jetzt die verschiedenen Methoden an, um jeden oder die Gesamtheit zu entfernen.

1) Alte Kernel in der Kommandozeile entfernen

Es gibt einige nützliche Befehle zum Entfernen der alten Kernel, unabhängig davon, ob Sie sie manuell oder direkt über die Systemupdates installiert haben. Normalerweise installieren Sie es über die regelmäßigen Systemupdates, aber aus bestimmten Gründen können Sie sich für eine manuelle Installation entscheiden.

a) apt-Befehl

Die passende Befehlshilfe, um Pakete einschließlich der alten Kernel zu deinstallieren, die Sie in Ihren Ubuntu 18.04-Systemen nicht benötigen. Sie können die automatisch installierten wie folgt überprüfen

# apt-mark showauto 'linux-image-.*'
linux-image-4.15.0-13-generic
linux-image-4.15.0-23-generic
linux-image-extra-4.15.0-13-generic
linux-image-generic

und Sie können die manuell installierten wie folgt überprüfen

# apt-mark showmanual 'linux-image-.*'

Wie Sie sehen können, haben wir keinen Kernel manuell installiert. Sie können den gesamten alten Kernel mit remove entfernen Parameter wie folgt:

# apt remove linux-image-4.15.0-13-generic
Reading package lists... Done
Building dependency tree 
Reading state information... Done
The following packages will be REMOVED:
 linux-image-4.15.0-13-generic* linux-image-extra-4.15.0-13-generic
....
....
you may need to re-run your boot loader[grub]

Wenn Sie einen Kernel entfernen, stellen Sie sicher, dass Sie Grub aktualisieren, um zu sehen, ob beim Generieren des Grubs ein Fehler auftritt

# update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.15.0-23-generic
Found initrd image: /boot/initrd.img-4.15.0-23-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
done

Jetzt können Sie erneut prüfen, ob es entfernt wurde

# dpkg -l | grep -E 'linux-image-[0-9]+' | grep -Fv $(uname -r)
rc  linux-image-4.15.0-13-generic    4.15.0-13.14     amd64      Linux kernel image for version 4.15.0 on 64 bit x86 SMP

Sie können den Status rc sehen die zeigen, dass es entfernt wurde. Sie können auch im Boot-Menü nachsehen, dass nur der aktuelle Boot-Kernel erscheint

Sie können auch apt autoremove verwenden Sie sollten jedoch beachten, dass der Befehl zum Entfernen von Paketen verwendet wird, die automatisch installiert wurden, um Abhängigkeiten für andere Pakete zu erfüllen, und nicht mehr als Abhängigkeiten benötigt werden. Überprüfen Sie also, ob ein Paket, das Sie benötigen, nicht in der Liste der zu entfernenden Pakete enthalten ist

# apt autoremove --purge

b) dpkg-Befehl

Sie können auch das dpkg verwenden Befehl zum Entfernen eines bestimmten Kernels auf Ihrem Ubuntu 18.04-System. Diesmal müssen Sie das Paket und die zusätzlichen Abhängigkeiten angeben

# dpkg --purge linux-image-4.15.0-13-generic linux-image-extra-4.15.0-13-generic 
(Reading database ... 165680 files and directories currently installed.)
...
...
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.15.0-23-generic
Found initrd image: /boot/initrd.img-4.15.0-23-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
done
...

Sie können die Spuren erneut überprüfen, aber Sie werden feststellen, dass sie vollständig entfernt wurden, da Sie keine Ausgabe haben werden, die zeigt, dass sie entfernt wurden (rc)

# dpkg -l | grep -E 'linux-image-[0-9]+' | grep -Fv $(uname -r)

Sie können auch im Grub nachsehen

c) Verwendung eines Skripts

Wir haben ein interessantes interaktives Skript von Kivisade auf Github gefunden, das Ihnen hilft, die alten Kernel zu entfernen. Es verwendet den Befehl dpkg, aber das Interessante ist die Tatsache, dass es die zu entfernenden Kernel auflistet und nach Ihrer Meinung fragt. Installieren Sie zuerst git

# apt install git

Klonen Sie nun das Projekt

# git clone https://github.com/kivisade/kernel-purge.git
Cloning into 'kernel-purge'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 3
Unpacking objects: 100% (3/3), done.

Geben Sie den Ordner ein und geben Sie die Berechtigung

# cd kernel-purge && chmod +x kernel-purge.sh

Führen Sie nun das Skript aus

# ./kernel-purge.sh 
Running kernel version is: 4.15.0-23
The following (unused) KERNEL packages will be removed:
linux-headers-4.15.0-13
linux-headers-4.15.0-13-generic
linux-image-4.15.0-13-generic
linux-image-extra-4.15.0-13-generic
Do you want to continue [yN]? y
Reading package lists... Done
Building dependency tree 
Reading state information... Done
The following packages will be REMOVED:
 linux-headers-4.15.0-13* linux-headers-4.15.0-13-generic*
 linux-image-4.15.0-13-generic* linux-image-extra-4.15.0-13-generic*
0 upgraded, 0 newly installed, 4 to remove and 0 not upgraded.
After this operation, 335 MB disk space will be freed.
(Reading database ... 168812 files and directories currently installed.)
...
...
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.15.0-23-generic
Found initrd image: /boot/initrd.img-4.15.0-23-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
done
...
...

Jetzt können Sie überprüfen, ob die Kernel effektiv entfernt wurden. Sie werden keine Ausgabe haben, also wurden alte Kernel entfernt

# dpkg -l | grep -E 'linux-image-[0-9]+' | grep -Fv $(uname -r)

2) Verwenden Sie grafische Tools, um alte Kernel zu entfernen

Sie können auch das grafische Tool verwenden, um die Kernelpakete zu deinstallieren. Das Tool wird Sie während des Vorgangs nach Ihrem Passwort fragen, da Sie die Administratorrechte benötigen.

a) Ubuntu-Reiniger

Ubuntu Cleaner ist ein benutzerfreundliches Systemdienstprogramm, das entwickelt wurde, um Browser-Caches zu bereinigen, nicht benötigte Apps zu entfernen und alte Kernel zu entfernen. Ubuntu kann hilfreich sein, wenn Sie Folgendes entfernen möchten:

  • Anwendungs-Caches, die die meisten gängigen Browser enthalten
  • Apt-Cache
  • Alter Kernel
  • Nicht benötigte Pakete

Das Paket ist standardmäßig nicht im offiziellen Repository vorhanden, daher müssen wir das PPA hinzufügen. Denken Sie daran, dass Sie unter Ubuntu 18.04 den Paketcache nach dem Hinzufügen des PPA nicht aktualisieren müssen, da es automatisch gestartet wird. Fügen Sie also das PPA wie folgt hinzu

~# add-apt-repository ppa:gerardpuig/ppa
 Official Ubuntu Cleaner stable repository
 More info: https://launchpad.net/~gerardpuig/+archive/ubuntu/ppa
Press [ENTER] to continue or Ctrl-c to cancel adding it.

Hit:1 http://cm.archive.ubuntu.com/ubuntu bionic InRelease                    
Get:2 http://cm.archive.ubuntu.com/ubuntu bionic-updates InRelease [83.2 kB]  
Get:3 http://security.ubuntu.com/ubuntu bionic-security InRelease [83.2 kB]   
Get:4 http://cm.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
Get:5 http://security.ubuntu.com/ubuntu bionic-security/main amd64 DEP-11 Metadata [204 B]
...
...

Jetzt können Sie das Tool installieren

# apt install ubuntu-cleaner
Reading package lists... Done
Building dependency tree 
Reading state information... Done
The following additional packages will be installed:
 libpython-stdlib python python-apt python-aptdaemon
...
...

Starten Sie dann die Software

Wählen Sie dann den alten Kernel-Abschnitt und wählen Sie die zu entfernenden Kernel aus

Sie werden nach dem Passwort gefragt und der Vorgang beginnt

Jetzt können Sie prüfen, ob die Kerne noch vorhanden sind. Sie können den Status sehen, der anzeigt, dass es entfernt wurde

# dpkg -l | grep -E 'linux-image-[0-9]+' | grep -Fv $(uname -r)
rc  linux-image-4.15.0-13-generic    4.15.0-13.14     amd64      Linux kernel image for version 4.15.0 on 64 bit x86 SMP

b) Synaptisch

Synaptic ist eine grafische Schnittstelle zum Advanced Packaging Tool (APT), das von Debian-basierten Systemen verwendet wird, um die Installation der Pakete/Software zu handhaben. Es ist kein benutzerfreundliches Tool, daher kann die Verwendung sehr verwirrend sein, deshalb müssen Sie sehr vorsichtig sein.

# apt install synaptic
Reading package lists... Done
Building dependency tree 
Reading state information... Done
The following additional packages will be installed:
 docbook-xml libept1.5.0 libgtk2-perl libpango-perl librarian0 rarian-compat
 sgml-base sgml-data xml-core

Starten Sie nun die Anwendung

Wechseln Sie nun zu Abschnitt -> Kernel und Module Wählen Sie die zu entfernenden Kerne aus und markieren Sie sie für eine vollständige Entfernung. Stellen Sie sicher, dass Sie die richtigen Kernel in der Liste auswählen

Sie werden um Ihre Bestätigung gebeten

Sie können sehen, dass die Abhängigkeit automatisch markiert wird. Bewerben, um die Kernel zu entfernen

Es wird um die Bestätigung gebeten. Bewerben

Sie können ein Fenster sehen, das den Prozess zeigt. Wenn Sie genau hinsehen, werden Sie am Ende sehen, dass der Grub generiert wurde und die alten Kernel nicht vorhanden sind.

Schlussfolgerung

Jetzt wissen Sie, wie Sie den alten Kernel aus dem Boot Ihres Ubuntu 18.04 entfernen können. Sie sollten beachten, dass es empfohlen wird, den gesamten alten Kernel zu löschen, da Sie aus irgendeinem Grund nicht mit Ihrem aktuellen Kernel booten können. Es wird daher empfohlen, mindestens zwei oder besser drei Kernel einschließlich des neuesten zu behalten. Der Grund für die Empfehlung ist, dass Sie mindestens einen oder zwei andere Kernel zum Booten haben werden.

Lesen Sie auch

  • So verwenden Sie BCC-Kernel-Tracing-Tools für die Linux-Leistungsanalyse
  • Entfernen und Hinzufügen von PPA unter Ubuntu 18.04
  • 6 Befehle zum Löschen des Linux-Terminals

Ubuntu
  1. So installieren Sie Kernel 5.13 in Ubuntu 18.04 aus dem 20.04-Repository

  2. Wie installiere ich Ubuntu 16.04 von einer SD-Karte?

  3. So entfernen Sie das Passwort aus der PDF-Datei in Ubuntu

  4. So deinstallieren Sie aria2 von Ubuntu

  5. Wie entferne ich VS Code &Einstellungen von Ubuntu?

So aktualisieren Sie von Ubuntu 20.04 auf Ubuntu 22.04

So entfernen Sie ältere Linux-Kernel-Versionen in Ubuntu

So deinstallieren Sie Ubuntu sicher von Windows Dual Boot

So entfernen Sie Pakete von Ubuntu &Debian

Wie ändere ich den Kernel beim Booten?

Wie entferne ich alte Kernel-Versionen, um das Boot-Menü zu bereinigen?