Передмова
У нових дистрибутивах Лінукс стало модним називати розділи не по "іменах", скажімо, / dev / hda2, а використовуючи UUID'и - Унікальні Ідентифікатори. Виглядають вони як абсолютно нечитабельним для людини багатозначні номера, та ще й шістнадцятиричні, наприклад: UUID = "5a179614-0415-48c6-a9ad-3f6ad9596619".
Зручність розуміння і заповнення таких конфігураційних файлів як, скажімо, / etc / fstab "значно підвищився". Стало неможливим зрозуміти про якому розділі йдеться. Добре якщо у вас всього п'ять-шість розділів, ще можна пам'ятати, на якому своп, а на якому корінь. А якщо розділів в три рази більше? Так якщо ще й постійно видаляєш одні, і створюєш інші? Мода вимагає жертв.
Кому ж потрібні UUID'и і для кого вони дійсно зручні? Сисадмінам великих серверів, у яких одночасно присутні носії різних типів, та ще й об'єднані у всякі RAID'и та інші сіадмінскіе заморочки. Для них, коли виникає необхідність перенести вміст з одного носія на інший, потім встає велика проблема правильно внести зміни в ту ж / etc / fstab вручну. З UUID'амі ж ядро, за допомогою спеціальних програм, автоматично знаходить і розмічає розділи по відповідним носіям. Це їм економить багато сил і часу.
Простим же смертним, які мають два комп'ютери з трьома вінчестерами на обох, ці UUID'и потрібні як зайцю стоп-сигнал. Я особисто в першу чергу безжально видаляю всі ці номери з файлів / etc / fstab і /boot/grub/menu.lst. Це дозволяє мені уникнути головного болю при клонуванні розділів, коли виникають два розділу з однаковими "Унікальними номерами".
команда blkid
Команда blkid без опцій
Команда blkid без опцій, запущена з правами суперпользоателя, виведе на екран дисплея інформацію, що міститься у файлі /etc/blkid.tab:
Я попереджував. Тут, звичайно, можна розібратися при бажанні, але незрозуміло, звідки може взятися таке бажання, коли можна вчинити простіше. А саме запустити команду blkid з опцією -c.
Команда blkid з опцією -c
Зовсім інша справа, чи не так?
Тому раджу зберегти старі файли blkid.tab і blkid.tab.old під іншими іменами, тоді при наступному завантаженні буде створено новенький чистенький файлик blkid.tab, де все буде як у висновку команди blkid -c / dev / null. Варто після цього перевірити / etc / fstab і /boot/grub/menu.lst.
Решта опцій команди вкрай невиразні і не приносять користі. Чим працювати запам'ятовувати їх, простіше запустити команду зовсім без опцій або з опцією -c / dev / null. Проте:
опція
Видає відомості про зазначений пристрої.
Чи знайде всі пристрої, що відповідають заданому критерію, будь то TYPE, LABEL, або UUID. Можна звужувати коло пошуку, вводячи в командний рядок імена цікавлять пристроїв:
Видасть тільки зазначений критерій потрібного пристрою.
Дозволяє вибирати формат виведення з трьох можливих: value (значення критерію), device (пристрій), або full (повний). наприклад:
У мане сказано, що прибирає сміття в якомусь кеші blkid. Якщо мається на увазі файл /etc/blkid.tab, то не працює.
Записує дані в зазначений вами файл, замість файлу /etc/blkid.tab.
Виводить версію програми.
Ось все, що стосується команди blkid. Однак існують і інші можливості дізнатися UUID розділу.
Найбільш очевидна - заглянути в директорію / dev:
Там чотири субдіректоріі, одна з яких by-uuid. подивимося:
Ось піди, здогадайся, що до чого відноситься! Ні, це не метод.
команда vol_id
Існує ще команда vol_id. Вона настільки проста, і ман до неї так зрозуміло написаний, що розібратися з нею не складе труднощів. наприклад:
Гарна і зручна команда, шкода, що не у всіх дистрибутивах зустрічається.
висновок
На солодке я приберіг найцікавіше: хто ж привласнює пристроїв UUID'и? Де записані ці самі ідентифікатори?
Якщо говорити про розділи жорсткого диска, то UUID'и присвоюються їм в процесі створення файлової системи (деякі стверджують, що вони обчислюються з характеристик розділу), і записуються десь в суперблоці. У всякому разі, ще не відформатований розділ не має UUID'а. А при клонуванні розділу командою dd, розділ, в який встановлюють клон, змінює свій UUID на ідентифікатор клону.
При завантаженні комп'ютера, програма udev записує UUID розділу в його ноду - файл блочного пристрою в директорії / dev. У доступній користувачеві частини файлової системи, UUID'и розділів можна знайти в файлі /etc/blkid.tab, але інформація ця може виявитися застарілою.
Подобається мені це чи ні, але UUID'и міцно увійшли в повсякденний побут линуксоида. І немає в них ніякої містики.