VM bundle
Mesin adalah folder. Isinya, aman disalin, dan apa yang di-commit.
Mesin 1VMTool bukan baris database atau blob opaque — folder
dengan ekstensi .vm yang bisa diperiksa, disalin dan dipindah.
dev.vm/
config.json the definition — commit it
disk.asif primary disk, sparse
snapshots/
index.json
a1c2/disk.asif
Mesin ada di folder library home default. Arahkan
ONEVM_HOME ke tempat lain — SSD eksternal — dan seluruh library
pindah bersama.
config.json
Definisi mesin: tipe guest, engine, CPU, memori, disk, jaringan, folder shared, input dan grafis. JSON polos dan file untuk commit jika ingin definisi mesin di version control bersama proyek yang dilayani.
1vm config dev # print it
1vm get dev # list every dotted key
Karena definisi terpisah dari disk, berbagi bentuk mesin
dengan rekan beberapa kilobyte. Mereka jalankan 1vm create dan
install guest sendiri.
Disk
Sparse, tumbuh saat guest menulis alih-alih dialokasi di awal —
disk 256 GiB pada mesin yang menulis 9 GiB occupy ~9 GiB. Nama file
beda per engine karena format disk berbeda;
1vm du laporkan angka jujur di library.
Snapshot
snapshots/ pegang pohon. Setiap snapshot klon APFS berbagi block
dengan disk live sampai diverge, itulah mengapa snapshot baru
hampir tidak menambah dan du bedakan allocated dari on disk dari
reclaimable.
Menyalin mesin
Karena folder, copy bekerja — tapi prefer 1vm clone, yang pakai
primitif klon sama dan selesai instan alih-alih duplikasi byte:
1vm clone dev test # linked, shares blocks
1vm clone dev test --full # independent copy
1vm archive dev # compress a stopped machine; run again to restore
Jangan edit file mesin running
Perubahan setting lewat 1vm set, yang validasi dan terapkan
live di engine yang mendukung. Edit config.json di bawah mesin
running adalah satu cara host dan guest disagree tentang mesin apa.