Ringkasan
VirtualBox tampaknya ingin semuanya menjadi "terdaftar" yang membuatnya jauh lebih menjengkelkan untuk bekerja dengan di baris perintah.
Saya mencoba membuat skrip otomatis yang akan membuat, memindahkan, memulai, menghentikan, dan menghancurkan mesin virtual dan disk virtual. Membutuhkan pendaftaran akan mempersulit tugas karena alasan berikut.
- meninggalkan informasi negara di sekitar yang dapat menyebabkan edgecases tak terduga yang menyebabkan skrip gagal.
- membuat tabrakan ruang nama potensial untuk beberapa proses menciptakan VM dengan nama yang sama
- memindahkan / menyalin sumber daya pada mesin yang sama lebih rumit karena referensi dalam registri perlu diperbarui
- menyalin sumber daya (kombinasi disk + vm) ke komputer lain memerlukan konfigurasi ulang setelah mencapai mesin target, dan memerlukan transfer data meta tambahan untuk melakukan konfigurasi ulang.
- Jika sesuatu gagal tiba-tiba, dan karena itu membatalkan pendaftaran gagal terjadi, informasi konfigurasi yang tersisa dapat menyebabkan masalah dalam menjalankan berikutnya.
Gunakan Kasing
Kasus penggunaan khusus saya adalah untuk server integrasi berkelanjutan yang membuat dan menghancurkan VM dan gambar Disk yang berpotensi dengan nama yang sama, dan akan membutuhkan lebih banyak logika untuk menangani status registri.
Contoh Imajiner
Sepertinya saya seharusnya hanya bisa misalnya (menggunakan beberapa perintah imajiner dan / atau salah):
mkdir foobar
customdiskimg_script ./foo/foo.vdi
vboxmanage createvm --name "foo" --ostype Linux --basefolder ./foo/foo.xml
vboxmanage storagectl ./foo/foo.xml --name foo --add ide
vboxmanage storageattach --storagectl foo --medium ./foo/foo.vdi ./foo/foo.xml
vboxmanage startvm ./foo/foo.xml
TLDR
Apakah ada cara untuk menggunakan virtualbox tanpa "mendaftar" harddisk dan VM?
sumber
-register
sakelar?Jawaban:
Tidak.
Setelah mencari melalui kode sumber, dari apa yang bisa saya katakan, mencari hanya dapat terjadi dengan nama yang memerlukan registri.
Tampaknya jika ada cara untuk mengubah jalur direktori config virtualbox ke sesuatu yang dikustomisasi, akan mungkin untuk memperkirakan efek yang saya cari, tetapi sepertinya juga tidak mungkin.
sumber
Saat Anda menggunakan Linux, ada alat host OS yang dapat digunakan untuk membuat lingkungan virtual sementara untuk membatasi komunikasi antara proses VirtualBox. Khususnya, Anda bisa menggunakan
chroot
untuk membuat lingkungan minimal yang hanya berisi minimum yang diperlukan untuk menjalankan VirtualBox, bersama dengan direktori home baru untuk pengguna Anda, dan kemudian menjalankan VirtualBox di lingkungan itu. Walaupun saya belum mencoba ini, saya kira ini akan mengisolasi proses dari satu sama lain dan karena itu menyelesaikan masalah Anda(Sayangnya, saya sampai pada pertanyaan ini mencari jawaban untuk masalah yang sama ini untuk host Windows, di mana solusi seperti itu tidak mungkin. Oh well.)
sumber