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

So löschen Sie veraltete Vagrant-Boxen in Linux

Möglicherweise haben Sie mehrere Versionen von Vagrant-Boxen heruntergeladen und einige davon sind möglicherweise ziemlich veraltet! Wenn sie nicht mehr benötigt werden, können Sie veraltete Vagrant-Boxen unter Linux sicher löschen, wie in dieser kurzen Anleitung beschrieben.

Suchen Sie nach veralteten Vagrant-Boxen

Ich benutze Vagrant in den letzten Monaten zu Testzwecken. Seit Vagrant Version 1.5 unterstützen Boxen Versionierung. Die Box-Versionierung ermöglicht es den Entwicklern, die Boxen erstellen, Updates oder Fixes zu pushen, und den Benutzern, die zugrunde liegende Box einfach zu aktualisieren.

Wenn eine Box veraltet ist, wird der Benutzer benachrichtigt, wenn er die Vagrant-Umgebung mit vagrant up startet Befehl:

$ vagrant up

Beispielausgabe:

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

Der Benutzer kann auch manuell nach veralteten Boxen in Ihrer aktuellen Vagrant-Umgebung suchen, indem er vagrant box outdated verwendet Befehl:

$ vagrant box outdated

Dieser Befehl zeigt Ihnen die Liste der Boxen, die aktualisiert werden müssen.

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.

Wenn Sie nach allen installierten Boxen suchen möchten, fügen Sie einfach --global hinzu Flagge am Ende:

$ vagrant box outdated --global

Beispielausgabe:

/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

Wie Sie in der obigen Ausgabe sehen können, habe ich einige veraltete Boxen.

Die Benutzer können das mit der aktuellen Vagrant-Umgebung verknüpfte Feld mit dem Befehl aktualisieren:

$ vagrant box update

Der obige Befehl lädt die neue Version von Box herunter und installiert sie. Alle heruntergeladenen Boxen werden unter ~/.vagrant.d/boxes gespeichert Verzeichnis in Ihrem Hostsystem. Die ältere Version der Box bleibt am selben Ort verfügbar, bis Sie diese Vagrant-Box manuell aus dem Cache-Ordner entfernen.

Sie können dies überprüfen, indem Sie alle installierten Vagrant-Boxen mit dem Befehl auflisten:

$ vagrant box list

Beispielausgabe:

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)

Wie Sie in der obigen Ausgabe sehen können, habe ich zwei Versionen von Arch Linux Vagrant Boxes. Es besteht keine Notwendigkeit, zwei Boxen mit demselben Betriebssystem zu behalten. Lassen Sie uns also die veraltete Vagrant-Box entfernen.

Veraltete Vagrant-Boxen löschen

Sie können vagrant box prune verwenden Befehl, um die veralteten Vagrant-Boxen in Ihrem Linux-System zu entfernen.

Lassen Sie uns zunächst mit --dry-run überprüfen, welche Boxen gelöscht und welche beibehalten werden Möglichkeit. Die Option wird verwendet, um Befehle zu simulieren ohne etwas in einem Linux-System zu ändern.

$ vagrant box prune --dry-run

Dieser Befehl löscht eigentlich keine Boxen, sondern druckt nur die Boxen, die entfernt würden.

Beispielausgabe:

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

Wie Sie in der obigen Ausgabe sehen, ist die Vagrant-Box mit dem Namen „archlinux/archlinux virtualbox 20201201.10292 " wird von Ihrem System entfernt.

Sie wissen jetzt, welche Box entfernt wird. Wenn es für Sie in Ordnung ist, führen Sie einfach denselben Befehl command ohne aus --dry-run Möglichkeit:

$ vagrant box prune

Dieser Befehl behält die aktuell aktualisierten Boxen bei und entfernt alle anderen veralteten Boxen.

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)

Überprüfen Sie nun die Liste der installierten Boxen:

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

Sehen? Jetzt zeigt es nur noch eine archlinux Vagrant Box. Die veraltete Box wird gelöscht.

Die prune Der Befehl hat auch andere nützliche Optionen. Sie können -p verwenden , --provider Option zum Zerstören von Boxen mit einem bestimmten ANBIETER (z. B. Virtualbox oder libvirt).

Das -f , --force Flag zerstört ohne Bestätigung, auch wenn die Box verwendet wird. Das -k , --keep-active-boxes Option wird verwendet, um Boxen weiterhin aktiv zu verwenden.

Um den Hilfeabschnitt anzuzeigen, führen Sie Folgendes aus:

$ vagrant box prune --help

Linux
  1. Wie ich Vagrant mit libvirt verwende

  2. So entfernen (löschen) Sie eine Datei oder ein Verzeichnis in Linux

  3. So löschen Sie die Root-E-Mail-Datei (Postfach) unter Linux

  4. So installieren Sie Vagrant unter Linux

  5. So installieren Sie Vagrant unter Linux

So finden und löschen Sie leere Verzeichnisse in Linux

So steuern Sie Vagrant Box mit Vagrant-Befehlen

So erstellen Sie eine Vagrant-Box aus einer vorhandenen Box

So löschen Sie Dateien, die in einer anderen Datei unter Linux aufgeführt sind

So löschen Sie Partitionen unter Linux [Anfängerhandbuch]

So installieren Sie MX Linux auf einer virtuellen Box