Dedinčan odporúča...

Inkscape logoInkscape je open source vektorový grafický editor, schopnosťami podobný programom ako Illustrator, Freehand, CorelDraw alebo Xara X a to s použitím W3C štandardu zväčšovanej vektorovej grafiky (SVG). Medzi podporované SVG schopnosti patria tvary,...

UUID

Kategória: Debian GNU/Linux
Upravené: nedeľa, 2. august 2009

Narazili ste už na túto skratku? Viete čo znamená? UUID znamená – Universally Unique Identifier, po našom Univerzálny jedinečný identifikátor. Inými slovami číslo, ktoré niečo jednoznačne identifikuje. A v našom prípade jednoznačne identifikuje partície...

Iste Vás napadá, že partície sú v Linuxe jednoznačne identifikované. Pre tých, čo nevedia ako, disky sú v Linuxe reprezentované ako súbory (ostatne ako všetko). Tieto súbory sú umiestnené v adresári /dev, ktorý bol svojho času vytváraný staticky a teda aby ste mohli tieto súbory (zariadenia) používať, museli byť najprv vytvorené pomocou nástroja mknod, pripadne skriptu MAKEDEV.

Disky boli identifikované ako hdX či sdX, kde písmeno h hovorilo o IDE disku a s o SCSI alebo SATA disku, pričom IDE disky sú najstaršie. Písmeno X tu nahradzuje písmeno, ktoré označovalo spôsob pripojenia disku – master disk prvého IDE bol a, slave disk zase b atď. Za týmito písmenami nasledovalo číslo, ktoré udávalo poradie partície – čísla <= 4 označovali (a označujú) primárne partície, čísla 5 a viac zase partície logické. Bývalo bežné, že v systéme bol len jeden disk. A tak /dev/hda5 postačovalo na jednoznačné označenie partície, a to najmä pri IDE diskoch. Aby ste totiž mohli zameniť partície hda1 s hdb1, potrebovali ste otvoriť stroj, prehodiť jumpery (prípadne káble).

V dnešnej dobe sú súbory zariadení vytvárané dynamicky, pri zistení zariadenia v systéme pomocou udev a ak si dáte urobiť výpis pripojených zariadení pomocou mount, okrem iného môžete vidieť niečo takéto (výpis som skrátil):

mount
...
udev on /dev type tmpfs (rw,mode=0755)
... 

V prípade IDE diskov je to stále jedno. Pre SATA disky to už tak jedno nie je. Tieto disky nemajú svoju rolu v systéme danú konektorom na základnej doske. A, aby toho nebolo málo, pletú sa tu aj vyberateľné médiá, ako rôzne USB kľúče, čítačky kariet, či fotoaparáty a o externých diskoch ani nehovoriac.

V mojom stroji mám dva SATA disky, označené ako sda a sdb. Keď pripojím USB kľúč, je rozpoznaný ako sdc a všetko funguje. Ale keď ho nechám zasunutý aj pri štarte, systém ho označí ako sda a moje disky ako sdb a sdc. Asi už tušíte problém. Áno, je síce nájdený GRUB v MBR disku (momentálne označenom ako sdb), ale ten už nenájde koreň súborového systému sda1... Svojho času som to vyriešil zmenou nastavenia v BIOSe, a tak mi systém USB disky pri štarte nerozpoznáva, ale existuje elegantnejšie riešenie, ktoré je založená práve na použití UUID.

Podpora v súborových systémoch

UUID je vlastnosťou súborového systému a je generované pri formátovaní partície. Teda celkom jednoznačne to platí pre partície so súborovými systémami v GNU/Linux bežnými (ako extX, ReiserFS, XFS, swap atď.) a neplatí to pre súborové systémy asi najrozšírenejšie, teda pre FAT a NTFS. Ale ešte to nevzdávajte, existuje spôsob ako tento systém použiť aj pre partície s týmito súborovými systémami, len je tento jednoznančý identifikátor kratší.

Zastavím sa ešte pri swap partícii. Pri písaní tohoto článku som zistil, že mám jeden swap s UUID a jeden bez. Neviem presne čím to je spôsobené, každopádne však viem, že jeden som vytvoril už dávnejši  pri inštalácii a druhý relatívne nedávno. Je možné, že neexistenciu UUID má na svedomí staršia verzia mkswap

Komentáre  

 
# Mnicky 14. 03. 2009; 14:01
Dá sa pomocou UUID upraviť aj parameter groot?

## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd0,8)

Pretoze ked som dal:
# groot=UUID=b55b065b-dead-4217-abe9-0e2791e16bd9

tak mi Grub vyhodil chybu - tusim error 11
Odpovedať | Odpovedať citáciou | Citovať
 
 
# Slavko 15. 03. 2009; 12:52
V prípade groot ide o nastavenie parametra root, čo je parameter grubu, na rozdiel od root v definícii parametrov jadra. Ja píšem o podpore UUID v jadre, takže si overte, či Váš grub vôbec UUID podporuje. Ak áno, skúste:
Code:# groot=b55b065b-dead-4217-abe9-0e2791e16bd9
čiže, inými slovami, bez UUID=
Odpovedať | Odpovedať citáciou | Citovať
 

Copyright © 2008 - 2012 Sprievodca dedinčana... Niektoré práva vyhradené.
Ak nie je uvedené inak, obsah podlieha licencii „Creative Commons Uveďte autora – Zachovajte licenciu 3.0 Unported

Nenasledovať tento odkaz, inak budete maž zakázaný prístup na stránku!