Btrfs

Cara Menggunakan Gambar Btrfs

Cara Menggunakan Gambar Btrfs
Sistem fail Btrfs mempunyai sokongan snapshot peringkat sistem fail terbina dalam. Anda boleh membuat subvolume dalam sistem fail Btrfs anda dan mengambil gambar fail / direktori dalam subvolume tersebut. Mengambil gambar subvolume akan menyimpan keadaan fail / direktori dalam subvolume tersebut. Anda boleh mendapatkan semula fail / direktori subvolume dari snapshot sekiranya anda memerlukannya.

Ciri snapshot sistem fail Btrfs menggunakan prinsip Copy-on-Write (CoW). Jadi, ia tidak memerlukan banyak ruang cakera, dan anda boleh mengambil gambar subvolume dengan serta-merta.

Sistem fail Btrfs menyokong 2 jenis tangkapan gambar.

  1. Gambar yang boleh ditulis: Sekiranya anda mengambil gambar yang boleh ditulis, anda boleh mengubah suai fail / direktori snapshot itu kemudian. Ini adalah jenis snapshot lalai dari sistem fail Btrfs.
  2. Petikan baca sahaja: Sekiranya anda mengambil gambar hanya baca, anda tidak dapat mengubah suai fail / direktori snapshot itu nanti.

Artikel ini akan menunjukkan kepada anda cara mengambil gambar ringkas dan baca-baca subvolume sistem fail Btrfs anda. Saya juga akan menunjukkan kepada anda cara mengemas kini snapshot yang boleh ditulis dan memulihkan fail dari snapshot. Saya juga akan menunjukkan cara membuang gambar juga. Oleh itu, mari kita mulakan.

Prasyarat

Untuk mencuba contoh artikel ini,

Saya mempunyai cakera keras 20 GB sdb pada mesin Ubuntu saya. Saya telah membuat 2 partition sdb1 dan sdb2 pada cakera keras ini. Saya akan menggunakan partition sdb1 dalam artikel ini.

$ sudo lsblk -e7

Cakera keras atau SSD anda mungkin mempunyai nama yang berbeza daripada nama saya, begitu juga dengan partisinya. Oleh itu, pastikan untuk menggantikannya dengan milik anda mulai sekarang.

Sekiranya anda memerlukan bantuan untuk memasang sistem fail Btrfs di Ubuntu, periksa artikel saya Pasang dan Gunakan Btrfs di Ubuntu 20.04 LTS.

Sekiranya anda memerlukan bantuan untuk memasang sistem fail Btrfs di Fedora, baca artikel saya Pasang dan Gunakan Btrfs di Fedora 33.

Membuat Sistem Fail Btrfs

Untuk bereksperimen dengan subvolume Btrfs, anda perlu membuat sistem fail Btrfs.

Untuk membuat sistem fail Btrfs dengan label data pada sdb1 partition, jalankan arahan berikut:

$ sudo mkfs.btrfs -L data / dev / sdb1

Sistem fail Btrfs harus dibuat.

Buat direktori / data dengan arahan berikut:

$ sudo mkdir -v / data

Untuk memasang sistem fail Btrfs yang dibuat di sdb1 partition di / data direktori, jalankan arahan berikut:

$ sudo mount / dev / sdb1 / data

Sistem fail Btrfs harus dipasang seperti yang anda lihat dalam tangkapan skrin di bawah.

$ df -h / data

Menyiapkan Sistem Filem Btrfs untuk Gambar

Di Btrfs, anda boleh mengambil gambar subvolume Btrfs sahaja. Akar utama sistem fail Btrfs juga merupakan subvolume. Jadi, anda boleh mengambil sandaran keseluruhan sistem fail Btrfs dan juga subvolume tertentu.

Bahagian ini akan membuat subvolume Btrfs / data / projek / web1 dan buat fail yang diperlukan untuk bahagian seterusnya artikel ini di bawah. Saya juga akan membuat direktori di mana anda boleh menyimpan gambar anda. Di bahagian seterusnya, saya akan menunjukkan kepada anda cara mengambil snapshot (boleh ditulis dan hanya baca), mengemas kini snapshot yang dapat ditulis, dan memulihkan fail dari snapshot. Oleh itu, mari kita mulakan.

Pertama, buat direktori baru / data / projek seperti berikut:

$ sudo mkdir -v / data / projek

Buat subvolume baru laman web1 di dalam / data / projek direktori seperti berikut:

$ sudo btrfs subvolume create / data / projek / web1

Buat fail baru indeks.html di dalam / data / projek / web1 subvolume seperti berikut:

$ sudo nano / data / projek / web1 / indeks.html

Taipkan baris kod berikut di indeks.html fail.




Laman Web Demo



Hello World 4



Setelah selesai, tekan + X diikuti oleh Y dan untuk menyelamatkan indeks.html fail.

Buat fail baru gaya.css di dalam / data / projek / web1 subvolume seperti berikut:

$ sudo nano / data / projek / web1 / gaya.css

Taipkan baris kod berikut di gaya.css fail.

h1
warna: hijau;

Setelah selesai, tekan + X diikuti oleh Y dan untuk menyelamatkan gaya.css fail.

Sekarang, / data / projek / web1 subvolume mempunyai indeks.html dan gaya.css fail.

$ ls -lh / data / projek / web1

Saya ingin menyimpan semua gambar sistem fail Btrfs ini di / data /.gambar direktori.

Buat / data /.gambar direktori dengan arahan berikut:

$ sudo mkdir -v / data /.gambar

Mengambil Ringkasan Subvolume

Untuk mengambil gambar dari / data / projek / web1 subvolume menjadi / data /.snapshot / web1-2020-12-25 direktori (akan dibuat secara automatik), jalankan arahan berikut:

$ sudo btrfs snapshot subvolume / data / projek / web1 / data /.snapshot / web1-2020-12-25

Ringkasan gambar / data / projek / web1 direktori harus dibuat pada / data /.snapshot / web1-2020-12-25 direktori.

Seperti yang anda lihat dalam tangkapan skrin di bawah, subvolume baru .snapshot / web1-2020-12-25 diciptakan. Gambaran ringkas sebenarnya adalah subvolume.

senarai / data subvolume $ sudo btrfs

Anda dapat melihat lebih banyak maklumat mengenai snapshot yang telah anda buat di / data /.snapshot / web1-2020-12-25 direktori seperti berikut:

$ sudo btrfs pertunjukan / data subvolume /.snapshot / web1-2020-12-25

Seperti yang anda lihat, semua fail yang ada di / data / projek / web1 subvolume ada di / data /.snapshot / web1-2020-12-25 gambar.

$ pokok -a / data

Memulihkan Fail dari Gambar

Di bahagian ini, saya akan menunjukkan kepada anda bagaimana memulihkan fail dari snapshot Btrfs.

Pertama, saya akan menunjukkan cara memulihkan satu fail dari snapshot.

Buka / data / projek / web1 / indeks.html failkan dengan penyunting teks nano seperti berikut:

$ sudo nano / data / projek / web1 / indeks.html

Buat perubahan yang anda mahukan.

Setelah selesai, tekan + X diikuti oleh Y dan untuk menyimpan fail.

Seperti yang anda lihat, yang utama indeks.html fail berbeza dengan indeks.html fail dalam gambar.

$ cat / data / projek / web1 / indeks.html
$ kucing / data /.snapshot / web1-2020-12-25 / indeks.html

Kami telah membuat perubahan menjadi yang utama indeks.html fail tidak diingini, dan kami ingin memulihkan indeks.html fail dari tangkapan gambar.

Anda boleh memulihkan indeks.html fail dari snapshot seperti berikut:

$ sudo cp -v / data /.snapshot / web1-2020-12-25 / indeks.html / data / projek / web1 / indeks.html

Seperti yang anda lihat, indeks.html fail dipulihkan dari tangkapan gambar.

$ cat / data / projek / web1 / indeks.html
$ kucing / data /.snapshot / web1-2020-12-25 / indeks.html

Sekarang, mari kita lihat bagaimana memulihkan semua fail / direktori dari snapshot.

