Gói VM
Máy là một thư mục. Bên trong có gì, copy an toàn gì, và commit gì.
Máy 1VMTool không phải dòng cơ sở dữ liệu hay blob mờ — là thư mục có đuôi
.vm bạn có thể xem, copy và di chuyển.
dev.vm/
config.json the definition — commit it
disk.asif primary disk, sparse
snapshots/
index.json
a1c2/disk.asif
Máy nằm trong thư mục thư viện home mặc định. Đặt ONEVM_HOME chỗ khác — SSD
ngoài chẳng hạn — và cả thư viện di chuyển theo.
config.json
Định nghĩa máy: loại guest, engine, CPU, bộ nhớ, đĩa, mạng, thư mục chia sẻ, cài đặt input và đồ họa. JSON thuần, file nên commit nếu muốn định nghĩa máy trong version control cùng dự án.
1vm config dev # print it
1vm get dev # list every dotted key
Vì định nghĩa tách khỏi đĩa, chia sẻ hình dạng máy với đồng nghiệp chỉ vài
kilobyte. Họ chạy 1vm create theo đó và cài guest riêng.
The disk
Sparse, tăng khi guest ghi thay vì cấp phát trước — đĩa 256 GiB trên máy ghi
9 GiB chiếm khoảng 9 GiB. Tên file khác theo engine vì hai định dạng đĩa khác;
1vm du báo số thật trong thư viện.
Snapshots
snapshots/ giữ cây. Mỗi snapshot là clone APFS chia sẻ block với đĩa live
cho đến khi một bên lệch, nên snapshot mới gần như không thêm gì và du
phân biệt allocated, on disk và reclaimable.
Copying a machine
Vì là thư mục, copy hoạt động — nhưng ưu tiên 1vm clone, dùng cùng primitive
clone và xong ngay thay vì nhân đôi 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
Do not edit a running machine's files
Thay đổi cài đặt qua 1vm set, xác thực và áp dụng live nơi engine hỗ trợ.
Sửa config.json dưới máy đang chạy là cách duy nhất để host và guest không
đồng ý máy là gì.