Zastanawiam się czemu w Hardy'm fstab wciąż rozgląda się za partycjami po ich UUID, miast dużo czytelniejszych LABELs. Jeśli się nie mylę, Fedora od jakiegoś już czasu definiuje partycje podług tego ostatniego. GParted w repo Ubuntu jest (obecnie) w wersji 0.3.5, a dop. od wersji 0.3.7 obsługuje LABELe. Nie znaczy to jednak, że nie da się zmusić Hardy'ego do "patrzenia" na LABELe.
Why?
- Bo UUID jest nieczytelny, łatwy do pomylenia, zmienia się przeważnie bez naszej wiedzy po modyfikacji partycji.
- Bo [/dev/sdXY] również może się zmienić, jeśli np. zbootujemy system po podpięciu dodatkowego napędu;
- Bo LABEL ustalamy my, jest czytelny dla ludzików i nie zmieni się, jeśli tego nie chcemy;
- Bo dzięki LABEL, będziemy zawsze wiedzieć gdzie zamontuje się nasz napęd (/media/[label]) - bardzo przyjemne przy oLABELowaniu napędów wymiennych (USB);
Why not?
- Bo jeśli podepniemy do systemu z partycją z LABELem "XYZ" np. pena USB z takim samym LABELem, może coś się posypać. Jednak prawdpodobieństwo jest znikome przy rozsądnym nazewnictwie. IMO łatwiej spieprzyć UUID niż pokiełbasić LABELe.
Czym i co?
Najpierw musimy przypisać labele naszym partycjom
e2label - dodamy/zmienimy LABEL partycji ext2/3 (nie potrzeba odmontowywać);
# e2label [/dev/sdXY] [label]
mkswap - dodamy/zmienimy LABEL partycji swap (trzeba odmontować przed);
#sudo swapoff [/dev/sdXY] && mkswap -L [label] [/dev/sdXY]
mtools - (konkretnie mlabel) dodamy/zmienimy LABEL partycji fat (trzeba skonfigurować mtools przed i odmontować partycję);
W /etc/mtools.conf definiujemy partycje fat:
drive c: file="[/dev/sdXY]" drive d: file="[/dev/sdXY]" (itd)
I teraz:
#umount [/dev/sdXY] && mlabel -n [c]:[label]
Teraz wszystkie label'e powinniśmy widzieć w /dev/disk/by-label/
fstab i grub
Komenda blkid (jako root) powie nam wszystko, co potrzebujemy wiedzieć o partycjach modyfikując /etc/fstab. Wynik blkid wygląda mniej więcej tak:
# blkid /dev/sdXY: LABEL="jakis_label" UUID="2ed8d143-(blablabla)" TYPE="ext3" /dev/sdZA: LABEL="JAKIS_LABEL2" UUID="1f892fa4-(blablabla)" TYPE="vfat" /dev/sdBC: LABEL="jakis_label3" UUID="(blablabla)" TYPE="swap" (itd.)
W /etc/fstab zmieniamy UUID="(blablabla)" każdej partycji na LABEL="(blablabla2)" tejże. To samo robimy w pliku /boot/grub/menu.lst (root=UUID=(blablabla) na root=LABEL=label)
Jeśli wszystko zrobimy jak należy, będziemy mieć czytelną nomenklaturę partycji w systemie. Proste - prawda?
Aha - jeśli ktoś zna jakieś przeciw LABELom na rzecz UUID, lub czemu Ubuntu domyślnie z tego nie korzysta, to proszę pisać - sam jestem ciekaw.




14 MAJ 2008 (Śro), 08:31
po prostu dlatego ze uuid ma mniejsze prawdopodobienstwo kolizji, nawet gdy podepniesz do kompa losowy dysk twardy.
czysta profilaktyka.
nie chcialbys chyba zeby user podpial sobie nowy losowy dysk i okazalo sie ze partycja systemowa ma taka sama etykiete jak jedna z partycji tamtego dysku? :>
oznaczaloby to ze podpiecie przypadkowego hdd powodowalo by zablokowanie ladowania sie systemu, co wygladalo by smiesznie, jezeli nie żałośnie.
15 MAJ 2008 (Czw), 12:02
@yoshi: trzeba by to sprawdzić na Fedorze ;-)) – bo jeśli nie ma jakiegoś systemu zapobiegającego tego typu sytuacjom, to system oparty na Labelach rzeczywiście ma słaby punkt..
15 MAJ 2008 (Czw), 12:03
prawdopodobnie wszystko zalezy od tego jaka bedzie kolejnosc podpiecia dyskow. ale moze sie mylę i za kazdym razem jest przypadkowa
15 MAJ 2008 (Czw), 12:07
ale jeśli np. mam w systemie dysk lokalizowany po Labelu i podepnę drugi z takim samym Labelem, ale lokalizowany już UUIDem czy choćby sciezka /dev/ – to czy wciąż label podpietego dysku wprowadza ryzyko zamieszania?
Bo jeśli nie to chyba łatwo byłoby zrobić (choćby dla automonterów w systemie) coś co sprawdzałoby przed zamontowaniem Label i w przypadku identyczności, montowało dysk gdzie indziej, podług innego kryterium?