Як дізнатися 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, але інформація ця може виявитися застарілою.