Keluarkan semua fail dari / data / projek / web1 gambar seperti berikut:

$ sudo rm -rv / data / projek / web1 / *

Untuk memulihkan semua fail / direktori dari snapshot, jalankan arahan berikut:

$ sudo rsync -avz / data /.snapshot / web1-2020-12-25 / / data / projek / web1 /

Seperti yang anda lihat, fail / direktori dipulihkan dari snapshot.

$ ls -lh / data / projek / web1

Akhirnya, mari kita lihat cara memulihkan fail / direktori dari snapshot dalam mod cermin. Dalam mod cermin, fail / direktori subvolume akan sama seperti dalam gambar. Sekiranya terdapat fail / direktori dalam subvolume yang tidak terdapat dalam snapshot, fail tersebut akan dikeluarkan.

Mari buat fail baru di subvolume untuk membezakan pokok fail dari gambar.

Buat a BACA SAYA.txt fail di / data / projek / web1 subvolume seperti berikut:

$ echo "hello world 5" | sudo tee / data / projek / web1 / README.txt

Seperti yang anda lihat, pokok fail dari / data / projek / web1 subvolume berbeza dengan / data /.snapshot / web1-2020-12-25 gambar.

$ pokok -a / data

Untuk memulihkan fail / direktori dari / data /.snapshot / web1-2020-12-25 gambar ke / data / projek / web1 subvolume dalam mod cermin, jalankan arahan berikut:

$ sudo rsync -avz --hapus / data /.snapshot / web1-2020-12-25 / / data / projek / web1 /

Semua fail / direktori / data / projek / web1 subvolume harus dipulihkan (dalam mod cermin) dari / data /.snapshot / web1-2020-12-25 gambar.

Pokok fail dari / data / projek / web1 subvolume dan / data /.snapshot / web1-2020-12-25 gambar mesti sama.

Seperti yang anda lihat, indeks.fail dan gaya html.kandungan fail css adalah sama di / data / projek / web1 subvolume dan / data /.snapshot / web1-2020-12-25 gambar.

Kandungan dari indeks.html dan gaya.css fail di / data / projek / web1 subvolume.

$ cat / data / projek / web1 / indeks.html
$ cat / data / projek / web1 / gaya.css

Kandungan dari indeks.html dan gaya.css fail di / data /.snapshot / web1-2020-12-25 gambar.

$ cat / data / projek / web1 / indeks.html
$ cat / data / projek / web1 / gaya.css

Mengemas kini Gambar

Secara lalai, sistem fail Btrfs mengambil gambar yang boleh ditulis. Cuplikan Btrfs sama seperti subvolume. Oleh itu, anda boleh mengubah / mengemas kini fail / direktori snapshot yang boleh ditulis.

Mari kita kemas kini indeks.html fail di / data / projek / web1 subvolume.

Pertama, buka indeks.html fail dari / data / projek / web1 subvolume dengan nano penyunting teks seperti berikut:

$ sudo nano / data / projek / web1 / indeks.html

Buat perubahan yang anda mahukan. Setelah selesai, tekan + X diikuti oleh Y dan untuk menyelamatkan indeks.html fail.

Seperti yang anda lihat, indeks.fail html dari / data / projek / web1 subvolume berbeza dengan / data /.snapshot / web1-2020-12-25 gambar.

$ cat / data / projek / web1 / indeks.html
$ kucing / data /.snapshot / web1-2020-12-25 / indeks.html

Anda mahu menyimpannya indeks.html fail dari / data / projek / web1 subvolume.

Untuk mengemas kini indeks.html fail di / data /.snapshot / web1-2020-12-25 snapshot, jalankan arahan berikut:

$ sudo cp -v / data / projek / web1 / indeks.html / data /.snapshot / web1-2020-12-25 / indeks.html

Seperti yang anda lihat, indeks.html fail dari / data /.snapshot / web1-2020-12-25 snapshot dikemas kini.

Mengemas kini snapshot semudah menyalin fail baru ke snapshot.

Mengambil Gambar Hanya Baca Subvolume

