GNU/Linux >> Znalost Linux >  >> Linux

Jak odstranit zastaralé krabice tuláků v Linuxu

Možná jste si stáhli několik verzí krabic Vagrant a některé z nich mohou být značně zastaralé! Pokud již nejsou vyžadovány, můžete v Linuxu bezpečně odstranit zastaralé krabice Vagrant, jak je popsáno v tomto stručném průvodci.

Kontrola zastaralých krabic Vagrant

Používám Vagrant za posledních několik měsíců pro testovací účely. Od verze Vagrant 1.5 boxy podporují verzování. Verze krabic umožňuje vývojářům, kteří vyrábějí krabice, zasílat aktualizace nebo opravy a uživatelům snadno aktualizovat základní krabici.

Pokud je krabice zastaralá, uživatel bude upozorněn, když spustí prostředí vagrant pomocí vagrant up příkaz:

$ vagrant up

Ukázkový výstup:

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

Uživatel může také ručně zkontrolovat zastaralá políčka ve vašem aktuálním prostředí Vagrant pomocí vagrant box outdated příkaz:

$ vagrant box outdated

Tento příkaz vám zobrazí seznam polí, která je třeba aktualizovat.

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.

Pokud chcete zkontrolovat všechny nainstalované boxy, jednoduše přidejte --global vlajka na konci:

$ vagrant box outdated --global

Ukázkový výstup:

/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

Jak můžete vidět ve výše uvedeném výstupu, mám nějaké zastaralé boxy.

Uživatelé mohou aktualizovat box spojený s aktuálním prostředím Vagrant příkazem:

$ vagrant box update

Výše uvedený příkaz stáhne novou verzi boxu a nainstaluje ji. Všechny stažené boxy jsou uloženy v ~/.vagrant.d/boxes adresář ve vašem hostitelském systému. Starší verze krabice zůstane k dispozici na stejném místě, dokud ručně neodstraníte krabici Vagrant ze složky mezipaměti.

Můžete to ověřit výpisem všech nainstalovaných boxů Vagrant příkazem:

$ vagrant box list

Ukázkový výstup:

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)

Jak můžete vidět ve výše uvedeném výstupu, mám dvě verze krabiček Arch Linux vagrant. Není potřeba mít dvě krabice stejného OS. Pojďme tedy odstranit zastaralou krabici tuláků.

Smazat zastaralé krabice tuláků

Můžete použít vagrant box prune příkaz k odstranění zastaralých krabic Vagrant ve vašem systému Linux.

Nejprve ověřte, které boxy budou smazány a které zůstanou zachovány pomocí --dry-run volba. Tato možnost se používá k simulaci příkazů aniž byste cokoli měnili v systému Linux.

$ vagrant box prune --dry-run

Tento příkaz ve skutečnosti neodstraní žádná pole, ale vytiskne pouze pole, která by byla odstraněna.

Ukázkový výstup:

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

Jak vidíte ve výše uvedeném výstupu, tulákový box s názvem "archlinux/archlinux virtualbox 20201201.10292 " bude odstraněn z vašeho systému.

Nyní víte, která krabice bude odstraněna. Pokud je to pro vás v pořádku, jednoduše spusťte stejný příkaz příkaz bez --dry-run možnost:

$ vagrant box prune

Tento příkaz zachová aktuální aktualizované boxy a odstraní všechny ostatní zastaralé boxy.

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)

Nyní zkontrolujte seznam nainstalovaných boxů:

$ 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)

Vidět? Nyní ukazuje pouze jeden archlinuxový tulák. Zastaralé pole je smazáno.

prune příkaz má také další užitečné možnosti. Můžete použít -p , --provider možnost zničit krabice s konkrétním PROVIDEREM (např. Virtualbox nebo libvirt).

-f , --force vlajka zničí bez potvrzení, i když je krabice používána. -k , --keep-active-boxes Tato možnost se používá k udržení krabic stále aktivně používaných.

Chcete-li zobrazit sekci nápovědy, spusťte:

$ vagrant box prune --help

Linux
  1. Jak používám Vagrant s libvirt

  2. Jak odstranit soubor root Mails (Mailbox) v Linuxu

  3. Jak nainstalovat Vagrant v Linuxu

  1. Jak odstranit (smazat) soubor nebo adresář v Linuxu

  2. Jak odstranit řádek ve Vim na Linuxu

  3. Jak nainstalovat Vagrant na Linux

  1. Jak odstranit oddíl v Linuxu

  2. Jak odstranit soubor na Ubuntu Linux

  3. Jak odstranit (smazat) adresář v Linuxu