Difference between revisions of "Partiţii"
From linux360
(→Montare) |
m (→Montare) |
||
Line 77: | Line 77: | ||
<code><sh/><nowiki>[root@movie root]# cat /etc/fstab | <code><sh/><nowiki>[root@movie root]# cat /etc/fstab | ||
− | #<file system> <mount point> | + | #<file system> <mount point> <type> <options> <dump> <pass> |
− | LABEL=/ / | + | LABEL=/ / ext3 defaults 1 1 |
− | none /dev/pts | + | none /dev/pts devpts gid=5,mode=620 0 0 |
− | none /proc | + | none /proc proc defaults 0 0 |
− | none /dev/shm | + | none /dev/shm tmpfs defaults 0 0 |
− | /dev/hda3 swap | + | /dev/hda3 swap swap defaults 0 0 |
− | /dev/cdrom /mnt/cdrom | + | /dev/cdrom /mnt/cdrom iso9660 noauto,owner,kudzu,ro 0 0 |
− | /dev/cdrom1 /mnt/cdrom1 | + | /dev/cdrom1 /mnt/cdrom1 iso9660 noauto,owner,kudzu,ro 0 0 |
− | /dev/fd0 /mnt/floppy | + | /dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0 |
− | /dev/hda1 /mnt/windows | + | /dev/hda1 /mnt/windows vfat users,defaults,umask=0 0 0 |
− | /dev/hda4 /mnt/data | + | /dev/hda4 /mnt/data vfat users,defaults,umask=0 0 0 |
− | /dev/hdc1 /mnt/work | + | /dev/hdc1 /mnt/work vfat noauto,users,defaults,umask=0 0 0 |
− | /dev/hdc1 /mnt/filmele | + | /dev/hdc1 /mnt/filmele ntfs noauto,users,owner,defaults,umask=0 0 0</nowiki></code> |
Mai explicit, fiecare linie din acest fişier are forma | Mai explicit, fiecare linie din acest fişier are forma |
Revision as of 14:43, 12 April 2006
Contents
Introducere
În sistemele UNIX accesul la dispozitive precum discuri flexibile, cd-uri, partitii 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, intreagul 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 grupeaza 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 alta maşină. Mai explicit, structura in cauza este una arborescenta, iar la adaugarea unei noi partitii montata sub un director, de fapt adaugam un subarbore in cadrul areborelui deja existent, legadu-l de un nod ales de noi (in acest caz directorul in care il montam).
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, in Windows ne-am fi referit la o partitie sau hard-disk ca fiind, C:, D:, E: si asa mai departe. In Linux, daca vrem sa ne referim la partitia a treia de pe hard-disk-ul al doilea, avem un mecanism mai specific. Astfel, vom spune ca acea partitie este hdb3. Dupa cum ati ghicit hd se refera la unitatea proriu-zisa, b se refera la faptul ca este cel de-al doilea hard-disk, iar 3 este numarul partitiei.
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
<sh/>[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 doua discuri. Acesta contine 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
Nota amuzanta: In cazul in care vi se pare de undeva cunoscut numele acestei comenzi, s-ar putea sa fie de la utilitarul de Windows Daemon Tools. Va aduceti aminte ca pentru a putea vedea o imagine a unui CD trebuia sa creeati un CD-ROM virtual si sa "montati" in el imaginea dorita? Ei bine, actiunea este similara cu comanda mount sub Linux.
Folosind informaţiile găsite mai devreme, puteţi folosi comanda mount pentru a putea să accesaţi partiţia dorită.
<sh/>mount -t <tipul sistemului> <dispozitiv> <director destinaţie>
Exemple :
- Montarea unei partiţii NTFS
<sh/>mount -t ntfs /dev/hda1 /mnt/XP
- Montarea unei partiţii FAT
<sh/>mount -t vfat /dev/hda1 /win
Sunt utile unele opţiuni suplimentare oferite de comandă dintre care cea mai utila este umask, şi de la kernel-ul 2.5.43 dmask/fmask. Acestea perimit controlul atributelor pentru sistemele de fişiere care nu suporta atribute UNIX-like.
- Montarea unei partitii FAT32 pentru a fi acessibilă tuturor utilizatorilor
<sh/>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 optiunile default pentru respectiva partiţie, acest fisier fiind standard in toate distributiile de Linux. Aici se specifica conform optiunilor de montare toate partitiile care doriti sa devina "stabile", in sensul ca vor fi montate asa la fiecare (re)pornire a sistemului.
<sh/>[root@movie root]# cat /etc/fstab
#<file system> <mount point> <type> <options> <dump> <pass>
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
Mai explicit, 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).
Î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
<sh/>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
<sh/>mount -t smbfs -o username=tridge,password=foobar //fjall/test /data/test
Montarea unei imagini ISO9660
<sh/>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
<sh/>[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
<sh/>[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
<sh/>[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şeaza totalul. De exemplu pentru
<sh/>du -h --max-depth=2 ./
se afisează dimensiunea directoarelor din directorul curent, precum şi al subdirectoarelor acestora