GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come rimuovere le vecchie versioni del kernel dall'avvio su Ubuntu 18.04

Canonical fornisce aggiornamenti regolari per il sistema Ubuntu 18.04 inclusi gli aggiornamenti del kernel per gestire le risorse del sistema nel miglior modo possibile. Questo articolo ti fornirà alcuni metodi diversi per rimuovere i vecchi kernel dal menu di avvio di Ubuntu 18.04. Quando installi un nuovo kernel, quelli vecchi non vengono eliminati perché può aiutarti ad avviare se commetti un errore con quello nuovo o per qualche altro motivo. Si noti che il vecchio kernel consuma alcuni spazi che possono essere utili per qualcos'altro. A volte abbiamo bisogno di aggiornare il kernel per la compatibilità perché è responsabile dell'interfaccia di tutte le applicazioni.

Controlla i vecchi kernel

Per evitare errori con l'attuale kernel di avvio del tuo sistema Ubuntu 18.04, assicurati di controllarne la versione

# uname -r
4.15.0-23-generic

Prima di provare a rimuovere il vecchio kernel, devi prima controllare se sono presenti vecchi kernel nei sistemi. Per farlo, puoi guardare il grub all'avvio del sistema

puoi selezionare "opzione avanzata per Ubuntu". Puoi vedere il kernel corrente in cima all'elenco con il vecchio kernel subito dopo 4.15.0.13- generico

C'è un altro metodo per controllare il vecchio kernel nella riga di comando. Questo ti aiuterà a elencare il vecchio kernel e non quello attuale

# 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

Puoi vedere che hai effettivamente un vecchio kernel installato contrassegnato con ii. Puoi vedere kernel più vecchi se hai eseguito un aggiornamento o un'installazione manuale. C'è uno stato quando controlli il kernel

  • ii :significa che il kernel/i pacchetti sono installati e idonei per la rimozione.
  • rc :indica che il kernel è già stato rimosso.
  • iU :è qualcosa come un avviso che dice di NON RIMUOVERE. Ciò significa che non è installato ma è in coda per l'installazione in apt .

Assicurati di vedere lo stato prima di fare qualsiasi cosa. Ora che abbiamo trovato alcuni kernel installati, ora vediamo i diversi metodi per rimuoverli ciascuno o la totalità.

1) Rimuovere i vecchi kernel dalla riga di comando

Ci sono alcuni comandi utili per rimuovere i vecchi kernel sia che tu li abbia installati manualmente o direttamente tramite gli aggiornamenti di sistema. Normalmente lo installi tramite i normali aggiornamenti di sistema ma per alcuni motivi puoi decidere di fare un'installazione manuale.

a) comando apt

L'apt command help per disinstallare i pacchetti inclusi i vecchi kernel che non ti servono nei tuoi sistemi Ubuntu 18.04. Puoi controllare quelli che sono stati installati automaticamente come di seguito

# 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

e puoi controllare quelli che sono stati installati manualmente come di seguito

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

Come puoi vedere, non abbiamo alcun kernel installato manualmente. Puoi rimuovere tutto il vecchio kernel con remove parametro come di seguito:

# 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]

Quando rimuovi un kernel, assicurati di aggiornare grub per vedere se si verificano errori durante la generazione di grub

# 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

Ora puoi controllare di nuovo se è stato rimosso

# 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

Puoi vedere lo stato rc che mostrano che è stato rimosso. Puoi controllare anche nel menu di avvio e vedere che appare solo il kernel di avvio corrente

Puoi anche usare apt autoremove comando ma dovresti notare che il comando viene utilizzato per rimuovere i pacchetti che sono stati installati automaticamente per soddisfare le dipendenze per altri pacchetti e non sono più necessari come dipendenze. Quindi controlla se non c'è un pacchetto che devi presentare nell'elenco dei pacchetti da rimuovere

# apt autoremove --purge

b) comando dpkg

Puoi anche usare dpkg comando per rimuovere un kernel specifico sul tuo sistema Ubuntu 18.04. Questa volta dovrai indicare il pacchetto e le dipendenze extra

# 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
...

Puoi ricontrollare le tracce ma vedrai che sono state completamente rimosse perché non avrai un output che mostra che è stato rimosso (rc)

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

Puoi anche guardare il grub

c) Utilizzo di uno script

Abbiamo trovato un interessante script interattivo di Kivisade su Github che ti aiuta a rimuovere i vecchi kernel. Usa il comando dpkg ma la cosa interessante è il fatto che elenca i kernel da rimuovere e chiede la tua opinione. Prima installa git

# apt install git

Ora clona il progetto

# 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.

entra nella cartella e dai il permesso

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

Ora esegui lo script

# ./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
...
...

Ora puoi verificare se i kernel sono stati effettivamente rimossi. Non avrai un output quindi i vecchi kernel sono stati rimossi

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

2) Usa gli strumenti grafici per rimuovere i vecchi kernel

Puoi anche usare lo strumento grafico per disinstallare i pacchetti del kernel. Lo strumento chiederà la tua password durante il processo perché è necessario disporre dell'autorizzazione amministrativa.

a) Pulitore Ubuntu

Ubuntu Cleaner è un'utilità di sistema intuitiva progettata per pulire le cache del browser, rimuovere le app non necessarie e ottenere riprese dei vecchi kernel. Ubuntu può essere utile se vuoi rimuovere:

  • Cache delle applicazioni che includono la maggior parte dei principali browser
  • Attacca la cache
  • Vecchio kernel
  • Pacchetti non necessari

Il pacchetto non è presente di default nel repository ufficiale quindi è necessario aggiungere il PPA. Ricorda che su Ubuntu 18.04 non è necessario aggiornare la cache dei pacchetti dopo aver aggiunto il PPA perché viene avviato automaticamente. Quindi aggiungi il PPA come di seguito

~# 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]
...
...

Ora puoi installare lo strumento

# 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
...
...

Quindi avvia il software

Quindi scegli la sezione del vecchio kernel e seleziona i kernel da rimuovere

Ti verrà richiesta la password e il processo inizierà

Ora puoi controllare se i kernel sono ancora presenti. Puoi vedere lo stato che indica che è stato rimosso

# 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) Sinaptico

Synaptic è un'interfaccia grafica per l'Advanced Packaging Tool (APT) utilizzato dai sistemi basati su Debian per gestire l'installazione dei pacchetti/software. Non è uno strumento facile da usare, quindi può essere molto confuso da usare, ecco perché devi stare molto attento.

# 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

Ora avvia l'applicazione

Ora vai a Sezione -> Kernel e moduli, scegli i kernel da rimuovere e contrassegna per una rimozione completa. Assicurati di scegliere i kernel giusti nell'elenco

Ti chiederà conferma

Puoi vedere che contrassegna automaticamente la dipendenza. Applicare per rimuovere i kernel

Chiederà la conferma. Candidati

Puoi vedere una finestra che mostra il processo. Se guardi attentamente, vedrai alla fine che il grub è stato generato e i vecchi kernel non sono presenti.

Conclusione

Ora sai come rimuovere il vecchio kernel dall'avvio di Ubuntu 18.04. Dovresti notare che si consiglia di eliminare tutto il vecchio kernel perché se non sei in grado di avviare con il tuo kernel corrente per qualsiasi motivo. Quindi si consiglia di conservare almeno due o preferibilmente tre kernel compreso l'ultimo. Il motivo della raccomandazione è che avrai almeno uno o due altri kernel con cui avviare.

Leggi anche

  • Come utilizzare gli strumenti di traccia del kernel BCC per l'analisi delle prestazioni di Linux
  • Come rimuovere e aggiungere PPA su Ubuntu 18.04
  • 6 comandi per cancellare il terminale Linux

Ubuntu
  1. Come installare il kernel 5.13 in Ubuntu 18.04 dal repository 20.04

  2. Come installare Ubuntu 16.04 da una scheda SD?

  3. Come rimuovere la password dal file pdf in Ubuntu

  4. Come disinstallare aria2 da Ubuntu

  5. Come rimuovo VS Code e impostazioni da Ubuntu?

Come aggiornare da Ubuntu 20.04 a Ubuntu 22.04

Come rimuovere le versioni precedenti del kernel Linux in Ubuntu

Come disinstallare Ubuntu da Windows Dual Boot in modo sicuro

Come rimuovere i pacchetti da Ubuntu e Debian

Come cambiare il kernel all'avvio?

Come rimuovere le vecchie versioni del kernel per ripulire il menu di avvio?