GNU/Linux >> Belajar Linux >  >> Linux

Cara Menghapus Kotak Vagrant yang Kedaluwarsa Di Linux

Anda mungkin telah mengunduh beberapa versi kotak Vagrant dan beberapa di antaranya mungkin sudah ketinggalan zaman! Jika tidak lagi diperlukan, Anda dapat dengan aman menghapus kotak Vagrant usang di Linux seperti yang dijelaskan dalam panduan singkat ini.

Periksa kotak Vagrant yang kedaluwarsa

Saya telah menggunakan Vagrant selama beberapa bulan terakhir untuk tujuan pengujian. Sejak Vagrant versi 1.5, kotak mendukung pembuatan versi. Versi Kotak memungkinkan pengembang yang membuat kotak untuk mendorong pembaruan atau perbaikan dan pengguna dengan mudah memperbarui kotak yang mendasarinya.

Jika sebuah kotak kedaluwarsa, pengguna akan diberi tahu saat dia memulai lingkungan gelandangan menggunakan vagrant up perintah:

$ vagrant up

Contoh keluaran:

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

Pengguna juga dapat secara manual memeriksa kotak usang di lingkungan Vagrant Anda saat ini menggunakan vagrant box outdated perintah:

$ vagrant box outdated

Perintah ini akan menampilkan daftar kotak yang perlu diperbarui.

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.

Jika Anda ingin memeriksa semua kotak yang terpasang, cukup tambahkan --global bendera di akhir:

$ vagrant box outdated --global

Contoh keluaran:

/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

Seperti yang Anda lihat pada output di atas, saya memiliki beberapa kotak yang sudah ketinggalan zaman.

Pengguna dapat memperbarui kotak yang terkait dengan lingkungan Vagrant saat ini dengan perintah:

$ vagrant box update

Perintah di atas mengunduh kotak versi baru dan menginstalnya. Semua kotak yang diunduh disimpan di ~/.vagrant.d/boxes direktori di sistem host Anda. Versi kotak yang lebih lama akan tetap tersedia di lokasi yang sama sampai Anda menghapus kotak Vagrant secara manual dari folder cache.

Anda dapat memverifikasi apakah dengan mendaftar semua kotak Vagrant yang diinstal dengan perintah:

$ vagrant box list

Contoh keluaran:

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)

Seperti yang Anda lihat pada output di atas, saya memiliki dua versi kotak gelandangan Arch Linux. Tidak perlu menyimpan dua kotak dengan OS yang sama. Jadi mari kita hapus kotak gelandangan yang sudah ketinggalan zaman.

Hapus Kotak Gelandangan yang Kedaluwarsa

Anda dapat menggunakan vagrant box prune perintah untuk menghapus kotak Vagrant usang di sistem Linux Anda.

Pertama, mari kita verifikasi kotak mana yang akan dihapus dan mana yang akan disimpan dengan --dry-run pilihan. Opsi ini digunakan untuk mensimulasikan perintah tanpa mengubah apa pun di sistem Linux.

$ vagrant box prune --dry-run

Perintah ini sebenarnya tidak akan menghapus kotak apa pun, tetapi hanya mencetak kotak yang akan dihapus.

Contoh keluaran:

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

Seperti yang Anda lihat pada output di atas, kotak gelandangan bernama "archlinux/archlinux virtualbox 20201201.10292 " akan dihapus dari sistem Anda.

Anda tahu sekarang kotak mana yang akan dihapus. Jika tidak apa-apa untuk Anda, cukup jalankan perintah perintah yang sama tanpa --dry-run pilihan:

$ vagrant box prune

Perintah ini akan menyimpan kotak yang diperbarui saat ini dan menghapus semua kotak usang lainnya.

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)

Sekarang verifikasi daftar kotak yang terpasang:

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

Lihat? Sekarang ini hanya menampilkan satu kotak gelandangan archlinux. Kotak usang dihapus.

prune perintah memiliki opsi berguna lainnya juga. Anda dapat menggunakan -p , --provider pilihan untuk menghancurkan kotak dengan PROVIDER tertentu (Misalnya Virtualbox atau libvirt).

-f , --force bendera hancur tanpa konfirmasi bahkan saat kotak sedang digunakan. -k , --keep-active-boxes opsi digunakan untuk menjaga agar kotak tetap aktif digunakan.

Untuk menampilkan bagian bantuan, jalankan:

$ vagrant box prune --help

Linux
  1. Bagaimana saya menggunakan Vagrant dengan libvirt

  2. Cara Menghapus File Root Mail (Kotak Surat) di Linux

  3. Cara Menginstal Vagrant Di Linux

  1. Cara Menghapus (Menghapus) File atau Direktori di Linux

  2. Cara Menghapus Baris di Vim di Linux

  3. Cara Menginstal Vagrant di Linux

  1. Cara Menghapus Partisi di Linux

  2. Cara menghapus file di Ubuntu Linux

  3. Cara Menghapus (Menghapus) Direktori di Linux