GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo eliminar cajas vagabundas obsoletas en Linux

¡Es posible que haya descargado varias versiones de las cajas de Vagrant y algunas de ellas pueden estar bastante desactualizadas! Si ya no son necesarios, puede eliminar de forma segura los cuadros de Vagrant obsoletos en Linux como se describe en esta breve guía.

Buscar cajas de Vagrant desactualizadas

He estado usando Vagrant durante los últimos meses con fines de prueba. Desde la versión 1.5 de Vagrant, las cajas admiten el control de versiones. El control de versiones de Box permite a los desarrolladores que crean cajas enviar actualizaciones o correcciones y a los usuarios actualizar fácilmente la caja subyacente.

Si una caja está desactualizada, el usuario será notificado cuando inicie el entorno de vagrant usando vagrant up comando:

$ vagrant up

Salida de muestra:

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

El usuario también puede verificar manualmente las casillas desactualizadas en su entorno Vagrant actual usando vagrant box outdated comando:

$ vagrant box outdated

Este comando le mostrará la lista de casillas que deben actualizarse.

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 desea verificar todas las casillas instaladas, simplemente agregue --global bandera al final:

$ vagrant box outdated --global

Salida de muestra:

/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

Como puede ver en el resultado anterior, tengo algunos cuadros obsoletos.

Los usuarios pueden actualizar el cuadro asociado con el entorno actual de Vagrant con el comando:

$ vagrant box update

El comando anterior descarga la nueva versión de box y la instala. Todos los cuadros descargados se guardan en ~/.vagrant.d/boxes directorio en su sistema host. La versión anterior del cuadro permanecerá disponible en la misma ubicación hasta que elimine manualmente ese cuadro Vagrant de la carpeta de caché.

Puede verificar si enumera todas las cajas de Vagrant instaladas con el comando:

$ vagrant box list

Salida de muestra:

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)

Como puede ver en el resultado anterior, tengo dos versiones de Arch Linux vagrant boxes. No hay necesidad de mantener dos cajas del mismo sistema operativo. Así que eliminemos la caja vagabunda obsoleta.

Eliminar cajas vagabundas obsoletas

Puedes usar vagrant box prune Comando para eliminar las cajas Vagrant desactualizadas en su sistema Linux.

Primero, verifiquemos qué casillas se eliminarán y cuáles se mantendrán con --dry-run opción. La opción se usa para simular comandos sin cambiar nada en un sistema Linux.

$ vagrant box prune --dry-run

Este comando en realidad no eliminará ningún cuadro, sino que solo imprimirá los cuadros que se eliminarían.

Salida de muestra:

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

Como puede ver en el resultado anterior, el cuadro vagabundo llamado "archlinux/archlinux virtualbox 20201201.10292 " será eliminado de su sistema.

Ahora sabe qué caja se va a eliminar. Si está bien para usted, simplemente ejecute el mismo comando comando sin --dry-run opción:

$ vagrant box prune

Este comando mantendrá los cuadros actualizados actuales y eliminará todos los demás cuadros obsoletos.

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)

Ahora verifique la lista de cajas instaladas:

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

¿Ver? Ahora solo muestra una caja vagabunda de archlinux. El cuadro obsoleto se elimina.

La prune El comando también tiene otras opciones útiles. Puedes usar -p , --provider opción para destruir cajas con un PROVEEDOR específico (por ejemplo, Virtualbox o libvirt).

El -f , --force bandera destruye sin confirmación, incluso cuando la caja está en uso. El -k , --keep-active-boxes La opción se usa para mantener las cajas aún en uso activo.

Para mostrar la sección de ayuda, ejecute:

$ vagrant box prune --help

Linux
  1. Cómo uso Vagrant con libvirt

  2. Cómo quitar (eliminar) un archivo o directorio en Linux

  3. Cómo eliminar el archivo de correo raíz (buzón) en Linux

  4. Cómo instalar Vagrant en Linux

  5. Cómo instalar Vagrant en Linux

Cómo encontrar y eliminar directorios vacíos en Linux

Cómo controlar Vagrant Box usando comandos de Vagrant

Cómo crear una caja vagabunda a partir de una caja existente

Cómo eliminar archivos enumerados en otro archivo en Linux

Cómo eliminar particiones en Linux [Guía para principiantes]

Cómo instalar MX linux en virtual Box