LINUX

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

Rimuovi il menu di avvio delle vecchie versioni del kernel

Canonical fornisce aggiornamenti regolari al sistema Ubuntu 18.04, inclusi gli aggiornamenti del kernel, per gestire al meglio le risorse di sistema. 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 cancellati 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 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, dovresti prima controllare se ci sono vecchi kernel presenti nei sistemi. Per fare ciò, puoi guardare grub all’avvio del sistema

puoi selezionare “opzione avanzata per Ubuntu”. Puoi vedere il core attuale in cima all’elenco, che segue solo quello vecchio 4.15.0.13-GEnerd

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 in realtà hai un vecchio kernel contrassegnato con installato ii. Potresti vedere kernel più vecchi se hai eseguito un aggiornamento o un’installazione manuale. C’è un certo stato quando controlli il nucleo

  • il: significa che il kernel/i pacchetti sono installati e possono essere rimossi.
  • r: indica che il nucleo è già stato rimosso.
  • il: è qualcosa di simile a un avvertimento che dice NON ELIMINARE. Ciò significa che non è installato, ma è in coda per l’installazione capace.

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

1) Rimuovi 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 aggiornamenti di sistema. Normalmente lo installi tramite regolari aggiornamenti di sistema, ma per qualche motivo potresti decidere di eseguire un’installazione manuale.

a) comando apt

Il capace Il comando aiuta a 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 rimuovere parametro come segue:

# 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 creazione 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 ricontrollare 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 r che mostra che è stato rimosso. Puoi anche controllare nel menu di avvio e vedere che appare solo il kernel di avvio corrente

Puoi anche usare apt autoremove 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) il comando dpkg

Puoi anche usare dpkg comando per rimuovere un kernel specifico dal tuo sistema Ubuntu 18.04. Questa volta dovrai specificare il pacchetto e le dipendenze aggiuntive

# 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 controllare nuovamente le tracce, ma vedrai che sono state completamente rimosse perché non avrai un output che mostra che sono state rimosse (rc)

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

Puoi anche guardare grub

c) Utilizzo di uno script

ne ho trovato uno interessante Lo script interattivo di Kivisade su Github che ti aiuta a rimuovere i vecchi kernel. Usa il comando dpkg ma la cosa interessante è 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.

vai nella cartella e concedi 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 nuclei sono stati effettivamente rimossi. Non avrai un’uscita, quindi i vecchi nuclei sono stati rimossi

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

2) Utilizzare strumenti grafici per rimuovere i vecchi kernel

Puoi anche usare lo strumento grafico per disinstallare i pacchetti del kernel. Lo strumento richiederà la password durante il processo poiché è necessario disporre dell’autorizzazione amministrativa.

a) Pulizia di Ubuntu

Ubuntu Cleaner è un’utilità di sistema facile da usare progettata per pulire le cache del browser, rimuovere le applicazioni non necessarie e ottenere vecchi kernel. Ubuntu può essere utile se vuoi rimuovere:

  • Cache delle applicazioni che includono la maggior parte dei principali browser
  • cache appropriata
  • Vecchio nucleo
  • Pacchetti inutili

Il pacchetto non è presente di default nel repository ufficiale, quindi dobbiamo aggiungere il PPA. Ricorda che su Ubuntu 18.04 non è necessario aggiornare la cache dei pacchetti dopo aver aggiunto il PPA perché viene rilasciato 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 avviare il software

Quindi scegli la vecchia sezione del nucleo e seleziona i nuclei da rimuovere

Ti verrà chiesta la password e il processo avrà inizio

Ora puoi verificare 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 Advanced Packaging Tool (APT) utilizzata dai sistemi basati su Debian per gestire l’installazione di pacchetti/software. Non è uno strumento facile da usare, quindi può essere molto confuso da usare, quindi 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’app

Ora vai a Sezione -> Kernel e moduli, scegliere i nuclei da rimuovere e contrassegnare per la rimozione completa. Assicurati di scegliere i core giusti dall’elenco

Ti chiederà conferma

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

Chiederà conferma. applicare

Puoi vedere una finestra che mostra il processo. Se guardi attentamente vedrai alla fine che il grub è stato generato e i vecchi chicchi 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 puoi avviare con il kernel attuale per qualsiasi motivo. Quindi si consigliava di mantenere almeno due o preferibilmente tre core compreso l’ultimo. Il motivo della raccomandazione è che avrai almeno uno o due altri core con cui avviare.

Leggi anche tu

Related Articles

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Back to top button
Close