Scroll to navigation

LIBBLKID(3) Підручник програміста LIBBLKID(3)

НАЗВА

libblkid - бібліотека ідентифікації блокових пристроїв

КОРОТКИЙ ОПИС

#include <blkid.h>

cc file.c -lblkid

ОПИС

Бібліотеку libblkid використовують для ідентифікації блокових пристроїв (дисків) за їхнім вмістом (наприклад, типом файлової системи), а також видобування додаткових відомостей, зокрема міток або назв томів файлової системи, унікальних ідентифікаторів та серійних номерів. Типовим використанням є уможливлення використання міток LABEL=*і *UUID= замість жорсткого вписування назв певних блокових пристроїв до файлів налаштувань. Див. список доступних міток у розділі МІТКИ

Низькорівнева частина бібліотеки також уможливлює видобування відомостей щодо розділів і топології блокового пристрою.

Високорівнева частина бібліотеки зберігає відомості щодо блокових пристроїв у файлі кешу і перевіряє чинність даних до повернення їх користувачеві (якщо користувач має права доступу до читання простого блокового пристрою, інакше не перевіряє). Файл кешу також уможливлює для непривілейованих користувачів (зазвичай, це користувачі, відмінні від root, або користувачі поза групою «disk») шукати пристрої за міткою або ідентифікатором. Стандартне місце файла кешу можна перевизначити за допомогою змінної середовища BLKID_FILE.

У ситуаціях, де користувач програми отримує відомості щодо окремого відомого пристрою, використання кешу не впливає значно на швидкодію (якщо ви не можете читати з блокового пристрою безпосередньо).

У високорівневій частині бібліотеки передбачено підтримку двох методів визначення LABEL/UUID. Вона читає відомості безпосередньо з блокового пристрою або читає відомості з символічних посилань udev /dev/disk/by-*. Типово, пріоритетним є метод з udev.

Якщо ви маєте справу із декількома пристроями, наполегливо рекомендуємо користуватися кешем (навіть якщо він порожній), оскільки сканування пристроїв буде виконуватися не більше одного разу, а кеш на диску буде оновлюватися, якщо це можливо.

У деяких випадках (модульні ядра), блокові пристрої не є навіть видимими аж до першого доступу, тому критичним є існування певного способу пошуку цих пристроїв без нумерації лише видимих пристроїв, тому використання файла кешу у цьому випадку є обов’язковим.

ФАЙЛ НАЛАШТУВАНЬ

Стандартне розташування файла налаштувань /etc/blkid.conf можна перевизначити змінною середовища BLKID_CONF. Щоб дізнатися більше про файл налаштувань, ознайомтеся зі сторінкою підручника blkid(8).

МІТКИ

Нижче наведено список усіх доступних міток. Підтримку усіх міток передбачено не в усіх файлових системах. Щоб увімкнути мітку, встановіть один із вказаних нижче прапорців у blkid_probe_set_superblocks_flags():

BLKID_SUBLKS_TYPE

•TYPE - тип файлової системиfilesystem type

BLKID_SUBLKS_SECTYPE

•SEC_TYPE — вторинний тип файлової системи

BLKID_SUBLKS_LABEL

•LABEL - мітка файлової системи

BLKID_SUBLKS_LABELRAW

•LABEL_RAW - необроблена мітка з суперблоку файлової системи

BLKID_SUBLKS_UUID

•UUID — UUID файлової системи (малими літерами)

•UUID_SUB - uuid підтому (наприклад btrfs)

•LOGUUID - UUID зовнішнього журналу (наприклад xfs)

BLKID_SUBLKS_UUIDRAW

•UUID_RAW - необроблений UUID з суперблоку файлової системи

BLKID_SUBLKS_USAGE

•USAGE — рядок використання: "raid", "filesystem" тощо.

BLKID_SUBLKS_VERSION

•VERSION — версія файлової системи

BLKID_SUBLKS_MAGIC

•SBMAGIC - рядок контрольної суми суперблоку

•SBMAGIC_OFFSET — відступ SBMAGIC

BLKID_SUBLKS_FSINFO

•FSSIZE - розмір файлової системи. Зауважте, що для XFS буде повернуто те саме значення, що і з використанням lsblk (без метаданих XFS), але для ext4 буде повернуто розмір з метаданими, а для BTRFS не буде враховано додаток налаштувань RAID (надмірні дані).

•FSLASTBLOCK - останній блок файлової системи/загальна кількість блоків файлової системи

•FSBLOCKSIZE - розмір блоку файлової системи

Наведені нижче мітки завжди увімкнено

•BLOCK_SIZE - мінімальний розмір блоку доступного у файловій системі

•MOUNT - назва монтування кластера (лише ocfs)

•EXT_JOURNAL - UUID зовнішнього журналу

•SYSTEM_ID - ідентифікатор системи ISO9660

•VOLUME_SET_ID - ідентифікатор набору томів ISO9660

•DATA_PREPARER_ID - ідентифікатор даних ISO9660

•PUBLISHER_ID - ідентифікатор видавця ISO9660

•APPLICATION_ID - ідентифікатор програми ISO9660

•BOOT_SYSTEM_ID - ідентифікатор системи завантаження ISO9660

АВТОРИ

Бібліотеку libblkid було написано Andreas Dilger для допоміжних інструментів файлової системи ext2 на основі вхідних даних від Ted Ts’o. Потім бібліотеку було значно переписано Ted Ts’o.

Низькорівневий код зондування було переписано Karel Zak.

КОПІЮВАННЯ

Розповсюдження libblkid відбувається за умов дотримання GNU Library General Public License (LGPL) версії 2 (або, якщо хочете, будь-якої пізнішої версії).

ТАКОЖ ПЕРЕГЛЯНЬТЕ

blkid(8), findfs(8)

ЯК НАДІСЛАТИ ЗВІТ ПРО ВАДИ

Для звітування щодо вад скористайтеся системою стеження за вадами <https://github.com/util-linux/util-linux/issues>

ДОСТУП ДО ПРОГРАМИ

Бібліотека libblkid є частиною пакунка util-linux, починаючи з версії 2.15. Її можна отримати з архіву ядра Linux <https://www.kernel.org/pub/linux/utils/util-linux/>.

2025-04-02 util-linux 2.41