Personal tools

Partiţii

From linux360

Jump to: navigation, search

Introducere

În sistemele UNIX accesul la dispozitive precum discuri flexibile, cd-uri, partiţii ale unui hard-disc (în general memorii externe) se realizează în mod diferit de sistemele de tip Windows. Nu există volume separate de genul A:, C:, orice astfel de dispozitv este integrat în sistemul de fişiere local printr-o operaţie numită montare. Montarea asociază unui director, întregul sistem de fişiere aflat pe dispozitivul montat. Mecanismul este deosebit de puternic, deoarece oferă posibilitatea de a avea o structură de directoare unitară, care grupează fişiere de pe mai multe partiţii sau discuri. Dacă se adaugă şi sistemul de fişiere NFS (Network File System), această structură de directoare va putea conţine şi sisteme de fişiere de pe altă maşină. Mai explicit, structura în cauză este una arborescentă, iar la adaugarea unei noi parţitii montată sub un director, de fapt adaugăm un subarbore în cadrul arborelui deja existent, legâdu-l de un nod ales de noi (în acest caz directorul în care îl montăm).

Pentru identificarea dispozitivelor periferice, sistemele UNIX folosesc intrări speciale în directoare, numite "device files". Fisierele speciale care indică unitaţi de disc sau partiţii sunt folosite la montare. În general aceste fişiere se găsesc în directorul /dev şi au denumiri standardizate:

fdX
unitatea floppy
hdX
unitati HDD sau CDROM pe IDE
cdromX
unitati cdrom (in general legatura simbolica)
scdX
discuri SCSI sau unitati CDROM emulate SCSI sau pe USB
sdaX
unitati de stocare pe USB ( HDD-uri , ZIP-uri , FDD-uri, Card Readere, Flash-uri)


"X"-urile de mai sus sunt de fapt numere corespunzatoare device-ului respectiv.

Presupunem ca avem doua hard-disk-uri EIDE, care vor fi identificate de Linux ca fiind hda si hdb.

De exemplu, în Windows ne-am fi referit la o partiţie ca fiind, C:, D:, E: şi aşa mai departe. În Linux, dacă vrem sa ne referim la partiţia a treia de pe hard-disk-ul IDE slave de pe controler-ul IDE primar, vom folosi hdb3. hd se referă la tipul unitaţii, b se referă poziţia unităţii, iar 3 este numărul partiţiei.

Ce partiţii sunt pe disc ?

Primul pas, aflarea partiţiilor de pe sistem şi a tipului lor. Pentru asta se foloseşte comanda fdisk

[root@movie root]# fdisk -l

Disk /dev/hdc: 40.0 GB, 40020664320 bytes
255 heads, 63 sectors/track, 4865 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 
   Device Boot    Start       End    Blocks   Id  System
/dev/hdc1             1      4865  39078081    c  Win95 FAT32 (LBA)

Disk /dev/hda: 40.0 GB, 40027029504 bytes
255 heads, 63 sectors/track, 4866 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 
   Device Boot    Start       End    Blocks   Id  System
/dev/hda1   *         1       638   5124703+   b  Win95 FAT32
/dev/hda2           639      1276   5124735   83  Linux
/dev/hda3          1277      1293    136552+  82  Linux swap
/dev/hda4          1294      4866  28700122+   c  Win95 FAT32 (LBA)
[root@movie root]#

Exemplul anterior prezintă ieşirea comenzii fdisk pentru un sistem cu două discuri. Acesta conţine toate informaţiile necesare pentru montarea unei partiţii :

  • Dispozitivul : /dev/hda1 ( de exemplu)
  • Tipul sistemului de fişiere : Win95 FAT32, ..

Exemple:

  • partiţie NTFS
 /dev/hda1   *         1      1803  13630648+   7  HPFS/NTFS 
  • partiţie Win95
 /dev/hda1   *         1       638   5124703+   b  Win95 FAT32 
  • partiţie Linux pe HDD SCSI
 /dev/sda1   *         1       100    102384   83  Linux 

Montare

Folosind informaţiile găsite mai devreme, puteţi folosi comanda mount pentru a putea să accesaţi partiţia dorită. mount -t <tipul sistemului> <dispozitiv> <director destinaţie>

Exemple :

Montarea unei partiţii NTFS

mount -t ntfs /dev/hda1 /mnt/XP

Montarea unei partiţii FAT

mount -t vfat /dev/hda1 /win Sunt utile unele opţiuni suplimentare oferite de comandă dintre care cea mai utilă este umask, şi de la kernel-ul 2.5.43 dmask/fmask. Acestea permit controlul atributelor pentru sistemele de fişiere care nu suportă atribute UNIX-like.

Montarea unei partiţii FAT32 pentru a fi acessibilă tuturor utilizatorilor

