Diferențe
Aici sunt prezentate diferențele dintre versiunile selectate și versiunea curentă a paginii.
| Ambele părți revizuirea anterioarăVersiuni anterioare | |||
| reorganizarea_subvolumelor_btrfs [2026/10/26 09:40] – șters - editare externă (Unknown date) 127.0.0.1 | reorganizarea_subvolumelor_btrfs [2026/10/26 09:40] (curent) – ↷ Numele paginii a fost schimbat din reorganizarea_subvolumelor_btrfs_in_fedora în reorganizarea_subvolumelor_btrfs thinkroot | ||
|---|---|---|---|
| Linia 1: | Linia 1: | ||
| + | ====== Reorganizarea subvolumelor Btrfs (Fedora, Ubuntu, Linux Mint, Debian, Arch Linux) ====== | ||
| + | Când instalezi o distribuție pe Btrfs, installer-ul creează de obicei doar subvolumele minime: unul pentru rădăcină și, eventual, unul pentru ''/ | ||
| + | |||
| + | În acest tutorial transformăm structura implicită într-una de forma: | ||
| + | |||
| + | < | ||
| + | rădăcina | ||
| + | home → /home | ||
| + | snapshots → /.snapshots | ||
| + | var_log | ||
| + | var_cache → /var/cache | ||
| + | var_tmp | ||
| + | </ | ||
| + | |||
| + | Ce câștigăm: | ||
| + | |||
| + | * **Un sistem mai ordonat**, cu datele separate după rolul lor. | ||
| + | * **Snapshot-uri mai mici și mai curate**, fără jurnale, cache sau fișiere temporare în ele. | ||
| + | * **Un sistem pregătit pentru snapshot-uri**, | ||
| + | |||
| + | Toată operațiunea se face dintr-un Live USB, nu din sistemul instalat. | ||
| + | |||
| + | ===== Ce structură ai acum ===== | ||
| + | |||
| + | Fiecare distribuție denumește altfel subvolumele, | ||
| + | |||
| + | ^ Distribuție ^ Rădăcina (/) ^ /home ^ Alte subvolume existente ^ | ||
| + | | Fedora | '' | ||
| + | | Ubuntu, Linux Mint (și derivatele lor) | '' | ||
| + | | Debian | '' | ||
| + | | Arch Linux (archinstall) | '' | ||
| + | | openSUSE | '' | ||
| + | |||
| + | <WRAP info> | ||
| + | **openSUSE** vine deja cu o structură completă de subvolume și cu Snapper configurat din instalare, deci acest tutorial nu se aplică. Nu modifica structura de pe openSUSE dacă nu știi exact ce faci. | ||
| + | </ | ||
| + | |||
| + | <WRAP info> | ||
| + | **Arch Linux instalat manual:** structura depinde de ce ai creat tu. Dacă ai doar '' | ||
| + | </ | ||
| + | |||
| + | În pașii de mai jos, comenzile care diferă de la o distribuție la alta sunt puse în tab-uri. Alege tab-ul distribuției tale și urmează-l pe tot parcursul tutorialului. | ||
| + | |||
| + | ===== Înainte de a începe ===== | ||
| + | |||
| + | <WRAP important> | ||
| + | **Fă un backup complet înainte de orice!** Modificăm structura de montare a sistemului, iar o greșeală poate face ca sistemul să nu mai pornească. | ||
| + | </ | ||
| + | |||
| + | Ai nevoie de: | ||
| + | |||
| + | * un **Live USB** al distribuției tale, de preferat aceeași versiune ca cea instalată sau una mai nouă (orice Live USB modern care are '' | ||
| + | * un backup verificat (deschide-l și asigură-te că fișierele chiar sunt acolo); | ||
| + | * o instalare pe Btrfs cu structura implicită din tabelul de mai sus, fără alte montări speciale pe care trebuie să le păstrezi. | ||
| + | |||
| + | Reguli de bază: | ||
| + | |||
| + | * **Nu rula comenzile din sistemul instalat în timp ce acesta funcționează.** Toate comenzile care modifică ceva se rulează din Live USB, cu '' | ||
| + | * **Verifică numele partițiilor și UUID-urile** înainte să copiezi o comandă. Exemplele de mai jos folosesc ''/ | ||
| + | * Dacă ai o configurație diferită (alte nume de subvolume, alte montări), va trebui să adaptezi pașii. | ||
| + | |||
| + | Dacă Live USB-ul nu are comanda '' | ||
| + | |||
| + | < | ||
| + | <tab title=" | ||
| + | <code bash> | ||
| + | sudo dnf install btrfs-progs | ||
| + | </ | ||
| + | </ | ||
| + | <tab title=" | ||
| + | <code bash> | ||
| + | sudo apt install btrfs-progs | ||
| + | </ | ||
| + | </ | ||
| + | <tab title=" | ||
| + | <code bash> | ||
| + | sudo apt install btrfs-progs | ||
| + | </ | ||
| + | </ | ||
| + | <tab title=" | ||
| + | ISO-ul oficial Arch include deja '' | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ===== 1. Identifică partiția Btrfs ===== | ||
| + | |||
| + | Pornește din Live USB, deschide un terminal și rulează: | ||
| + | |||
| + | <code bash> | ||
| + | lsblk -f | ||
| + | </ | ||
| + | |||
| + | Un exemplu de rezultat: | ||
| + | |||
| + | < | ||
| + | NAME FSTYPE FSVER LABEL UUID | ||
| + | nvme0n1 | ||
| + | ├─nvme0n1p1 vfat | ||
| + | └─nvme0n1p2 btrfs | ||
| + | </ | ||
| + | |||
| + | Caută partiția cu '' | ||
| + | |||
| + | <WRAP info> | ||
| + | Dacă folosești criptare LUKS, deblochează mai întâi volumul (de exemplu cu '' | ||
| + | </ | ||
| + | |||
| + | ===== 2. Montează nivelul superior Btrfs ===== | ||
| + | |||
| + | Btrfs ține toate subvolumele într-un nivel superior (//top level//), care are mereu ID-ul '' | ||
| + | |||
| + | <code bash> | ||
| + | sudo mkdir -p / | ||
| + | sudo mount -o subvolid=5 / | ||
| + | </ | ||
| + | |||
| + | Verifică subvolumele existente: | ||
| + | |||
| + | <code bash> | ||
| + | sudo btrfs subvolume list / | ||
| + | </ | ||
| + | |||
| + | Rezultatul trebuie să corespundă cu structura distribuției tale: | ||
| + | |||
| + | < | ||
| + | <tab title=" | ||
| + | < | ||
| + | ID 256 gen ... top level 5 path root | ||
| + | ID 257 gen ... top level 5 path home | ||
| + | </ | ||
| + | </ | ||
| + | <tab title=" | ||
| + | < | ||
| + | ID 256 gen ... top level 5 path @ | ||
| + | ID 257 gen ... top level 5 path @home | ||
| + | </ | ||
| + | </ | ||
| + | <tab title=" | ||
| + | < | ||
| + | ID 256 gen ... top level 5 path @rootfs | ||
| + | </ | ||
| + | </ | ||
| + | <tab title=" | ||
| + | < | ||
| + | ID 256 gen ... top level 5 path @ | ||
| + | ID 257 gen ... top level 5 path @home | ||
| + | ID 258 gen ... top level 5 path @log | ||
| + | ID 259 gen ... top level 5 path @pkg | ||
| + | ID 260 gen ... top level 5 path @.snapshots | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ID-urile pot fi diferite. Dacă numele nu corespund, oprește-te și adaptează comenzile de mai jos la ce ai tu. | ||
| + | |||
| + | ===== 3. Creează subvolumele noi ===== | ||
| + | |||
| + | < | ||
| + | <tab title=" | ||
| + | Fedora nu folosește prefixul '' | ||
| + | |||
| + | <code bash> | ||
| + | sudo btrfs subvolume create / | ||
| + | sudo btrfs subvolume create / | ||
| + | sudo btrfs subvolume create / | ||
| + | sudo btrfs subvolume create / | ||
| + | </ | ||
| + | </ | ||
| + | <tab title=" | ||
| + | <code bash> | ||
| + | sudo btrfs subvolume create / | ||
| + | sudo btrfs subvolume create / | ||
| + | sudo btrfs subvolume create / | ||
| + | sudo btrfs subvolume create / | ||
| + | </ | ||
| + | </ | ||
| + | <tab title=" | ||
| + | Debian nu are un subvolum separat pentru ''/ | ||
| + | |||
| + | <code bash> | ||
| + | sudo btrfs subvolume create / | ||
| + | sudo btrfs subvolume create / | ||
| + | sudo btrfs subvolume create / | ||
| + | sudo btrfs subvolume create / | ||
| + | sudo btrfs subvolume create / | ||
| + | </ | ||
| + | </ | ||
| + | <tab title=" | ||
| + | '' | ||
| + | |||
| + | <code bash> | ||
| + | sudo btrfs subvolume create / | ||
| + | sudo btrfs subvolume create / | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Rolul fiecărui subvolum: | ||
| + | |||
| + | ^ Punct de montare ^ Rol ^ | ||
| + | | ''/ | ||
| + | | ''/ | ||
| + | | ''/ | ||
| + | | ''/ | ||
| + | | ''/ | ||
| + | |||
| + | De ce funcționează asta: **snapshot-urile Btrfs nu sunt recursive**. Un snapshot al subvolumului rădăcină nu include conținutul altor subvolume montate în interiorul lui, deci jurnalele, cache-ul și fișierele temporare rămân automat pe dinafară. | ||
| + | |||
| + | ===== 4. Montează sistemul instalat ===== | ||
| + | |||
| + | <code bash> | ||
| + | sudo mkdir -p /mnt/root | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | <tab title=" | ||
| + | <code bash> | ||
| + | sudo mount -o subvol=root / | ||
| + | </ | ||
| + | </ | ||
| + | <tab title=" | ||
| + | <code bash> | ||
| + | sudo mount -o subvol=@ / | ||
| + | </ | ||
| + | </ | ||
| + | <tab title=" | ||
| + | <code bash> | ||
| + | sudo mount -o subvol=@rootfs / | ||
| + | </ | ||
| + | </ | ||
| + | <tab title=" | ||
| + | <code bash> | ||
| + | sudo mount -o subvol=@ / | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Acum ''/ | ||
| + | |||
| + | <WRAP important> | ||
| + | Ești în Live USB! Nu confunda ''/ | ||
| + | </ | ||
| + | |||
| + | ===== 5. Pune deoparte conținutul actual ===== | ||
| + | |||
| + | Directoarele care vor deveni puncte de montare trebuie redenumite, ca să nu pierdem nimic din ce conțin. Jurnalele vrem să le păstrăm, cache-ul se poate regenera, iar ''/ | ||
| + | |||
| + | Dacă vrei să vezi cât spațiu ocupă: | ||
| + | |||
| + | <code bash> | ||
| + | sudo du -sh / | ||
| + | </ | ||
| + | |||
| + | Redenumește directoarele: | ||
| + | |||
| + | < | ||
| + | <tab title=" | ||
| + | <code bash> | ||
| + | sudo mv / | ||
| + | sudo mv / | ||
| + | sudo mv / | ||
| + | </ | ||
| + | </ | ||
| + | <tab title=" | ||
| + | <code bash> | ||
| + | sudo mv / | ||
| + | sudo mv / | ||
| + | sudo mv / | ||
| + | </ | ||
| + | </ | ||
| + | <tab title=" | ||
| + | Pe lângă ''/ | ||
| + | |||
| + | <code bash> | ||
| + | sudo mv / | ||
| + | sudo mv / | ||
| + | sudo mv / | ||
| + | sudo mv / | ||
| + | </ | ||
| + | </ | ||
| + | <tab title=" | ||
| + | ''/ | ||
| + | |||
| + | <code bash> | ||
| + | sudo mv / | ||
| + | sudo mv / | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Directoarele '' | ||
| + | |||
| + | ===== 6. Creează punctele de montare ===== | ||
| + | |||
| + | < | ||
| + | <tab title=" | ||
| + | <code bash> | ||
| + | sudo mkdir -p / | ||
| + | sudo mkdir -p / | ||
| + | </ | ||
| + | </ | ||
| + | <tab title=" | ||
| + | <code bash> | ||
| + | sudo mkdir -p / | ||
| + | sudo mkdir -p / | ||
| + | </ | ||
| + | </ | ||
| + | <tab title=" | ||
| + | <code bash> | ||
| + | sudo mkdir -p / | ||
| + | sudo mkdir -p / | ||
| + | </ | ||
| + | </ | ||
| + | <tab title=" | ||
| + | <code bash> | ||
| + | sudo mkdir -p / | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | La pornire, fiecare subvolum va apărea în directorul lui. De exemplu, subvolumul '' | ||
| + | |||
| + | ===== 7. Montează subvolumele noi ===== | ||
| + | |||
| + | < | ||
| + | <tab title=" | ||
| + | <code bash> | ||
| + | sudo mount -o subvol=snapshots / | ||
| + | sudo mount -o subvol=var_log / | ||
| + | sudo mount -o subvol=var_cache / | ||
| + | sudo mount -o subvol=var_tmp / | ||
| + | </ | ||
| + | </ | ||
| + | <tab title=" | ||
| + | <code bash> | ||
| + | sudo mount -o subvol=@snapshots / | ||
| + | sudo mount -o subvol=@var_log / | ||
| + | sudo mount -o subvol=@var_cache / | ||
| + | sudo mount -o subvol=@var_tmp / | ||
| + | </ | ||
| + | </ | ||
| + | <tab title=" | ||
| + | <code bash> | ||
| + | sudo mount -o subvol=@home / | ||
| + | sudo mount -o subvol=@snapshots / | ||
| + | sudo mount -o subvol=@var_log / | ||
| + | sudo mount -o subvol=@var_cache / | ||
| + | sudo mount -o subvol=@var_tmp / | ||
| + | </ | ||
| + | </ | ||
| + | <tab title=" | ||
| + | <code bash> | ||
| + | sudo mount -o subvol=@var_cache / | ||
| + | sudo mount -o subvol=@var_tmp / | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Verifică: | ||
| + | |||
| + | <code bash> | ||
| + | findmnt -R /mnt/root | ||
| + | </ | ||
| + | |||
| + | Toate punctele de montare noi trebuie să apară, fiecare cu subvolumul lui. Dacă lipsește vreunul, verifică din nou comanda respectivă înainte să mergi mai departe. | ||
| + | |||
| + | ===== 8. Copiază fișierele înapoi și refă permisiunile ===== | ||
| + | |||
| + | Copiem conținutul directoarelor '' | ||
| + | |||
| + | < | ||
| + | <tab title=" | ||
| + | <code bash> | ||
| + | sudo cp -a --reflink=auto / | ||
| + | sudo cp -a --reflink=auto / | ||
| + | sudo cp -a --reflink=auto / | ||
| + | </ | ||
| + | </ | ||
| + | <tab title=" | ||
| + | <code bash> | ||
| + | sudo cp -a --reflink=auto / | ||
| + | sudo cp -a --reflink=auto / | ||
| + | sudo cp -a --reflink=auto / | ||
| + | </ | ||
| + | </ | ||
| + | <tab title=" | ||
| + | <code bash> | ||
| + | sudo cp -a --reflink=auto / | ||
| + | sudo cp -a --reflink=auto / | ||
| + | sudo cp -a --reflink=auto / | ||
| + | sudo cp -a --reflink=auto / | ||
| + | </ | ||
| + | |||
| + | Copierea lui ''/ | ||
| + | </ | ||
| + | <tab title=" | ||
| + | <code bash> | ||
| + | sudo cp -a --reflink=auto / | ||
| + | sudo cp -a --reflink=auto / | ||
| + | </ | ||
| + | |||
| + | Copia lui ''/ | ||
| + | |||
| + | <code bash> | ||
| + | sudo mkdir -p / | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Copierea lui ''/ | ||
| + | |||
| + | Acum copiem permisiunile și proprietarii directoarelor vechi pe cele noi. Așa nu trebuie să știi ce permisiuni folosește distribuția ta (de exemplu, pe Ubuntu ''/ | ||
| + | |||
| + | <code bash> | ||
| + | for d in var/log var/cache var/tmp home; do | ||
| + | if [ -d / | ||
| + | sudo chown --reference=/ | ||
| + | sudo chmod --reference=/ | ||
| + | fi | ||
| + | done | ||
| + | </ | ||
| + | |||
| + | Bucla sare automat peste directoarele pe care nu le-ai mutat (de exemplu '' | ||
| + | |||
| + | Verifică rezultatul: | ||
| + | |||
| + | <code bash> | ||
| + | sudo stat -c '%a %U:%G %n' / | ||
| + | </ | ||
| + | |||
| + | Fiecare director nou trebuie să aibă aceleași permisiuni și același proprietar ca perechea lui '' | ||
| + | |||
| + | **Nu șterge încă directoarele '' | ||
| + | |||
| + | ===== 9. Configurează /etc/fstab ===== | ||
| + | |||
| + | Subvolumele sunt create și montate, dar sistemul trebuie să știe să le monteze singur la pornire. Editează '' | ||
| + | |||
| + | <code bash> | ||
| + | sudo nano / | ||
| + | </ | ||
| + | |||
| + | Regula e simplă: **copiază linia existentă pentru ''/'', | ||
| + | |||
| + | < | ||
| + | <tab title=" | ||
| + | < | ||
| + | UUID=XXXX / btrfs subvol=root, | ||
| + | UUID=XXXX /home btrfs subvol=home, | ||
| + | UUID=XXXX /.snapshots btrfs subvol=snapshots, | ||
| + | UUID=XXXX / | ||
| + | UUID=XXXX / | ||
| + | UUID=XXXX / | ||
| + | </ | ||
| + | </ | ||
| + | <tab title=" | ||
| + | < | ||
| + | UUID=XXXX / btrfs defaults, | ||
| + | UUID=XXXX /home btrfs defaults, | ||
| + | UUID=XXXX /.snapshots btrfs defaults, | ||
| + | UUID=XXXX / | ||
| + | UUID=XXXX / | ||
| + | UUID=XXXX / | ||
| + | </ | ||
| + | </ | ||
| + | <tab title=" | ||
| + | Aici adăugăm și linia pentru ''/ | ||
| + | |||
| + | < | ||
| + | UUID=XXXX / btrfs defaults, | ||
| + | UUID=XXXX /home btrfs defaults, | ||
| + | UUID=XXXX /.snapshots btrfs defaults, | ||
| + | UUID=XXXX / | ||
| + | UUID=XXXX / | ||
| + | UUID=XXXX / | ||
| + | </ | ||
| + | </ | ||
| + | <tab title=" | ||
| + | Adaugă cele două linii noi, iar linia pentru ''/ | ||
| + | |||
| + | < | ||
| + | UUID=XXXX / btrfs rw, | ||
| + | UUID=XXXX /home btrfs rw, | ||
| + | UUID=XXXX / | ||
| + | UUID=XXXX / | ||
| + | UUID=XXXX / | ||
| + | UUID=XXXX / | ||
| + | UUID=XXXX / | ||
| + | </ | ||
| + | |||
| + | Opțiunile de la tine pot fi diferite (de exemplu fără '' | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Înlocuiește '' | ||
| + | |||
| + | De reținut: | ||
| + | |||
| + | * **Nu modifica liniile existente** pentru ''/'' | ||
| + | * **Nu atinge liniile pentru ''/ | ||
| + | * Verifică să nu ai linii duplicate. | ||
| + | |||
| + | ==== Verifică fișierul ==== | ||
| + | |||
| + | <code bash> | ||
| + | sudo findmnt --verify --tab-file / | ||
| + | </ | ||
| + | |||
| + | Comanda verifică fișierul fără să monteze nimic. Pentru că rulează din Live USB, poate afișa avertismente legate de mediul Live, pe care le poți ignora. Contează să nu existe erori de sintaxă, linii duplicate sau referințe greșite. | ||
| + | |||
| + | ==== Subvolume de test rămase ==== | ||
| + | |||
| + | Dacă ai mai făcut experimente cu subvolume, s-ar putea să ai în '' | ||
| + | |||
| + | < | ||
| + | UUID=XXXX / | ||
| + | </ | ||
| + | |||
| + | Dacă nu mai ai nevoie de ele, șterge linia ca sistemul să nu mai încerce să le monteze la pornire. Ștergerea liniei nu șterge și subvolumul; dacă vrei să scapi și de el, fă-o separat, după ce te asiguri că nu conține nimic important. | ||
| + | |||
| + | ===== 10. Pregătește SELinux (doar Fedora) ===== | ||
| + | |||
| + | < | ||
| + | <tab title=" | ||
| + | Fedora folosește SELinux, care controlează accesul proceselor la fișiere pe baza unor etichete (contexte de securitate). Pentru că am creat subvolume noi și am copiat fișiere, etichetele trebuie verificate. Cel mai simplu este să ceri sistemului să le refacă la următoarea pornire: | ||
| + | |||
| + | <code bash> | ||
| + | sudo touch / | ||
| + | </ | ||
| + | |||
| + | <WRAP info> | ||
| + | **Prima pornire va dura mai mult decât de obicei**, în funcție de câte fișiere ai pe disc. Nu întrerupe procesul! | ||
| + | </ | ||
| + | </ | ||
| + | <tab title=" | ||
| + | Nu e nevoie de nimic. Ubuntu și Mint folosesc AppArmor, care lucrează cu căi de fișiere, nu cu etichete, așa că mutarea datelor în subvolume nu îl afectează. | ||
| + | </ | ||
| + | <tab title=" | ||
| + | Nu e nevoie de nimic. Debian folosește AppArmor, care lucrează cu căi de fișiere, nu cu etichete, așa că mutarea datelor în subvolume nu îl afectează. | ||
| + | </ | ||
| + | <tab title=" | ||
| + | Nu e nevoie de nimic. Arch nu are SELinux activ în mod implicit. | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ===== 11. Demontează și repornește ===== | ||
| + | |||
| + | Asigură-te că toate modificările au fost scrise pe disc, apoi demontează totul. Opțiunea '' | ||
| + | |||
| + | <code bash> | ||
| + | sync | ||
| + | sudo umount -R /mnt/root | ||
| + | sudo umount / | ||
| + | </ | ||
| + | |||
| + | Dacă apare eroarea //target is busy//, verifică să nu ai un terminal deschis într-unul din acele directoare. | ||
| + | |||
| + | Repornește calculatorul și scoate stick-ul USB. | ||
| + | |||
| + | ===== 12. Verifică rezultatul ===== | ||
| + | |||
| + | După pornire, deschide un terminal în sistemul instalat. | ||
| + | |||
| + | ==== Montările ==== | ||
| + | |||
| + | <code bash> | ||
| + | findmnt -t btrfs | ||
| + | </ | ||
| + | |||
| + | Toate subvolumele trebuie să apară la locul lor. Un exemplu pentru Ubuntu: | ||
| + | |||
| + | < | ||
| + | TARGET | ||
| + | / / | ||
| + | ├─/ | ||
| + | ├─/ | ||
| + | ├─/ | ||
| + | ├─/ | ||
| + | └─/ | ||
| + | </ | ||
| + | |||
| + | Lista completă a subvolumelor: | ||
| + | |||
| + | <code bash> | ||
| + | sudo btrfs subvolume list / | ||
| + | </ | ||
| + | |||
| + | ID-urile pot fi diferite la tine; important e să apară toate subvolumele. | ||
| + | |||
| + | ==== fstab ==== | ||
| + | |||
| + | Acum poți verifica '' | ||
| + | |||
| + | <code bash> | ||
| + | sudo findmnt --verify | ||
| + | </ | ||
| + | |||
| + | Comanda nu trebuie să afișeze erori. | ||
| + | |||
| + | ==== Rădăcina sistemului ==== | ||
| + | |||
| + | Verifică dacă sistemul pornește în continuare din subvolumul corect: | ||
| + | |||
| + | <code bash> | ||
| + | findmnt -no SOURCE / | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | <tab title=" | ||
| + | < | ||
| + | / | ||
| + | </ | ||
| + | </ | ||
| + | <tab title=" | ||
| + | < | ||
| + | / | ||
| + | </ | ||
| + | </ | ||
| + | <tab title=" | ||
| + | < | ||
| + | / | ||
| + | </ | ||
| + | </ | ||
| + | <tab title=" | ||
| + | < | ||
| + | / | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ==== SELinux (doar Fedora) ==== | ||
| + | |||
| + | < | ||
| + | <tab title=" | ||
| + | După reetichetare, | ||
| + | |||
| + | <code bash> | ||
| + | sudo restorecon -Rv /.snapshots /var/log /var/cache /var/tmp | ||
| + | </ | ||
| + | |||
| + | Verifică dacă SELinux este în continuare activ: | ||
| + | |||
| + | <code bash> | ||
| + | getenforce | ||
| + | </ | ||
| + | |||
| + | Rezultatul trebuie să fie '' | ||
| + | </ | ||
| + | <tab title=" | ||
| + | Nu e cazul. | ||
| + | </ | ||
| + | <tab title=" | ||
| + | Nu e cazul. | ||
| + | </ | ||
| + | <tab title=" | ||
| + | Nu e cazul. Verifică în schimb că '' | ||
| + | |||
| + | <code bash> | ||
| + | findmnt / | ||
| + | </ | ||
| + | |||
| + | Trebuie să apară subvolumul '' | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ===== 13. Șterge directoarele vechi ===== | ||
| + | |||
| + | Dacă sistemul pornește normal, subvolumele sunt montate și aplicațiile merg fără probleme, poți șterge copiile vechi. Asigură-te înainte că nu mai ai nevoie de niciun fișier din ele. | ||
| + | |||
| + | < | ||
| + | <tab title=" | ||
| + | <code bash> | ||
| + | sudo ls -ld / | ||
| + | sudo rm -rf / | ||
| + | </ | ||
| + | </ | ||
| + | <tab title=" | ||
| + | <code bash> | ||
| + | sudo ls -ld / | ||
| + | sudo rm -rf / | ||
| + | </ | ||
| + | </ | ||
| + | <tab title=" | ||
| + | Verifică mai întâi că datele din ''/ | ||
| + | |||
| + | <code bash> | ||
| + | sudo ls -ld /home.old / | ||
| + | sudo rm -rf /home.old / | ||
| + | </ | ||
| + | </ | ||
| + | <tab title=" | ||
| + | <code bash> | ||
| + | sudo ls -ld / | ||
| + | sudo rm -rf / | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Gata, migrarea s-a încheiat. | ||
| + | |||
| + | ===== Note despre programele de snapshot ===== | ||
| + | |||
| + | * **Snapper** folosește subvolumul montat pe ''/ | ||
| + | * **Timeshift** (folosit implicit pe Linux Mint) în modul Btrfs are nevoie de structura '' | ||
| + | |||
| + | ===== Concluzie ===== | ||
| + | |||
| + | Sistemul folosește acum subvolume separate pentru rădăcină, | ||
| + | |||
| + | <WRAP important> | ||
| + | **Snapshot-urile nu înlocuiesc backup-ul!** Toate subvolumele stau pe același disc, iar dacă discul se strică le pierzi pe toate deodată. | ||
| + | </ | ||
| + | |||
| + | ===== Surse ===== | ||
| + | |||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[http:// | ||
| + | |||
| + | {{tag> | ||