Apakah ada cara untuk menggunakan VirtualBox tanpa menggunakan registri sumber daya itu?

2

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?

Catskul
sumber
2
Apa sebenarnya yang Anda maksud dengan mendaftar?
Ramhound
perintah virtualbox biasanya memerlukan nama (bukan nama file) yang tampaknya diselesaikan oleh registri virtuabox.
Catskul
Demikian juga sebagian besar perintah untuk membuat sumber daya memiliki tombol '-register', atau cara untuk mendaftarkan sumber daya sehingga namanya teratasi.
Catskul
Apa sistem operasi host. Mengapa Anda tidak suka menggunakan -registersakelar?
Ramhound
Sistem operasi host adalah Linux, tetapi konsepnya sama di seluruh host kecuali saya salah. Saya ingin menghindari pendaftaran karena alasan yang tercantum dalam pertanyaan. Kasus penggunaan khusus saya tidak penting, tetapi saya akan menambahkannya ke pertanyaan untuk tujuan ilustrasi.
Catskul

Jawaban:

0

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.

Catskul
sumber
0

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

pengguna331584
sumber