Cum să mutați directorul de acasă pe o partiție sau un disc nou în Linux


Pe orice sistem Linux, unul dintre directoarele care va crește cu siguranță în dimensiune trebuie să fie directorul /home. Acest lucru se datorează faptului că directoarele de conturi de sistem (utilizatori) vor locui în /home, cu excepția contului root – aici utilizatorii vor stoca continuu documente și alte fișiere.

Un alt director important cu același comportament este /var, acesta conține fișiere jurnal a căror dimensiune va crește treptat pe măsură ce sistemul continuă să ruleze, cum ar fi fișiere jurnal, fișiere web, fișiere spool de tipărire etc.

Când aceste directoare se umplu, acest lucru poate cauza probleme critice la sistemul de fișiere rădăcină, care duc la eșecul de pornire a sistemului sau alte probleme conexe. Cu toate acestea, uneori puteți observa acest lucru numai după instalarea sistemului și configurarea tuturor directoarelor din sistemul de fișiere/partiția rădăcină.

Lectură sugerată: Structura directorului Linux și căile de fișiere importante explicate

În acest ghid, vom arăta cum să mutați directorul de acasă într-o partiție dedicată, eventual pe un nou disc de stocare în Linux.

Instalarea și partiționarea unui nou hard disk în Linux

Înainte de a continua, vom explica pe scurt cum să adăugați un nou hard disk la un server Linux existent.

Notă: dacă aveți deja o partiție pregătită pentru operație, treceți la secțiunea care explică pașii pentru mutarea directorului /home într-un partiție proprie dedesubt.

Vom presupune că ați atașat noul disc la sistem. Pe un hard disk, numărul de partiții care trebuie creat, precum și tabelul de partiții sunt în mod normal determinate de tipul etichetei discului și primii câțiva octeți de spațiu vor defini MBR (Master Boot Record ) care stochează tabelul de partiții precum și încărcătorul de pornire (pentru discuri bootabile).

Deși există multe tipuri de etichete, Linux acceptă doar două: MSDOS MBR (516 octeți în dimensiune) sau GPT (Tabel de partiții GUID) MBR.

Să presupunem, de asemenea, că noul hard disk nou (/dev/sdb de dimensiunea 270 GB folosit în scopul acestui ghid, probabil că aveți nevoie de o capacitate mai mare pe un server pentru bază mare de utilizatori.

Mai întâi trebuie să setați tipul etichetei discului folosind fdisk sau parted; am folosit numele de etichetă GPT în acest exemplu.

parted /dev/sdb mklabel gpt

Notă: fdisk acceptă doar MSDOS MBR pentru moment și parted acceptă ambele etichete.

Acum creați prima partiție (/dev/sdb1) cu dimensiunea 106 GB. Am rezervat 1024 MB de spațiu pentru MBR.

parted -a cylinder /dev/sdb mkpart primary 1074MB 107GB

Explicând comanda de mai sus:

  • a – opțiune pentru a specifica alinierea partiției.
  • mkpart – subcomandă pentru a crea partiția.
  • primar – setează tipul de partiție ca principal pe hard disk (alte valori sunt logice sau extinse).
  • 1074MB – începutul partiției.
  • 107 GB – sfârșitul partiției.

Acum verificați spațiul liber de pe disc după cum urmează.

parted /dev/sdb print free

Vom crea o altă partiție (/dev/sdb2) cu dimensiunea 154 GB.

parted -a cylinder /dev/sdb mkpart primary 115GB 268GB

Apoi, să setăm tipul sistemului de fișiere pe fiecare partiție.

mkfs.ext4 /dev/sdb1
mkfs.xfs /dev/sdb2

Pentru a vedea toate dispozitivele de stocare atașate la sistem, tastați.

parted -l

Mutarea directorului de acasă într-o partiție dedicată

Acum am adăugat noul disc și am creat partiția necesară; acum este timpul să mutați folderul acasă într-una dintre partiții. Pentru a utiliza un sistem de fișiere, acesta trebuie să fie montat pe sistemul de fișiere rădăcină într-un punct de montare: directorul țintă, cum ar fi /home.

Mai întâi enumerați utilizarea sistemului de fișiere folosind comanda df de pe sistem.

df -l

Vom începe prin a crea un nou director /srv/home unde putem monta /dev/sdb1 pentru moment.

mkdir -p /srv/home
mount /dev/sdb1 /srv/home 

Apoi mutați conținutul /home în /srv/home (deci vor fi practic stocate în /dev/sdb1) folosind comanda rsync sau comanda cp.

rsync -av /home/* /srv/home/
OR
cp -aR /home/* /srv/home/

După aceea, vom găsi diferența dintre cele două directoare folosind instrumentul diff, dacă totul este bine, continuați cu pasul următor.

diff -r /home /srv/home

După aceea, ștergeți tot conținutul vechi din /home după cum urmează.

rm -rf /home/*

Următorul demontează /srv/home.

umount /srv/home

În cele din urmă, trebuie să instalăm sistemul de fișiere /dev/sdb1 la /home pentru între timp.

mount /dev/sdb1 /home
ls -l /home

Modificările de mai sus vor dura doar pentru pornirea curentă, adăugați linia de mai jos în /etc/fstab pentru a face modificările permanente.

Utilizați următoarea comandă pentru a obține partiția UUID.

blkid /dev/sdb1

/dev/sdb1: UUID="e087e709-20f9-42a4-a4dc-d74544c490a6" TYPE="ext4" PARTLABEL="primary" PARTUUID="52d77e5c-0b20-4a68-ada4-881851b2ca99"

După ce cunoașteți partiția UUID, deschideți fișierul /etc/fstab adăugați următoarea linie.

UUID=e087e709-20f9-42a4-a4dc-d74544c490a6   /home   ext4   defaults   0   2

Explicând câmpul din rândul de mai sus:

  • UUID – specifică dispozitivul de blocare, puteți utiliza alternativ fișierul dispozitivului /dev/sdb1.
  • /home – acesta este punctul de montare.
  • etx4 – descrie tipul sistemului de fișiere de pe dispozitiv/partiție.
  • Valori implicite – opțiuni de montare (aici această valoare înseamnă rw, suid, dev, exec, auto, nouser și async).
  • 0 – folosit de instrumentul de descărcare, 0 înseamnă a nu descărca dacă sistemul de fișiere nu este prezent.
  • 2 – folosit de instrumentul fsck pentru a descoperi ordinea de verificare a sistemului de fișiere, această valoare înseamnă a verifica acest dispozitiv după sistemul de fișiere rădăcină.

Salvați fișierul și reporniți sistemul.

Puteți rula următoarea comandă pentru a vedea că directorul /home a fost mutat cu succes într-o partiție dedicată.

df -hl

Atât deocamdată! Pentru a înțelege mai multe despre sistemul de fișiere Linux, citiți aceste ghiduri referitoare la gestionarea sistemului de fișiere pe Linux.

  1. Cum să ștergeți conturile de utilizator cu Home Directory în Linux
  2. Ce este Ext2, Ext3 și Ext4 și Cum să creați și să convertiți sisteme de fișiere Linux
  3. 7 moduri de a determina tipul sistemului de fișiere în Linux (Ext2, Ext3 sau Ext4)
  4. Cum se montează sistemul de fișiere sau directorul Linux la distanță folosind SSHFS peste SSH

În acest ghid, v-am explicat cum să mutați directorul /home într-o partiție dedicată în Linux. Puteți împărtăși orice părere cu privire la acest articol prin intermediul formularului de comentarii de mai jos.