Original de ThunderM pe ubuntu.ro. Mie mi-a priit pt că tocmai am cumparat un Maxtor portabil. Daca sunt greşeli, anunţaţi.După cum destui dintre voi aţi observat odată cu upgrade-ul la / instalarea Ubuntu 6.10 modul implicit de configurare a fişierului /etc/fstab (adica cel care conţine o listă cu partiţiile sistemului care se doresc a fi montate automat la pornirea sistemului) s-a modificat un pic.
Astfel o linie care arăta înainte ca:
/dev/hda1 / ext3 defaults,errors=remount-ro 0 1
acum apare în forma următoare (neavând şi aceeaşi valoare bineînţeles):
UUID=9d0462b8-4038-483e-a43c-d814b8ac4f5e / ext3 defaults,errors=remount-ro 0 1
Deşi este o schimbare nu este tocmai o noutate faptul că o partiţie poate fi montată după UUID . E adevărat ca Ubuntu e una dintre puţinele distribuţii care folosesc implicit acest mod de montare (nu mai ştiu alta din păcate). Asta însă nu înseamnă că nu aţi fi putut face montarea în acest mod folosind Ubuntu 6.06 sau o altă distribuţie Linux.
Pentru a înţelege de ce vă va ajuta să ştiţi şi ce este acel cod misterios. UUID-ul (Universal Unique Identifier) este un cod cu lungimea de 128 de biţi care are drept scop identificarea unui anumit "ceva" păstrând în acelaşi timp un anumit grad de anonimitate. În cazul de faţă acel ceva se întâmplă să fie o partiţie de tip ext3.
Anonimitatea este asigurată de numărul foarte mare de coduri unice şi de modul de generare a lor. Cum sunt generate exact nu are sens să fie prezentat aici (şi nici măcar nu ştiu cu exactitate) însă am înţeles că de obicei sunt bazate pe 3 componente: una fizică fixă (mărimea partiţiei s-ar incadra aici, de exemplu), una temporală (partiţia va primi un UUID în funcţie de data/ora la care este făcută formatarea) şi cireaşa de pe tort, una aleatorie. Şi acum practic... cât de multe lucruri ştiţi despre partiţia/hard-discul meu din acel UUID?
Şi acum, de ce? Care e sensul? Pe lângă faptul că se poate, este şi folositor. Montarea folosind device-uri de genul /dev/sda1 are dezavantajul faptului că la o mutare a hardiscului (de pe un cablu ATA pe altul sau de pe Master pe Slave) acea locaţie va deveni invalidă. Iar dacă pe ea era partiţia / (sau /boot în unele cazuri) a unui Linux atunci acesta nu va mai boota.
Montând partiţia folosind UUID ne scuteşte de acea problemă, referirea făcându-se cu exactitate la o anumită partiţie indiferent unde s-ar afla ea. Faptul că majoritatea sistemelor de fişiere creează acel UUID la formatare, de câţiva ani buni, a făcut această soluţie să fie una viabilă.
Dezavantajul este că e un pic mai greu de lucrat cu el. E uşor să ţii minte că hda1 e partiţia root a Linux-ului însă nu se poate spune acelaşi lucru şi despre acel cod... Însă nimeni nu a spus că trebuie să-l ţineţi minte. Pentru a afla UUID-ul unei partiţii puteţi rula comanda "vol_id" astfel (aici pentru partiţia hda1):
thunderm@Zeus:~$ sudo vol_id /dev/hda1
Password:
ID_FS_USAGE=filesystem
ID_FS_TYPE=ext3
ID_FS_VERSION=1.0
ID_FS_UUID=9d0462b8-4038-483e-a43c-d814b8ac4f5e
ID_FS_LABEL=
ID_FS_LABEL_SAFE=
De asemenea puteţi vedea şi UUID-urile tuturor partiţiilor rulând comanda:
ls /dev/disk/by-uuid -alh
Rezultatul va conţine lista pe care o doriţi având UUID-ul scris cu albastru deschis adică ceva asemanator cu:
thunderm@Zeus:~$ ls /dev/disk/by-uuid -alh
total 0
drwxr-xr-x 2 root root 160 2007-01-26 18:25 .
drwxr-xr-x 6 root root 120 2007-01-26 18:25 ..
lrwxrwxrwx 1 root root 10 2007-01-26 18:25 00FBAD1C33980F90 -> ../../hda6
lrwxrwxrwx 1 root root 10 2007-01-26 18:25 44e26abf-21ef-4998-b416-3af7154293cd -> ../../hda7
lrwxrwxrwx 1 root root 10 2007-01-26 18:25 7250EBA950EB7271 -> ../../hda5
lrwxrwxrwx 1 root root 10 2007-01-26 18:25 9d0462b8-4038-483e-a43c-d814b8ac4f5e -> ../../hda1
lrwxrwxrwx 1 root root 10 2007-01-26 18:25 C200916F00916AE5 -> ../../hda2
lrwxrwxrwx 1 root root 10 2007-01-26 18:25 F8D023D4D0239840 -> ../../hda8
Având în vedere că nu umblaţi toată ziua prin /etc/fstab nu cred ca este chiar atât de anevoios să folosiţi UUID pentru montare. Dacă este vorba de un hard-disc pe USB cu siguranţă vă veţi mulţumi pentru efort mai tarziu. La urma urmei însă rămâne la alegerea voastră ce să folosiţi.
PS: Se pot folosi şi label-uri în cazul în care aţi atribuit aşa ceva partiţiei. Pentru o partiţie care are ca label 'ubuntu' veţi scrie ceva asemănător cu:
LABEL=ubuntu / ext3 defaults,errors=remount-ro 0 1
Puţini însă sunt cei care definesc label-uri la partiţii, chiar şi mai puţini cei care le folosesc pentru montare datorită faptului că nu este o modalitate prea sigură.