GNU/Linux >> Linux Esercitazione >  >> Linux

Come eliminare le scatole vaganti obsolete in Linux

Potresti aver scaricato diverse versioni di scatole Vagrant e alcune di esse potrebbero essere piuttosto obsolete! Se non sono più necessari, puoi eliminare in modo sicuro le scatole Vagrant obsolete in Linux come descritto in questa breve guida.

Cerca le caselle Vagrant obsolete

Ho usato Vagrant negli ultimi mesi a scopo di test. A partire dalla versione 1.5 di Vagrant, i box supportano il controllo delle versioni. Il controllo delle versioni della scatola consente agli sviluppatori che creano scatole di inviare aggiornamenti o correzioni e agli utenti di aggiornare facilmente la scatola sottostante.

Se una casella non è aggiornata, l'utente verrà avvisato quando avvia l'ambiente vagrant utilizzando vagrant up comando:

$ vagrant up

Risultato di esempio:

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'generic/alpine38' version '3.1.16' is up to date...
==> default: A newer version of the box 'generic/alpine38' for provider 'virtualbox' is
==> default: available! You currently have version '3.1.16'. The latest is version
==> default: '3.1.22'. Run `vagrant box update` to update.
==> default: Clearing any previously set forwarded ports...
...

L'utente può anche controllare manualmente le caselle obsolete nell'ambiente Vagrant corrente utilizzando vagrant box outdated comando:

$ vagrant box outdated

Questo comando ti mostrerà l'elenco delle caselle che devono essere aggiornate.

Checking if box 'generic/alpine38' version '3.1.16' is up to date...
A newer version of the box 'generic/alpine38' for provider 'virtualbox' is
available! You currently have version '3.1.16'. The latest is version
'3.1.22'. Run `vagrant box update` to update.

Se vuoi controllare tutte le caselle installate, aggiungi semplicemente --global flag alla fine:

$ vagrant box outdated --global

Risultato di esempio:

