Btrfs-failisüsteemi hetktõmmisfunktsioon kasutab printimise kohta kirjutamise (CoW) printsiipi. Niisiis, see ei võta palju kettaruumi ja saate mahust hetkepilte teha.
Btrfs-failisüsteem toetab kahte tüüpi hetktõmmiseid.
- Kirjutatavad hetktõmmised: Kui teete kirjutatava hetktõmmise, saate selle hetktõmmise faile / katalooge hiljem muuta. See on Btrfs-failisüsteemi vaikepilt.
- Ainult kirjutuskaitstud hetktõmmised: Kui teete kirjutuskaitstud pilti, ei saa te selle hetktõmmise faile / katalooge hiljem muuta.
See artikkel näitab teile, kuidas teha Btrfs-failisüsteemi alamahtudest kirjutatavaid ja kirjutuskaitstud pilte. Samuti näitan teile, kuidas värskendada kirjutatavat hetktõmmist ja taastada hetktõmmise failid. Ma näitan teile, kuidas ka hetktõmmist eemaldada. Alustame siis.
Eeldused
Selle artikli näidete proovimiseks,
- Teie arvutisse peab olema installitud failisüsteem Btrfs.
- Teil peab olema kõvaketas või SSD, millel on vähemalt 1 vaba partitsioon (igas suuruses).
Mul on 20 GB kõvaketas sdb minu Ubuntu masinas. Olen loonud 2 vaheseina sdb1 ja sdb2 sellel kõvakettal. Ma kasutan partitsiooni sdb1 selles artiklis.
$ sudo lsblk -e7
Teie kõvakettal või SSD-l võib olla minu nime erinev nimi, nii on ka partitsioonidel. Niisiis, asendage need edaspidi kindlasti oma omadega.
Kui vajate Btrfs-failisüsteemi installimiseks Ubuntu abi, vaadake minu artiklit Installige ja kasutage Btrf-sid Ubuntu 20-s.04 LTS.
Kui vajate Btrfs-failisüsteemi Fedorasse installimisel abi, vaadake minu artiklit Installige ja kasutage Fedora 33-s Btrf-sid.
Btrfs-failisüsteemi loomine
Btrfs-alamahtudega katsetamiseks peate looma Btrfs-failisüsteemi.
Btrfs-failisüsteemi loomiseks sildiga andmed kohta sdb1 partitsioon, käivitage järgmine käsk:
$ sudo mkfs.btrfs -L andmed / dev / sdb1
Tuleks luua Btrfs-failisüsteem.
Looge kataloog / andmed järgmise käsuga:
$ sudo mkdir -v / data
Btrfs-i failisüsteemi ühendamiseks loodud sdb1 partitsioon / andmed kataloogi, käivitage järgmine käsk:
$ sudo mount / dev / sdb1 / data
Btrfs-failisüsteem tuleks paigaldada nii, nagu näete alloleval ekraanipildil.
$ df -h / andmed
Btrfsi failisüsteemi ettevalmistamine hetktõmmiste jaoks
Btrfs-is saate teha ainult Btrfs-alamahtudest pilte. Btrfs-failisüsteemi peamine juur on ka alamaht. Nii saate varundada kogu Btrfs-failisüsteemi ja ka konkreetsed alamahud.
See jaotis loob alammahu Btrfs / data / projektid / veeb1 ja looge vajalikud failid selle artikli järgmisteks jaotisteks allpool. Loon ka kataloogi, kus saate oma hetktõmmiseid hoida. Järgmistes jaotistes näitan teile, kuidas teha hetktõmmiseid (kirjutatav ja kirjutuskaitstud), värskendada kirjutatavat hetktõmmist ja taastada hetktõmmise faile. Alustame siis.
Kõigepealt looge uus kataloog / andmed / projektid järgnevalt:
$ sudo mkdir -v / data / projektid
Looge uus alamaht veeb1 aastal / andmed / projektid kataloogi järgmiselt:
$ sudo btrfs mahumaht create / data / projects / web1
Looge uus fail indeks.HTML aastal / data / projektid / veeb1 allmaht järgmiselt:
$ sudo nano / data / projektid / web1 / register.HTML
Sisestage järgmistesse koodiridadesse indeks.HTML faili.
Tere maailm 4
Kui olete valmis, vajutage
Looge uus fail stiil.css aastal / data / projektid / veeb1 allmaht järgmiselt:
$ sudo nano / data / projektid / web1 / stiil.css
Sisestage järgmistesse koodiridadesse stiil.css faili.
h1värvus: roheline;
Kui olete valmis, vajutage
Nüüd, / data / projektid / veeb1 alamahul on indeks.HTML ja stiil.css faili.
$ ls -lh / data / projektid / veeb1
Tahan hoida kõik selle Btrfs-failisüsteemi hetktõmmised / data /.hetktõmmised kataloogi.
Looge / data /.hetktõmmised kataloogi järgmise käsuga:
$ sudo mkdir -v / data /.hetktõmmised
Alamahu hetktõmmiste tegemine
Pildi tegemiseks / data / projektid / veeb1 mahtu / data /.hetktõmmised / veeb1-2020-12-25 kataloog (luuakse automaatselt), käivitage järgmine käsk:
$ sudo btrfs alammahu hetktõmmis / andmed / projektid / veebi1 / andmed /.hetktõmmised / veeb1-2020-12-25
Ülevaade / data / projektid / veeb1 kataloog tuleks luua / data /.hetktõmmised / veeb1-2020-12-25 kataloogi.
Nagu näete allolevalt ekraanipildilt, uus alamaht .hetktõmmised / veeb1-2020-12-25 on loodud. Hetkepilt on tegelikult alamaht.
$ sudo btrfs mahumaht / andmed
Teie loodud hetktõmmise kohta saate lisateavet / data /.hetktõmmised / veeb1-2020-12-25 kataloogi järgmiselt:
$ sudo btrfs subvolume show / data /.hetktõmmised / veeb1-2020-12-25
Nagu näete, on kõik failid, mis on / data / projektid / veeb1 alamaht on / data /.hetktõmmised / veeb1-2020-12-25 hetktõmmis.
$ puu -a / andmed
Failide taastamine hetktõmmistest
Selles jaotises näitan teile, kuidas faile Btrfsi hetktõmmistest taastada.
Esiteks näitan teile, kuidas ühe faili hetktõmmist taastada.
Ava / data / projektid / web1 / register.HTML fail nano tekstiredaktoriga järgmiselt:
$ sudo nano / data / projektid / web1 / register.HTML
Tehke soovitud muudatused.
Kui olete valmis, vajutage
Nagu näete, peamine indeks.HTML fail erineb indeks.HTML fail hetktõmmises.
$ cat / data / projektid / web1 / register.HTML$ cat / data /.hetktõmmised / web1-2020-12-25 / register.HTML
Oleme teinud muudatused peamistesse indeks.HTML fail on soovimatu ja me tahame faili taastada indeks.HTML fail hetktõmmist.
Saate taastada indeks.HTML hetktõmmise fail järgmiselt:
$ sudo cp -v / data /.hetktõmmised / web1-2020-12-25 / register.html / data / projektid / web1 / register.HTML
Nagu näete, indeks.HTML fail taastatakse hetktõmmist.
$ cat / data / projektid / web1 / register.HTML$ cat / data /.hetktõmmised / web1-2020-12-25 / register.HTML
Vaatame nüüd, kuidas kõik failid / kataloogid hetktõmmist taastada.
Eemaldage kõik failid / data / projektid / veeb1 hetktõmmis järgmiselt:
$ sudo rm -rv / data / projektid / web1 / *
Kõigi failide / kataloogide taastamiseks hetktõmmisest käivitage järgmine käsk:
$ sudo rsync -avz / data /.hetktõmmised / web1-2020-12-25 / / data / projektid / web1 /
Nagu näete, taastatakse failid / kataloogid hetktõmmise kaudu.
$ ls -lh / data / projektid / veeb1
Lõpuks vaatame, kuidas failid / kataloogid hetkepildist peeglirežiimis taastada. Peeglirežiimis on alamahu failid / kataloogid samad, mis hetkepildis. Kui alakogus on faile / katalooge, mida hetktõmmis pole saadaval, eemaldatakse need.
Loome alamahus uue faili, et failipuu hetkepildist eristada.
Loo LUGEGE.txt faili / data / projektid / veeb1 allmaht järgmiselt:
$ echo "tere maailm 5" | sudo tee / data / projektid / web1 / LUGEGE.txt
Nagu näete, faili puu / data / projektid / veeb1 alamaht erineb / data /.hetktõmmised / veeb1-2020-12-25 hetktõmmis.
$ puu -a / andmed
Failide / kataloogide taastamine / data /.hetktõmmised / veeb1-2020-12-25 hetktõmmis / data / projektid / veeb1 peegli režiimis alammaht, käivitage järgmine käsk:
$ sudo rsync -avz --delete / data /.hetktõmmised / web1-2020-12-25 / / data / projektid / web1 /
Kõik failid / kataloogid / data / projektid / veeb1 alamaht tuleks (peeglirežiimis) taastada / data /.hetktõmmised / veeb1-2020-12-25 hetktõmmis.
Faili failipuu / data / projektid / veeb1 alamaht ja / data /.hetktõmmised / veeb1-2020-12-25 hetktõmmis peaks olema sama.
Nagu näete, indeks.HTML-fail ja stiil.css-faili sisu on failis sama / data / projektid / veeb1 alamaht ja / data /.hetktõmmised / veeb1-2020-12-25 hetktõmmis.
Programmi sisu indeks.HTML ja stiil.css faili / data / projektid / veeb1 alamaht.
$ cat / data / projektid / web1 / register.HTML$ cat / data / projektid / web1 / stiil.css
Programmi sisu indeks.HTML ja stiil.css faili / data /.hetktõmmised / veeb1-2020-12-25 hetktõmmis.
$ cat / data / projektid / web1 / register.HTML$ cat / data / projektid / web1 / stiil.css
Hetkepildi värskendamine
Vaikimisi teeb Btrfs-failisüsteem kirjutatavaid pilte. Btrfsi hetktõmmis on nagu alamaht. Nii saate kirjutatava hetktõmmise faile / katalooge muuta / värskendada.
Uuendame indeks.HTML faili / data / projektid / veeb1 alamaht.
Esiteks avage indeks.HTML fail failist / data / projektid / veeb1 alamaht koos nano tekstiredaktor järgmiselt:
$ sudo nano / data / projektid / web1 / register.HTML
Tehke soovitud muudatused. Kui olete valmis, vajutage
Nagu näete, indeks.HTML-fail / data / projektid / veeb1 alamaht erineb / data /.hetktõmmised / veeb1-2020-12-25 hetktõmmis.
$ cat / data / projektid / web1 / register.HTML$ cat / data /.hetktõmmised / web1-2020-12-25 / register.HTML
Sa tahad säilitada indeks.HTML faili / data / projektid / veeb1 alamaht.
Rakenduse värskendamiseks indeks.HTML faili / data /.hetktõmmised / veeb1-2020-12-25 hetktõmmise käivitage järgmine käsk:
$ sudo cp -v / data / projects / web1 / index.HTML / data /.hetktõmmised / web1-2020-12-25 / register.HTML
Nagu näete, indeks.HTML faili / data /.hetktõmmised / veeb1-2020-12-25 hetktõmmist värskendatakse.
Hetkepildi värskendamine on sama lihtne kui uute failide kopeerimine hetktõmmise juurde.
Alamahu kirjutuskaitstud piltide tegemine
Vahel ei taha te, et tehtud hetktõmmisid kuidagi värskendataks. Sellisel juhul saate luua ainult kirjutuskaitstud pilte.
Näiteks kirjutuskaitstud hetkepildi loomiseks / data /.hetktõmmised / veeb1-2020-12-26 selle / data / projektid / veeb1 alamaht, käivitage järgmine käsk:
$ sudo btrfs alammahu hetktõmmis -r / data / projektid / web1 / data /.hetktõmmised / veeb1-2020-12-26
Nagu näete, uus alamaht .hetktõmmised / veeb1-2020-12-26 on loodud.
$ sudo btrfs mahumaht / andmed
Nagu näete, hetktõmmis / data /.hetktõmmised / veeb1-2020-12-26 on kirjutuskaitstud.
$ sudo btrfs subvolume show / data /.hetktõmmised / veeb1-2020-12-26
Uuendame indeks.HTML fail failist / data / projektid / veeb1 alamaht.
Selleks avage indeks.HTML fail failist / data / projektid / veeb1 alamaht koos nano tekstiredaktor järgmiselt:
$ sudo nano / data / projektid / web1 / register.HTML
Tehke soovitud muudatused. Kui olete valmis, vajutage
Nagu näete, indeks.HTML aastal / data / projektid / veeb1 alamaht erineb / data /.hetktõmmised / veeb1-2020-12-26 hetktõmmis.
$ cat / data / projektid / web1 / register.HTML$ cat / data /.hetktõmmised / web1-2020-12-26 / register.HTML
Proovime värskendada indeks.HTML faili / data /.hetktõmmised / veeb1-2020-12-26 hetktõmmis.
$ sudo cp -v / data / projects / web1 / index.HTML / data /.hetktõmmised / web1-2020-12-26 / register.HTML
Nagu näete, ei saa te seda värskendada indeks.HTML faili / data /.hetktõmmised / veeb1-2020-12-26 hetktõmmis, sest hetktõmmis on kirjutuskaitstud.
Snapshoti eemaldamine
Olen teile varem öelnud, et Btrfsi hetktõmmis on nagu alamaht. Nii saate Btrfsi hetktõmmise eemaldada nagu Btrfsi alamahu. Sama käsk.
Nii paigaldati failile Btrfs failisüsteemi failipuu / andmed kataloog näeb praegu välja.
$ puu -a / andmed
Eemaldame .hetktõmmised / veeb1-2020-12-25 hetktõmmis.
$ sudo btrfs mahumaht / andmed
Eemaldamiseks / data /.hetktõmmised / veeb1-2020-12-25 hetktõmmise käivitage järgmine käsk:
$ sudo btrfs subvolume delete / data /.hetktõmmised / veeb1-2020-12-25
Nagu näete, hetktõmmis .hetktõmmised / veeb1-2020-12-25 pole enam.
$ sudo btrfs mahumaht / andmed
Nagu näete, on failid / kataloogid / data /.hetktõmmised / veeb1-2020-12-25 ka hetktõmmis eemaldatakse.
$ puu -a / andmed
Järeldus
See artikkel on näidanud, kuidas teha Btrfs-failisüsteemi alamahtudest kirjutatavaid ja kirjutuskaitstud pilte. Samuti olen teile näidanud, kuidas värskendada kirjutatavat hetktõmmist ja taastada hetktõmmise failid. Olen teile näidanud, kuidas eemaldada ka Btrfsi hetktõmmis. See artikkel peaks aitama teil Btrfsi hetktõmmise funktsiooni kasutama asuda.