Docs · Viite

VM-paketti

Kone on kansio. Mitä siinä on, mitä on turvallista kopioida, ja mitä commitoida.

1VMTool-kone ei ole tietokantarivi tai läpinäkymätön blob — se on hakemisto .vm-päätteellä, jota voit tarkastella, kopioida ja siirtää.

dev.vm/
  config.json         the definition — commit it
  disk.asif           primary disk, sparse
  snapshots/
    index.json
    a1c2/disk.asif

Koneet ovat oletuksena kotihakemistosi kirjastokansiossa. Osoita ONEVM_HOME muualle — ulkoiselle SSD:lle vaikka — ja koko kirjasto siirtyy mukana.

config.json

Koneen määritys: vieraskonetyyppi, moottori, CPU, muisti, levy, verkko, jaetut kansiot, syöte- ja grafiikka-asetukset. Se on pelkkää JSON:ia ja se on tiedosto commitoitavaksi jos haluat koneen määrityksen versionhallintaan projektin rinnalle.

1vm config dev          # print it
1vm get dev             # list every dotted key

Koska määritys on erillään levystä, koneen muodon jakaminen kollegan kanssa maksaa muutaman kilotavun. He ajavat 1vm create sitä vasten ja asentavat oman vieraskoneensa.

Levy

Harva, joten se kasvaa vieraskoneen kirjoittaessa eikä varata etukäteen — 256 GiB levy koneella joka on kirjoittanut 9 GiB vie noin 9 GiB. Tiedostonimi eroaa moottorin mukaan koska kaksi käyttää eri levyformaatteja; 1vm du raportoi rehelliset luvut koko kirjastossa.

Tilannevedokset

snapshots/ pitää puun. Jokainen tilannevedos on APFS-klooni joka jakaa lohkot live-levyn kanssa kunnes toinen poikkeaa, minkä vuoksi tuore tilannevedos lisää lähes mitään ja miksi du erottaa varatun levyllä olevasta ja palautettavasta.

Koneen kopiointi

Koska se on kansio, kopiointi toimii — mutta suosi 1vm clone:a, joka käyttää samaa klooniprimitiiviä ja valmistuu heti tavujen duplikoinnin sijaan:

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

Älä muokkaa käynnissä olevan koneen tiedostoja

Asetusmuutokset menevät 1vm set:n kautta, joka validoi ne ja soveltaa live-tilassa missä moottori tukee. config.json:n muokkaus käynnissä olevan koneen alla on ainoa tapa saada isäntä ja vieraskone erimielisiksi siitä mikä kone on.