GNU/Linux >> Tutoriels Linux >  >> Linux

Comment supprimer les boîtes Vagrant obsolètes sous Linux

Vous avez peut-être téléchargé plusieurs versions de boîtes Vagrant et certaines d'entre elles sont peut-être assez obsolètes ! S'ils ne sont plus nécessaires, vous pouvez supprimer en toute sécurité les boîtes Vagrant obsolètes sous Linux, comme décrit dans ce bref guide.

Vérifier les boîtes Vagrant obsolètes

J'utilise Vagrant au cours des derniers mois à des fins de test. Depuis la version 1.5 de Vagrant, les box supportent le versioning. Le Box Versioning permet aux développeurs qui créent des boîtes de pousser des mises à jour ou des correctifs et aux utilisateurs de mettre à jour facilement la boîte sous-jacente.

Si une boîte est obsolète, l'utilisateur sera averti lorsqu'il démarrera l'environnement vagrant en utilisant vagrant up commande :

$ vagrant up

Exemple de résultat :

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'utilisateur peut également vérifier manuellement les cases obsolètes dans votre environnement Vagrant actuel en utilisant vagrant box outdated commande :

$ vagrant box outdated

Cette commande vous montrera la liste des boîtes qui doivent être mises à jour.

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.

Si vous souhaitez vérifier toutes les cases installées, ajoutez simplement --global drapeau à la fin :

$ vagrant box outdated --global

Exemple de résultat :

/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

Comme vous pouvez le voir dans la sortie ci-dessus, j'ai quelques boîtes obsolètes.

Les utilisateurs peuvent mettre à jour la boîte associée à l'environnement Vagrant actuel avec la commande :

$ vagrant box update

La commande ci-dessus télécharge la nouvelle version de box et l'installe. Toutes les boîtes téléchargées sont enregistrées dans ~/.vagrant.d/boxes répertoire de votre système hôte. L'ancienne version de la boîte restera disponible au même emplacement jusqu'à ce que vous supprimiez manuellement cette boîte Vagrant du dossier cache.

Vous pouvez vérifier si en listant toutes les boîtes Vagrant installées avec la commande :

$ vagrant box list

Exemple de résultat :

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)

Comme vous pouvez le voir dans la sortie ci-dessus, j'ai deux versions de boîtes vagabondes Arch Linux. Il n'est pas nécessaire de conserver deux boîtiers du même système d'exploitation. Alors supprimons la boîte de vagabond obsolète.

Supprimer les boîtes de vagabondage obsolètes

Vous pouvez utiliser vagrant box prune commande pour supprimer les boîtes Vagrant obsolètes de votre système Linux.

Tout d'abord, vérifions quelles cases seront supprimées et lesquelles seront conservées avec --dry-run option. L'option est utilisée pour simuler des commandes sans rien changer dans un système Linux.

$ vagrant box prune --dry-run

Cette commande ne supprimera aucune boîte, mais n'imprimera que les boîtes qui seraient supprimées.

Exemple de résultat :

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

Comme vous le voyez dans la sortie ci-dessus, la boîte vagabonde nommée "archlinux/archlinux virtualbox 20201201.10292 " sera supprimé de votre système.

Vous savez maintenant quelle case va être supprimée. Si cela vous convient, exécutez simplement la même commande command sans --dry-run choix :

$ vagrant box prune

Cette commande conservera les boîtes mises à jour actuelles et supprimera toutes les autres boîtes obsolètes.

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)

Vérifiez maintenant la liste des box installées :

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

Voir? Maintenant, il ne montre qu'une seule boîte archlinux vagrant. La case obsolète est supprimée.

Le prune La commande a également d'autres options utiles. Vous pouvez utiliser -p , --provider possibilité de détruire les boîtes avec un FOURNISSEUR spécifique (par exemple, Virtualbox ou libvirt).

Le -f , --force drapeau détruit sans confirmation même lorsque la boîte est en cours d'utilisation. Le -k , --keep-active-boxes L'option est utilisée pour garder les boîtes toujours activement utilisées.

Pour afficher la section d'aide, exécutez :

$ vagrant box prune --help

Linux
  1. Comment j'utilise Vagrant avec libvirt

  2. Comment supprimer (supprimer) un fichier ou un répertoire sous Linux

  3. Comment supprimer le fichier Root Mails (Mailbox) sous Linux

  4. Comment installer Vagrant sur Linux

  5. Comment installer Vagrant sous Linux

Comment rechercher et supprimer des répertoires vides sous Linux

Comment contrôler Vagrant Box à l'aide des commandes Vagrant

Comment créer une boîte vagabonde à partir d'une boîte existante

Comment supprimer des fichiers répertoriés dans un autre fichier sous Linux

Comment supprimer des partitions sous Linux [Guide du débutant]

Comment installer MX Linux sur Virtual Box