Te gândești să relochezi folderul principal Linux pe un alt disc? Iată o metodă simplă, detaliată pas cu pas, care ar trebui să funcționeze pe orice distribuție. Prin această mutare, poți reinstala Linux fără să te preocupe pierderea fișierelor tale personale.
Importanța unui folder principal separat
În cazul în care configurezi un computer nou sau adaugi un hard disk la unul existent, s-ar putea să preferi să ai directorul principal pe alt disc decât cel standard.
O structură tot mai răspândită la computerele personale contemporane este de a utiliza un SSD (Solid State Drive) de dimensiune medie pentru sistemul de operare și un SSHD (Solid State Hybrid Drive) sau un HDD (Hard Disk Drive) cu capacitate mai mare ca stocare principală pentru date. Alternativ, poți avea un singur HDD în sistem și ai adăugat un altul pentru mai mult spațiu. Indiferent de motivații, îți voi prezenta cum să muți directorul principal, pas cu pas.
De reținut, dacă instalezi un sistem Linux de la zero, este foarte probabil să găsești o opțiune în timpul instalării care îți permite să aloci un director principal separat. De obicei, este suficient să accesezi setările de partiționare, să creezi o partiție nouă și să o montezi ca „/home”. Dar dacă ai deja instalată o distribuție Linux, poți utiliza acești pași pentru a muta directorul principal curent într-o locație nouă, fără a pierde date sau a reinstala sistemul de operare.
Acum, înainte de a începe, te sfătuiesc să faci o copie de rezervă.
Identificarea discului
Dacă ai atașat un nou disc la un sistem Linux sau ai instalat Linux pe unul dintre discurile unui computer cu mai multe unități, și ai repornit, este posibil să nu observi imediat prezența noului disc.
Comanda `fdisk` ne va afișa lista discurilor și partițiilor lor.
sudo fdisk -l
Examinează rezultatul comenzii până când identifici noul disc. Primul disc este denumit `/dev/sda`, al doilea `/dev/sdb`, și așa mai departe, litera finală crescând consecutiv. Deci, `/dev/sde` ar fi al cincilea disc din sistem.
În acest exemplu, noul disc este al doilea care va fi montat pe sistem. Trebuie să căutăm o intrare pentru `/dev/sdb`.
`/dev/sdb` este marcat mai sus. Vei observa că nu există o linie care să descrie o partiție pe el. Este un disc nou, deci nu are încă una. Trebuie să creăm o partiție. Putem face asta folosind `fdisk`. Dacă hard diskul nu este `/dev/sdb`, înlocuiește `/dev/sdb` cu identificatorul corect al noului disc în comandă.
sudo fdisk /dev/sdb
Când `fdisk` te întreabă pentru o comandă, tastează litera `p`. Aceasta va afișa tabelul de partiții al hard diskului. Știm că nu va avea niciunul, dar obținem informații utile despre disc. Aceasta ne asigură că discul pentru care vom crea o partiție este cel pe care dorim să-l folosim.
Aflăm că discul are 1 TB, ceea ce este conform cu așteptările pentru acest sistem de testare, așa că putem continua.
Crearea unei partiții
Tastează litera `n` pentru o partiție nouă, apoi `p` pentru o partiție principală. Când te întreabă numărul partiției, tastează `1`.
Vom crea o singură partiție pentru întregul disc, așadar, când ești întrebat despre primul sector, apasă Enter pentru a accepta valoarea implicită. Apoi vei fi întrebat despre ultimul sector, iar Enter va accepta valoarea implicită.
Deși `fdisk` confirmă că a creat o partiție Linux de 1 TB, care este partiția numărul 1, nimic nu s-a modificat pe hard disk. Până când nu dai comanda `fdisk` să scrie modificările pe disc, acesta este neatins. Când ești sigur de alegerile făcute, tastează litera `w` pentru a scrie modificările pe disc.
Partiția a fost scrisă în `/dev/sdb`. Să verificăm ce s-a întâmplat. Vom folosi `fdisk` încă o dată pe `/dev/sdb`.
sudo fdisk /dev/sdb
Tastează litera `p` pentru a afișa tabelul de partiții și vei vedea că există acum o partiție listată pentru disc. Deoarece a fost prima partiție de pe acest disc, este denumită `/dev/sdb1`. O a doua partiție ar fi denumită `/dev/sdb2` și așa mai departe.
Nu vrem să facem alte modificări în partiție, așa că tastează litera `q` pentru a ieși.
Crearea unui sistem de fișiere pe partiție
Trebuie să creăm un sistem de fișiere pe partiție. Acest lucru se realizează ușor cu comanda `mkfs`. Reține că trebuie să incluzi numărul partiției în comandă. Asigură-te că introduci `/dev/sdb1` (partiția) și nu `/dev/sdb` (discul).
sudo mkfs -t ext4 /dev/sdb1
Sistemul de fișiere va fi creat pentru tine și vei reveni la promptul de comandă.
Montarea noului disc
Pentru a folosi noul disc, trebuie să montăm partiția într-un punct de montare din sistemul de fișiere. Mai exact, nu montăm nici discul, nici partiția, ci montăm sistemul de fișiere de pe partiție, integrându-l în structura sistemului de fișiere.
Punctul `/mnt` este un loc bun pentru acest lucru. Este doar un punct de montare temporar care ne permite să copiem datele pe noul disc. Vom folosi comanda `mount` pentru a monta sistemul de fișiere de pe prima partiție de pe `/dev/sdb`, în `/mnt`.
sudo mount /dev/sdb1 /mnt
Dacă totul merge bine, vei reveni la linia de comandă fără mesaje de eroare. Să vedem dacă putem naviga la sistemul de fișiere nou montat.
cd /mnt
Da, putem. Să vedem ce se află aici.
ls -ahl
Ne aflăm în noul sistem de fișiere. Directorul implicit „lost+found” nu este necesar, așa că îl putem șterge.
sudo rm -rf lost+found
Copierea folderului principal
Trebuie să copiem totul din vechiul director principal în noul sistem de fișiere montat. Folosirea opțiunilor `r` (recursiv) și `p` (conservare) va garanta că toate subdirectoarele sunt copiate și că proprietățile fișierelor, permisiunile și alte atribute sunt păstrate.
sudo cp -rp /home/* /mnt
După ce copiarea este finalizată, folosește `ls` pentru a verifica dacă datele sunt unde te aștepți în noul sistem de fișiere. Altfel spus, dacă `/mnt` ar fi directorul tău principal, este totul prezent și corect?
ls
ls dave
Probabil vei dori să fii mai minuțios decât am fost noi pe mașina de testare pe care am cercetat acest articol. Ca o plasă de siguranță, vom redenumi și vom păstra vechiul director `/home` până când ești sigur că poți să-l ștergi.
sudo mv /home /home.orig
Vom crea un director principal nou, gol.
sudo mkdir /home
Vom folosi noul director principal gol ca punct de montare pentru sistemul de fișiere de pe noul hard disk. Trebuie să-l demontăm din `/mnt` și să-l remontăm pe `/home`. Reține că comanda `umount` nu are un „n” după „u”.
sudo umount /dev/sdb1
sudo mount /dev/sdb1 /home/
Testarea noului director principal
Să vedem care sunt atributele partiției `/dev/sdb1`:
df /dev/sdb1
Ni se arată numele sistemului de fișiere, dimensiunea partiției, spațiul folosit și disponibil, dar cel mai important, unde este montat. Acum este directorul nostru `/home`. Asta înseamnă că ar trebui să îl putem accesa exact cum puteam vechiul director `/home`.
Dacă ne deplasăm într-un punct arbitrar al sistemului de fișiere, ar trebui să ne putem întoarce la `/home` folosind comanda rapidă `~` (tilde).
cd /
cd ~
pwd
ls
cd /home
ls
cd dave
ls
ls -a
Putem naviga în sistemul de fișiere înainte și înapoi la `/home` folosind comenzi explicite și folosind comanda rapidă `~`. Folderele, fișierele și fișierele punct la care ne așteptăm sunt toate prezente. Totul arată bine.
Dacă lipsește ceva, am putea copia din directorul `/home.orig`, la care încă avem acces în rădăcina sistemului de fișiere. Dar, totul pare în ordine.
Acum, trebuie să avem `/dev/sdb1` montat automat de fiecare dată când computerul este pornit.
Editarea fstab
Fișierul `fstab` conține descrieri ale sistemelor de fișiere care vor fi montate la pornirea sistemului. Înainte de a-l modifica, vom face o copie de rezervă la care ne putem întoarce în caz de probleme.
sudo cp /etc/fstab /etc/fstab.orig
Acum, putem edita fișierul `fstab`.
sudo gedit /etc/fstab
Trebuie să adaugi o linie în partea de jos a fișierului pentru a monta noul nostru director `/home`. Dacă identificatorii de disc și de partiție sunt diferiți de cei folosiți în acest exemplu, înlocuiește-i cu `/dev/sdb1` afișat aici.
Introdu numele partiției la începutul liniei, apoi apasă Tab.
Introdu punctul de montare, `/home` și apasă Tab.
Introdu descrierea sistemului de fișiere `ext4` și apasă Tab.
Introdu valorile implicite pentru opțiunile de montare și apasă Tab.
Introdu cifra `0` pentru opțiunea de descărcare a sistemului de fișiere și apasă Tab.
Introdu cifra `0` pentru opțiunea de verificare a sistemului de fișiere.
Salvează fișierul `fstab`.
Repornirea sistemului
Trebuie să repornim pentru a verifica dacă totul a mers conform planului și că ai o conexiune corectă la noul tău director `/home`.
Dacă nu, ai încă plasa de siguranță a directorului original `/home` și fișierul `fstab` care ar putea fi restaurate dacă este necesar. Datorită măsurilor de precauție pe care le-am luat – copierea directorului `/home` și a fișierelor `fstab` – poți readuce cu ușurință sistemul la starea anterioară.
sudo reboot now
Verificări finale
Când sistemul tău repornește, să verificăm doar dacă directorul tău `/home` este într-adevăr pe noul tău hard disk și că sistemul nu a revenit cumva la folosirea vechiului director `/home`.
df /dev/sdb1
Super, este montat pe `/home`. Misiune îndeplinită.
Când ești complet sigur că nu mai ai nevoie de copia de siguranță a vechiului director `/home`, o poți șterge:
cd /
sudo rm -rf home.orig/
Și, desigur, dacă îți dai seama că ceva nu a fost copiat din vechiul `/home` în noul tău `/home`, vei putea să-l recuperezi din copia de rezervă pe care ai făcut-o înainte de a începe.
Casă dulce casă
Acum, că ai separat directorul `/home` de restul partiției sistemului de operare, poți reinstala sistemul de operare, iar datele tale vor rămâne intacte. Tot ce trebuie să faci este să editezi fișierul `fstab` pentru a monta al doilea disc pe `/home`.
Și deoarece toate fișierele tale punct sunt în directorul `/home`, când vei porni diferitele aplicații, acestea vor găsi toate setările, preferințele și datele tale.
Aceasta elimină dificultatea reinstalărilor și reduce riscul upgrade-urilor.