/usr/share/rubygems-integration/all/gems/vagrant-2.2.6/plugins/commands/box/command/outdated.rb:65: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
/usr/share/rubygems-integration/all/gems/vagrant-2.2.6/lib/vagrant/box.rb:124: warning: The called method `load_metadata' is defined here
* 'oraclelinux/8' for 'libvirt' (v8.3.183) is up to date
* 'oraclelinux/7' for 'virtualbox' is outdated! Current: 7.9.184. Latest: 7.9.185
* 'generic/alpine38' for 'virtualbox' is outdated! Current: 3.1.16. Latest: 3.1.22
* 'fedora33' for 'virtualbox' wasn't added from a catalog, no version information
* 'archlinux/archlinux' for 'virtualbox' is outdated! Current: 20201215.11392. Latest: 20210115.13749
* 'archlinux/archlinux' for 'virtualbox' is outdated! Current: 20201201.10292. Latest: 20210115.13749
* 'Fedora33' for 'libvirt' wasn't added from a catalog, no version information

Come puoi vedere nell'output sopra, ho alcune scatole obsolete.

Gli utenti possono aggiornare la casella associata all'ambiente Vagrant corrente con il comando:

$ vagrant box update

Il comando precedente scarica la nuova versione di box e la installa. Tutte le scatole scaricate vengono salvate in ~/.vagrant.d/boxes directory nel tuo sistema host. La versione precedente della scatola rimarrà disponibile nella stessa posizione fino a quando non rimuoverai manualmente quella scatola Vagrant dalla cartella della cache.

Puoi verificarlo elencando tutti i box Vagrant installati con il comando:

$ vagrant box list

Risultato di esempio:

Fedora33            (libvirt, 0)
archlinux/archlinux (virtualbox, 20201201.10292)
archlinux/archlinux (virtualbox, 20201215.11392)
fedora33            (virtualbox, 0)
generic/alpine38    (virtualbox, 3.1.16)
oraclelinux/7       (virtualbox, 7.9.184)
oraclelinux/8       (libvirt, 8.3.183)

Come puoi vedere nell'output sopra, ho due versioni di scatole vagrant di Arch Linux. Non è necessario mantenere due scatole dello stesso sistema operativo. Quindi rimuoviamo la scatola del vagabondo obsoleta.

Elimina Scatole Vagrant obsolete

Puoi usare vagrant box prune comando per rimuovere le scatole Vagrant obsolete nel tuo sistema Linux.

Per prima cosa, verifichiamo quali scatole verranno eliminate e quali verranno conservate con --dry-run opzione. L'opzione viene utilizzata per simulare i comandi senza cambiare nulla in un sistema Linux.

$ vagrant box prune --dry-run

Questo comando in realtà non eliminerà alcuna casella, ma stamperà solo le caselle che verrebbero rimosse.

Risultato di esempio:

The following boxes will be kept...
Fedora33            (libvirt, 0)
archlinux/archlinux (virtualbox, 20201215.11392)
fedora33            (virtualbox, 0)
generic/alpine38    (virtualbox, 3.1.16)
oraclelinux/7       (virtualbox, 7.9.184)
oraclelinux/8       (libvirt, 8.3.183)

Checking for older boxes...
Would remove archlinux/archlinux virtualbox 20201201.10292

Come puoi vedere nell'output sopra, la casella vagabondo denominata "archlinux/archlinux virtualbox 20201201.10292 " verrà rimosso dal tuo sistema.

Ora sai quale scatola verrà rimossa. Se per te va bene, esegui semplicemente lo stesso comando comando senza --dry-run opzione:

$ vagrant box prune

Questo comando manterrà le caselle attuali aggiornate e rimuoverà tutte le altre caselle obsolete.

The following boxes will be kept...
Fedora33            (libvirt, 0)
archlinux/archlinux (virtualbox, 20201215.11392)
fedora33            (virtualbox, 0)
generic/alpine38    (virtualbox, 3.1.16)
oraclelinux/7       (virtualbox, 7.9.184)
oraclelinux/8       (libvirt, 8.3.183)

Checking for older boxes...
Removing box 'archlinux/archlinux' (v20201201.10292) with provider 'virtualbox'...
Vagrant-libvirt plugin removed box only from you LOCAL ~/.vagrant/boxes directory
From libvirt storage pool you have to delete image manually(virsh, virt-manager or by any other tool)

Ora verifica l'elenco delle scatole installate:

$ vagrant box list
Fedora33            (libvirt, 0)
archlinux/archlinux (virtualbox, 20201215.11392)
fedora33            (virtualbox, 0)
generic/alpine38    (virtualbox, 3.1.16)
oraclelinux/7       (virtualbox, 7.9.184)
oraclelinux/8       (libvirt, 8.3.183)

Vedere? Ora mostra solo una casella vagabondo di archlinux. La casella obsoleta viene eliminata.

La prune comando ha anche altre opzioni utili. Puoi usare -p , --provider opzione per distruggere le scatole con un PROVIDER specifico (es. Virtualbox o libvirt).

Il -f , --force flag distrugge senza conferma anche quando la scatola è in uso. Il -k , --keep-active-boxes l'opzione viene utilizzata per mantenere le scatole ancora attivamente in uso.

Per visualizzare la sezione della guida, esegui:

$ vagrant box prune --help

Linux
  1. Come uso Vagrant con libvirt

  2. Come rimuovere (eliminare) un file o una directory in Linux

  3. Come eliminare il file di posta principale (cassetta postale) in Linux

  4. Come installare Vagrant su Linux

  5. Come installare Vagrant su Linux

Come trovare ed eliminare directory vuote in Linux

Come controllare Vagrant Box usando i comandi Vagrant

Come creare una scatola vagabondo da una scatola esistente

Come eliminare i file elencati in un altro file in Linux

Come eliminare le partizioni in Linux [Guida per principianti]

Come installare MX Linux su Virtual Box