Як дізнатися uuid и розділів команди blkid і vol_id

Передмова

У нових дистрибутивах Лінукс стало модним називати розділи не по "іменах", скажімо, / 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'и міцно увійшли в повсякденний побут линуксоида. І немає в них ніякої містики.