Fișierul fstab (localizat în directorul /etc) controlează modul în care Linux asigură accesul la partițiile de pe hard-disk. Linux are o structură unificată a directoarelor, în care fiecare partiție este montată (mapată) într-un anumit punct din arborele de fișiere.
Multe directoare din Linux se află pe partiții diferite de partiția root (/); de exemplu, dacă directorul /etc se află pe aceeași partiție cu partiția /, directorul /home se poate afla pe o altă partiție. Fișierul /etc/fstab descrie cum sunt dispuse aceste sisteme de fișiere în structura distribuției Linux (numele fstab este o abreviere de la filesystem table).
Fișierul /etc/fstab constă într-o serie de linii care conțin fiecare câte 6 câmpuri (una din întrebările de la examenul CompTIA Linux+ LX0-103 a fost despre câte câmpuri sunt într-o linie din /etc/fstab); aceste câmpuri sunt separate prin unul sau mai multe spații ori taburi. O linie care începe cu caracterul # este complet ignorată. Fișierul meu /etc/fstab arată astfel:
# /etc/fstab: static file system information
#
# <file system> <dir> <type> <options> <dump> <pass>
# UUID=3b7c8f48-be62-49ea-9031-1abdcc16c7fc
/dev/sda9 / ext4 rw,relatime,data=ordered 0 1# UUID=c5051bbe-e0c6-45d4-a759-617fed4b3db8
/dev/sda7 /home ext4 rw,relatime,data=ordered 0 2# UUID=bef71f7b-9e98-4b65-98b8-e2b282053054
/dev/sda5 none swap defaults 0 0
/dev/sda8 /run/media/bobsesa/date ntfs-3g defaults 0 0
Explicația fiecărui câmp din fstab
File system. Prima coloană specifică partiția care va fi montată. Reprezintă numele fișierului de pe hard disk al partiției respective (/dev/sda1 sau /dev/sdb3) - pentru a vedea toate partițiile de pe hard disk folosiți comanda sudo fdisk -l
. Multe distribuții specifică aceste partiții prin UUID (în loc de /dev/sdxy se folosește UUID=................), ceea ce poate elimia erorile provocate de numerotarea lor - pentru a vedea care este UUID pentru fiecare partiție folosiți comanda sudo blkid
. Când Linux întâlnește această intrare, încearcă să găsească partiția specificată de numele indicat sau de UUID și să o monteze.
Dir - sau punctul de montare. A doua coloană specifică locul din structura arborelui de directoare unde va fi montată partiția indicată. Acesta va fi, de regulă, un director gol creat anterior (partiția root (/) este o excepție - în exemplul prezentat, partiția / este /dev/sda9). Mai avem, de asemenea, partiția swap care nu are un punct de montare - în cazul meu e vorba de /dev/sda5.
Type - tipul sistemului de fișiere. Este un cod care indică ce tip de sistem de fișiere este pe partiția respectivă. Opțiunea auto lasă kernelul să să detecteze automat sistemul de fișiere. Detectarea automată nu funcționează cu toate tipurile de siteme de fișiere - cazul partițiilor ntfs.
Options - opțiunile de montare (identice cu cele de la comanda mount
). Modifică modul în care kernelul va trata aceste sisteme de fișiere. Câteva din opțiunile cele mai folosite:
- sync/async - toate operațiile I/O pe sistemul de fișiere respectiv vor fi făcute sincron sau asincron
- auto - sistemul de fișiere va fi montat automat la boot (sau când comanda mount este folosită cu opțiunea -a)
- noauto - sistemul de fișiere NU va fi montat automat la pornirea sistemului sau la folosirea comenzii
mount -a
(necesită folosirea comenziimount
în mod explicit) - exec / noexec - permite sau nu executarea fișierelor binare (programe/scripturi) de pe acest sistem de fișiere
- suid/nosuid - permite sau interzice folosirea atributelor suid sau sgid
- ro - montare numai în citire (read-only)
- rw - montare scriere-citir (read-write)
- user - permite oricărui utilizator să monteze partiția respectivă - nu va putea fi demontată decât de userul care a făcut montarea; implică automat noexec, nosuid,nodev dacă nu este specificat altfel în altă parte
- users - permite oricărui utilizator să monteze partiția respectivă, iar demontarea va putea fi făcută de oricare utilizator; implică automat opțiunile noexec, nosuid, and nodev
- nouser - permite numai administratorului de sistem să monteze sistemul de fișiere respectiv - face parte din opțiunea default
- defaults - folosește setările default; este echivalent cu rw, suid, dev, exec, auto, nouser, async
- dev/nodev - interpreztarea sau neinterpretarea dispozitivelor speciale (cele din directorul /dev)
- relatime - actualizarea timpului de acces relativ față de data la care conținutul a fost modificat; timpul de acces este actualizat doar în cazul în care cel precedent este mai devreme decât cel recent
- noatime - neactualizarea timpului de acces pe sistemul de fișiere; poate ajuta la îmbunătățirea performanței
- data={journal|ordered|writeback} - specifică modul de jurnalizare: journal (toate datele sunt trecute în jurnal înainte de a fi scrise pe disc), ordered (este modul default, când datele sunt forțate să fie scrise pe disc, înainte ca metadatele să fie trecute în jurnal), writeback (ordinea de scriere nu se păstrează - datele pot fi scrise pe disc înainte ca metadatele să fie trecute în jurnal)
Mult mai multe opțiuni folosite în fstab pot fi aflate folosind comanda man mount
.
Dump - operații de backup. Specifică dacă utilitarul dump face sau nu backup partiției respective (1 - pentru backup, 0 - nu face backup). Dacă nu ați folosit niciodată programul dump, această opțiune nu-și mai are rostul - dump a fost cândva un utilitar foarte folosit de backup, dar în prezent aproape că nu mai este folosit.
Pass - verificarea integrității sistemului de fișiere. La pornirea sistemului, Linux folosește utilitarul fsck pentru verificarea partiției respective. Ultima coloană (a șasea) specifică ordinea în care va avea loc această verificare (valorile posibile sunt 0, 1 și 2): 0 înseamnă că partiția NU va fi verificată; partiția root (/) trebuie să aibă valoarea 1 (este prima verificată), toate celelalte partiții care necesită verificare vor avea valoarea 2.
Dacă adăugați un hard disk nou în sistem va trebui să modificați și fișierul fstab.
Știind toate aceste lucruri, descifrarea și editarea fișierului /etc/fstab nu vor mai fi probleme pentru nimeni.
Mircea a zis
am pus fizic in calculator un harddisck ssd si nu-mi-l vede ,,ubuntu” Trebuie sa fac setari din ,,fstab ? si cum anume?
Bobses a zis
Încearcă cu Gparted (de aici îl poți și formata).
În terminal scrie comanda lsblk și ar trebui sa ți-l arate.
Abia după partiţionare/formatare editezi fstab ca sa ți-l monteze la boot.