Docs · Referensi

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.