Як дізнатися uuid розділів в linux - як стати програмістом

У нових дистрибутивах Linux замість назв дисків з / dev каталогу часто вказують UUID - Унікальні Ідентифікатори. Виглядають вони абсолютно нечитаності для людини, наприклад: UUID = »5a179614-0415-48c6-a9ad-3f6ad9596619".

Для чого потрібні UUID'и?

Коли виникає необхідність перенести вміст з одного носія на інший, потім встає велика проблема правильно внести зміни в файл / etc / fstab вручну. З UUID'амі ж ядро, за допомогою спеціальних програм, автоматично знаходить і розмічає розділи по відповідним носіям. Це економить багато сил і часу.

Можливо іноді доцільніше «стара школа» - іменування пристроїв в стилі / dev / sda.

При клонуванні розділів командою dd виникають два розділу з однаковими UUID.

команда 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'и присвоюються їм в процесі створення файлової системи (деякі стверджують, що вони обчислюються з характеристик розділу), і записуються десь в суперблоці. У всякому разі, ще не відформатований розділ не має UUID'а. А при клонуванні розділу командою dd, розділ, в який встановлюють клон, змінює свій UUID на ідентифікатор клону.

При завантаженні комп'ютера, програма udev записує UUID розділу в його ноду - файл блочного пристрою в директорії / dev. У доступній користувачеві частини файлової системи, UUID'и розділів можна знайти в файлі /etc/blkid.tab, але інформація ця може виявитися застарілою.