mount -t vfat -o umask=0 /dev/hda1 /win Pentru opţiuni suplimentare consultaţi manualul comenzii mount.

Pentru simplificarea operaţiei de montare se pot seta in fisierul /etc/fstab opţiunile default pentru respectiva partiţie.

[root@movie root]# cat /etc/fstab LABEL=/ / ext3 defaults 1 1 none /dev/pts devpts gid=5,mode=620 0 0 none /proc proc defaults 0 0 none /dev/shm tmpfs defaults 0 0 /dev/hda3 swap swap defaults 0 0 /dev/cdrom /mnt/cdrom iso9660 noauto,owner,kudzu,ro 0 0 /dev/cdrom1 /mnt/cdrom1 iso9660 noauto,owner,kudzu,ro 0 0 /dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0 /dev/hda1 /mnt/windows vfat users,defaults,umask=0 0 0 /dev/hda4 /mnt/data vfat users,defaults,umask=0 0 0 /dev/hdc1 /mnt/work vfat noauto,users,defaults,umask=0 0 0 /dev/hdc1 /mnt/filmele ntfs noauto,users,owner,defaults,umask=0 0 0

Fiecare linie din acest fişier are forma

<dispozitiv> <punct de montare> <sistemul de fişiere> <opţiuni> <backup> <fsck>

Primele câmpuri sunt evidente. Câmpul backup este folosit de comanda dump pentru a determina care sistem de fişiere trebuie salvat. Campul fsck este folosit de comanda fsck pentru a determina ordinea în care va verifica sistemele de fişiere la reboot. Sistemul pe care se găseste / va avea valoarea 1 in acest câmp, iar celelalte vor avea valoare 2 în general (sau 0 în cazul în care nu se doreşte verificarea lor). Partiţiile specificate in fstab, devin stabile şi pot fi folosite în formele prescurtate ale comenzii mount, de forma: mount <dispozitiv> mount <punct de montare> De asemenea, comanda mount are o opţiune (-a) prin care se pot monta simultan toate partiţiile configurate in fstab. Fişierul fstab este de asemenea folosit pentru a monta la pornirea sistemului toate partiţiile configurate. În cazul în care nu doriţi ca partiţia respectivă să fie montată la boot, specificaţi opţiunea noauto. Pentru opţiuni suplimentare consultaţi manualul comenzii mount.

Alte sisteme de fişiere

Pe langă discuri prezente în sistem, kernel-ul linux poate monta şi sisteme de fişiere care sunt situate alte maşini. Un alt caz special este montarea imaginii binare a unui sistem de fisiere. Exemple:

Montarea unui sistem nfs mount -t nfs movie:/mnt/hdc1 /mnt/filme/

unde movie este host-ul de unde este exportat respectivul "share" NFS, /mnt/hdc1 este directorul exportat. Atenţie, pentru montarea unui astfel de share, trebuie ca pe maşina gazdă să fie pornit portmap, pe maşina care exportă trebuie să fie adugat în /etc/exports directorul respectiv şi trebuie să fie pornit daemonul nfs.

Montarea unui share windows mount -t smbfs -o username=tridge,password=foobar //fjall/test /data/test

Montarea unei imagini ISO9660 mount -t iso9660 RH9.iso /mnt/cdrom1 -o loop

Spaţiul pe disc

Uneltele pentru aflarea spaţiului pe disc sunt df, şi du

df se foloseste pentru a determina spaţiul pe disc

Spatiul pe disc [root@main root]# df -h -l

Filesystem            Size  Used Avail Use% Mounted on
/dev/hda1             3.3G  673M  2.7G  21% /
none                   31M     0   31M   0% /dev/shm
[root@main root]#

Opţiunea -l se foloseşte pentru a limita listarea la sistemele de fişiere locale. Opţiunea -h se foloseste pentru a genera lista în format "human readable".

du se foloseşte pentru determinarea spaţiului ocupat de fişiere

Spaţiul ocupat de fiecare director din /usr [root@main root]# du -h --max-depth=1 /usr/

38M     /usr/bin
512     /usr/etc
201M    /usr/lib
1.0K    /usr/src
512     /usr/dict
23M     /usr/sbin
7.5M    /usr/X11R6
512     /usr/games
11K     /usr/local
259M    /usr/share
3.2M    /usr/libexec
1001K   /usr/kerberos
138K    /usr/include
531M    /usr
[root@main root]#

Spatiul total ocupat de /usr [root@main root]# du -h --max-depth=0 /usr/

531M    /usr
[root@main root]#

Opţiunea -h are aceiaşi semnificaţie ca şi la df. Opţiunea --max-depth limitează adancimea maximă a subdirectoarelor pentru care se afişează totalul. De exemplu pentru du -h --max-depth=2 ./ se afisează dimensiunea directoarelor din directorul curent, precum şi al subdirectoarelor acestora