Kadang-kadang, anda tidak mahu gambar yang anda ambil diperbaharui dengan cara apa pun. Sekiranya demikian, anda boleh membuat tangkapan gambar baca sahaja.

Contohnya, untuk membuat snapshot baca sahaja / data /.gambar / web1-2020-12-26 daripada / data / projek / web1 subvolume, jalankan arahan berikut:

$ sudo btrfs snapshot subvolume -r / data / projek / web1 / data /.gambar / web1-2020-12-26

Seperti yang anda lihat, subvolume baru .gambar / web1-2020-12-26 diciptakan.

senarai / data subvolume $ sudo btrfs

Seperti yang anda lihat, gambarnya / data /.gambar / web1-2020-12-26 hanya boleh dibaca.

$ sudo btrfs rancangan / data subvolume /.gambar / web1-2020-12-26

Mari kita kemas kini indeks.html fail dari / data / projek / web1 subvolume.

Untuk melakukannya, buka indeks.html fail dari / data / projek / web1 subvolume dengan nano penyunting teks seperti berikut:

$ sudo nano / data / projek / web1 / indeks.html

Buat perubahan yang anda mahukan. Setelah selesai, tekan + X diikuti oleh Y dan untuk menyimpan perubahan.

Seperti yang anda lihat, indeks.html di dalam / data / projek / web1 subvolume berbeza dengan / data /.gambar / web1-2020-12-26 gambar.

$ cat / data / projek / web1 / indeks.html
$ kucing / data /.snapshot / web1-2020-12-26 / indeks.html

Mari cuba mengemas kini indeks.html fail di / data /.gambar / web1-2020-12-26 gambar.

$ sudo cp -v / data / projek / web1 / indeks.html / data /.snapshot / web1-2020-12-26 / indeks.html

Seperti yang anda lihat, anda tidak dapat mengemas kini indeks.html fail dari / data /.gambar / web1-2020-12-26 snapshot kerana gambar itu hanya boleh dibaca.

Mengeluarkan Petikan

Saya telah memberitahu anda sebelumnya bahawa snapshot Btrfs seperti subvolume. Jadi, anda boleh membuang snapshot Btrfs sama seperti anda membuang subvolume Btrfs. Perintah yang sama.

Ini adalah bagaimana pokok fail sistem fail Btrfs dipasang di / data direktori kelihatan seperti pada masa ini.

$ pokok -a / data

Mari keluarkan .snapshot / web1-2020-12-25 gambar.

senarai / data subvolume $ sudo btrfs

Untuk membuang / data /.snapshot / web1-2020-12-25 snapshot, jalankan arahan berikut:

$ sudo btrfs subvolume delete / data /.snapshot / web1-2020-12-25

Seperti yang anda lihat, gambarnya .snapshot / web1-2020-12-25 tidak lebih.

senarai / data subvolume $ sudo btrfs

Seperti yang anda lihat, fail / direktori / data /.snapshot / web1-2020-12-25 snapshot dikeluarkan juga.

$ pokok -a / data

Kesimpulannya

Artikel ini telah menunjukkan kepada anda cara mengambil gambar ringkas dan baca sahaja subvolume sistem fail Btrfs anda. Saya juga telah menunjukkan kepada anda cara mengemas kini snapshot yang boleh ditulis dan memulihkan fail dari snapshot. Saya juga telah menunjukkan cara membuang snapshot Btrfs. Artikel ini akan membantu anda memulakan dengan ciri snapshot Btrfs.

Cara Membangunkan Permainan di Linux
Satu dekad yang lalu, tidak banyak pengguna Linux akan meramalkan bahawa sistem operasi kegemaran mereka suatu hari nanti akan menjadi platform permai...
Port Sumber Terbuka Mesin Permainan Komersial
Rekreasi enjin permainan sumber terbuka dan bebas platform boleh digunakan untuk bermain lama dan juga beberapa tajuk permainan yang baru-baru ini. Ar...
Permainan Perintah Terbaik untuk Linux
Baris perintah bukan hanya sekutu terbesar anda ketika menggunakan Linux-ia juga dapat menjadi sumber hiburan kerana anda dapat menggunakannya untuk m...