Docs · Tham chiếu

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ì.