powered by Jogger.pl

TUTORIAL: od UUID do LABEL w Ubuntu

Linux, software Skomentuj

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.

Trackbacki:

brak

Komentarze:

  1. yoshi314 pisze:

    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.

  2. ODDie pisze:

    @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..

  3. yOSHi314 pisze:

    prawdopodobnie wszystko zalezy od tego jaka bedzie kolejnosc podpiecia dyskow. ale moze sie mylę i za kazdym razem jest przypadkowa

  4. ODDie pisze:

    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?

Zostaw komentarz:

Przepisz to: