Btrfs-tiedostojärjestelmän tilannekuvaominaisuus käyttää Copy-on-Write (CoW) -periaatetta. Joten se ei vie paljon levytilaa, ja voit ottaa tilannekuvia osamäärästä välittömästi.
Btrfs-tiedostojärjestelmä tukee kahden tyyppisiä otoksia.
- Kirjoitettavat tilannekuvat: Jos otat kirjoitettavan tilannekuvan, voit muokata sen tilannekuvan tiedostoja / hakemistoja myöhemmin. Tämä on Btrfs-tiedostojärjestelmän oletusasetus.
- Vain luku -tilannekuvat: Jos otat vain luku -tilannekuvan, et voi muokata pikakuvan tiedostoja / hakemistoja myöhemmin.
Tässä artikkelissa kerrotaan, kuinka voit kirjoittaa kirjoitettavia ja vain luku -tilannekuvia Btrfs-tiedostojärjestelmän alatilavuuksista. Näytän myös, kuinka päivität kirjoitettavan tilannekuvan ja palautat tiedostot tilannekuvasta. Näytän, kuinka myös tilannekuva poistetaan. Joten, aloitetaan.
Edellytykset
Kokeile tämän artikkelin esimerkkejä,
- Tietokoneellasi on oltava asennettuna Btrfs-tiedostojärjestelmä.
- Sinulla on oltava kiintolevy tai SSD, jossa on vähintään 1 ilmainen osio (kaiken kokoinen).
Minulla on 20 Gt: n kiintolevy sdb Ubuntu-koneellani. Olen luonut 2 osiota sdb1 ja sdb2 tällä kiintolevyllä. Käytän osiota sdb1 tässä artikkelissa.
$ sudo lsblk -e7
Kiintolevylläsi tai SSD: lläsi voi olla eri nimi kuin minun, joten osiotkin. Joten, muista korvata ne omalla nyt.
Jos tarvitset apua Btrfs-tiedostojärjestelmän asentamisessa Ubuntuun, tarkista artikkelini Asenna ja käytä Btrfs: ää Ubuntu 20: ssa.04 LTS.
Jos tarvitset apua Btrfs-tiedostojärjestelmän asentamisessa Fedoraan, tarkista artikkelini Asenna ja käytä Btrf-tiedostoja Fedora 33: ssa.
Btrfs-tiedostojärjestelmän luominen
Jos haluat kokeilla Btrfs-osamääriä, sinun on luotava Btrfs-tiedostojärjestelmä.
Btrfs-tiedostojärjestelmän luominen tunnisteella tiedot on sdb1 Suorita seuraava komento:
$ sudo mkfs.btrfs -L data / dev / sdb1
Btrfs-tiedostojärjestelmä tulisi luoda.
Luo hakemisto / data seuraavalla komennolla:
$ sudo mkdir -v / data
Asenna Btrfs-tiedostojärjestelmä, joka on luotu sdb1 osio / data , suorita seuraava komento:
$ sudo mount / dev / sdb1 / data
Btrfs-tiedostojärjestelmä tulisi asentaa, kuten näet alla olevasta kuvakaappauksesta.
$ df -h / data
Btrfs-tiedostojärjestelmän valmistelu tilannekuvia varten
Btrfs-sovelluksessa voit ottaa tilannekuvia vain Btrfs-osa-alueista. Btrfs-tiedostojärjestelmän pääjuuri on myös alatilavuus. Joten voit ottaa varmuuskopion koko Btrfs-tiedostojärjestelmästä sekä tietyistä alatilavuuksista.
Tämä osio luo Btrfs-alatilavuuden / data / projektit / verkko1 ja luo tarvittavat tiedostot tämän artikkelin seuraavia osia varten. Luon myös hakemiston, jossa voit säilyttää tilannekuvia. Seuraavissa osioissa näytän, kuinka voit ottaa tilannevedoksia (kirjoitettavia ja vain luku -tilassa), päivittää kirjoitettavia otoksia ja palauttaa tiedostoja tilannekuvasta. Joten, aloitetaan.
Luo ensin uusi hakemisto / data / projektit seuraavasti:
$ sudo mkdir -v / data / projektit
Luo uusi osamäärä verkko1 että / data / projektit hakemistoon seuraavasti:
$ sudo btrfs alatilavuus create / data / projects / web1
Luo uusi tiedosto indeksi.html että / data / projektit / verkko1 alitilavuus seuraavasti:
$ sudo nano / data / projects / web1 / index.html
Kirjoita seuraavat koodirivit indeksi.html tiedosto.
Hei maailma 4
Kun olet valmis, paina
Luo uusi tiedosto tyyli.css että / data / projektit / verkko1 alitilavuus seuraavasti:
$ sudo nano / data / projektit / web1 / tyyli.css
Kirjoita seuraavat koodirivit tyyli.css tiedosto.
h1väri: vihreä;
Kun olet valmis, paina
Nyt / data / projektit / verkko1 alitilavuudella on indeksi.html ja tyyli.css tiedosto.
$ ls -lh / data / projektit / web1
Haluan säilyttää kaikki tämän Btrfs-tiedostojärjestelmän tilannekuvat / data /.tilannekuvia hakemistoon.
Luo / data /.tilannekuvia hakemisto seuraavalla komennolla:
$ sudo mkdir -v / data /.tilannekuvia
Tilannekuvien ottaminen osamäärästä
Ota tilannekuva / data / projektit / verkko1 alitilavuus / data /.tilannekuvat / web1-2020-12-25 hakemisto (luodaan automaattisesti), suorita seuraava komento:
$ sudo btrfs alatilavuuden tilannekuva / data / projektit / web1 / data /.tilannekuvat / web1-2020-12-25
Tilannekuva / data / projektit / verkko1 hakemisto tulisi luoda / data /.tilannekuvat / web1-2020-12-25 hakemistoon.
Kuten alla olevasta kuvakaappauksesta näet, uusi alaosuus .tilannekuvat / web1-2020-12-25 on luotu. Tilannekuva on itse asiassa alatilavuus.
$ sudo btrfs osamäärä / data
Näet lisätietoja luomastasi tilannekuvasta / data /.tilannekuvat / web1-2020-12-25 hakemistoon seuraavasti:
$ sudo btrfs alatilavuus show / data /.tilannekuvat / web1-2020-12-25
Kuten näette, kaikki tiedostot, jotka ovat / data / projektit / verkko1 alitilavuus ovat / data /.tilannekuvat / web1-2020-12-25 tilannekuva.
$ puu -a / data
Tiedostojen palauttaminen tilannekuvista
Tässä osiossa aion näyttää, kuinka palauttaa tiedostot Btrfs-tilannekuvista.
Ensinnäkin aion näyttää, kuinka yksittäinen tiedosto palautetaan tilannekuvasta.
Avaa / data / projektit / web1 / hakemisto.html tiedosto nano-tekstieditorilla seuraavasti:
$ sudo nano / data / projects / web1 / index.html
Tee haluamasi muutokset.
Kun olet valmis, paina
Kuten näette, tärkein indeksi.html tiedosto on erilainen kuin indeksi.html tiedosto tilannekuvassa.
$ cat / data / projects / web1 / index.html$ cat / data /.tilannekuvat / web1-2020-12-25 / hakemisto.html
Olemme tehneet muutokset tärkeimpiin indeksi.html tiedosto ei ole toivottuja, ja haluamme palauttaa indeksi.html tiedosto tilannekuvasta.
Voit palauttaa indeksi.html tiedosto tilannekuvasta seuraavasti:
$ sudo cp -v / data /.tilannekuvat / web1-2020-12-25 / hakemisto.html / data / projektit / web1 / hakemisto.html
Kuten näette, indeksi.html tiedosto palautetaan tilannekuvasta.
$ cat / data / projects / web1 / index.html$ cat / data /.tilannekuvat / web1-2020-12-25 / hakemisto.html
Katsotaan nyt, kuinka kaikki tiedostot / hakemistot palautetaan tilannekuvasta.
Poista kaikki tiedostot / data / projektit / verkko1 tilannekuva seuraavasti:
$ sudo rm -rv / data / projektit / web1 / *
Palauta kaikki tiedostot / hakemistot tilannekuvasta suorittamalla seuraava komento:
$ sudo rsync -avz / data /.tilannekuvat / web1-2020-12-25 / / data / projektit / web1 /
Kuten näette, tiedostot / hakemistot palautetaan tilannekuvasta.
$ ls -lh / data / projektit / web1
Katsotaan lopuksi, kuinka tiedostot / hakemistot palautetaan tilannekuvasta peilitilassa. Peilitilassa alatilavuuden tiedostot / hakemistot ovat samat kuin tilannekuvassa. Jos alitilavuudessa on tiedostoja / hakemistoja, joita ei ole käytettävissä tilannekuvassa, ne poistetaan.
Luodaan uusi tiedosto alatilavuuteen erottaaksemme tiedostopuun tilannekuvasta.
Luo LUE.txt tiedosto / data / projektit / verkko1 alitilavuus seuraavasti:
$ echo "hei maailma 5" | sudo tee / data / projektit / web1 / LUE.txt
Kuten näette, tiedoston tiedostopuu / data / projektit / verkko1 alatilavuus eroaa / data /.tilannekuvat / web1-2020-12-25 tilannekuva.
$ puu -a / data
Tiedostojen / hakemistojen palauttaminen / data /.tilannekuvat / web1-2020-12-25 tilannekuva / data / projektit / verkko1 alitilavuus peilitilassa, suorita seuraava komento:
$ sudo rsync -avz --delete / data /.tilannekuvat / web1-2020-12-25 / / data / projektit / web1 /
Kaikki tiedostot / hakemistot / data / projektit / verkko1 alitilavuus tulisi palauttaa (peilitilassa) / data /.tilannekuvat / web1-2020-12-25 tilannekuva.
Tiedoston puu / data / projektit / verkko1 alatilavuus ja / data /.tilannekuvat / web1-2020-12-25 tilannevedoksen tulisi olla sama.
Kuten näette, hakemisto.HTML-tiedosto ja tyyli.css-tiedoston sisältö on sama / data / projektit / verkko1 alatilavuus ja / data /.tilannekuvat / web1-2020-12-25 tilannekuva.
Sisältö indeksi.html ja tyyli.css tiedosto / data / projektit / verkko1 alatilavuus.
$ cat / data / projects / web1 / index.html$ cat / data / projektit / web1 / tyyli.css
Sisältö indeksi.html ja tyyli.css tiedosto / data /.tilannekuvat / web1-2020-12-25 tilannekuva.
$ cat / data / projects / web1 / index.html$ cat / data / projektit / web1 / tyyli.css
Yksittäiskuvan päivittäminen
Oletuksena Btrfs-tiedostojärjestelmä ottaa kirjoitettavia otoksia. Btrfs-tilannekuva on kuin alatilavuus. Joten voit muokata / päivittää kirjoitettavan tilannekuvan tiedostoja / hakemistoja.
Päivitetään indeksi.html tiedosto / data / projektit / verkko1 alatilavuus.
Avaa ensin indeksi.html tiedosto / data / projektit / verkko1 alatilavuus nano tekstieditori seuraavasti:
$ sudo nano / data / projects / web1 / index.html
Tee haluamasi muutokset. Kun olet valmis, paina
Kuten näette, hakemisto.HTML-tiedosto / data / projektit / verkko1 alatilavuus eroaa / data /.tilannekuvat / web1-2020-12-25 tilannekuva.
$ cat / data / projects / web1 / index.html$ cat / data /.tilannekuvat / web1-2020-12-25 / hakemisto.html
Haluat säilyttää indeksi.html tiedosto / data / projektit / verkko1 alatilavuus.
Päivittää indeksi.html tiedosto / data /.tilannekuvat / web1-2020-12-25 snapshot, suorita seuraava komento:
$ sudo cp -v / data / projects / web1 / index.html / data /.tilannekuvat / web1-2020-12-25 / hakemisto.html
Kuten näette, indeksi.html tiedosto / data /.tilannekuvat / web1-2020-12-25 tilannekuva päivitetään.
Tilannekuvan päivittäminen on yhtä helppoa kuin uusien tiedostojen kopioiminen tilannekuvaan.
Alitilavuuden vain luku -tilannekuvien ottaminen
Toisinaan et halua ottamiesi tilannekuvien päivittyvän millään tavalla. Tällöin voit luoda vain luku -tilannekuvia.
Voit esimerkiksi luoda vain luku -tilannekuvan / data /.tilannekuvat / web1-2020-12-26 n / data / projektit / verkko1 alitilavuus, suorita seuraava komento:
$ sudo btrfs osamäärä tilannekuva -r / data / projektit / web1 / data /.tilannekuvat / web1-2020-12-26
Kuten näette, uusi alaosuus .tilannekuvat / web1-2020-12-26 on luotu.
$ sudo btrfs osamäärä / data
Kuten näette, tilannekuva / data /.tilannekuvat / web1-2020-12-26 on vain luku -tilassa.
$ sudo btrfs alatilavuus show / data /.tilannekuvat / web1-2020-12-26
Päivitetään indeksi.html tiedosto / data / projektit / verkko1 alatilavuus.
Voit tehdä sen avaamalla indeksi.html tiedosto / data / projektit / verkko1 alatilavuus nano tekstieditori seuraavasti:
$ sudo nano / data / projects / web1 / index.html
Tee haluamasi muutokset. Kun olet valmis, paina
Kuten näette, indeksi.html että / data / projektit / verkko1 alatilavuus eroaa / data /.tilannekuvat / web1-2020-12-26 tilannekuva.
$ cat / data / projects / web1 / index.html$ cat / data /.tilannekuvat / web1-2020-12-26 / index.html
Yritetään päivittää indeksi.html tiedosto / data /.tilannekuvat / web1-2020-12-26 tilannekuva.
$ sudo cp -v / data / projects / web1 / index.html / data /.tilannekuvat / web1-2020-12-26 / hakemisto.html
Kuten näette, et voi päivittää indeksi.html tiedosto / data /.tilannekuvat / web1-2020-12-26 tilannekuva, koska tilannekuva on vain luku -tilassa.
Yksittäiskuvan poistaminen
Olen kertonut sinulle aiemmin, että Btrfs-tilannekuva on kuin alatilavuus. Joten, voit poistaa Btrfs-tilannekuvan samalla tavalla kuin poistat Btrfs-alatilavuuden. Sama komento.
Näin Btrfs-tiedostojärjestelmän tiedostopuu asennettiin / data hakemisto näyttää tällä hetkellä.
$ puu -a / data
Poistetaan .tilannekuvat / web1-2020-12-25 tilannekuva.
$ sudo btrfs osamäärä / data
Poista / data /.tilannekuvat / web1-2020-12-25 snapshot, suorita seuraava komento:
$ sudo btrfs alitilavuus delete / data /.tilannekuvat / web1-2020-12-25
Kuten näette, tilannekuva .tilannekuvat / web1-2020-12-25 ei ole enää.
$ sudo btrfs osamäärä / data
Kuten näette, tiedostot / hakemistot / data /.tilannekuvat / web1-2020-12-25 myös tilannekuva poistetaan.
$ puu -a / data
Johtopäätös
Tämä artikkeli on osoittanut, kuinka voit ottaa kirjoitettavia ja vain luku -tilannekuvia Btrfs-tiedostojärjestelmän alatilavuuksista. Olen myös osoittanut, kuinka päivität kirjoitettavan tilannekuvan ja palautat tiedostot tilannekuvasta. Olen osoittanut, kuinka myös Btrfs-tilannekuva poistetaan. Tämän artikkelin pitäisi auttaa sinua aloittamaan Btrfs-tilannevedosominaisuus.