LIBBLKID(3) Podrecznik programisty LIBBLKID(3) NAZWA libblkid - biblioteka identyfikacji urzadzen blokowych SKLADNIA #include cc file.c -lblkid OPIS Biblioteka libblkid sluzy do identyfikacji urzadzen blokowych (dyskow) w zakresie zawartosci (np. typu systemu plikow) oraz pozyskiwania dodatkowych informacji, takich jak etykiety systemu plikow/nazwy woluminow, unikalne identyfikatory/numery seryjne. Czestym zastosowaniem jest mozliwosc uzycia znacznikow LABEL= i UUID= zamiast ustawionych na sztywno nazw urzadzen blokowych w plikach konfiguracyjnych. W rozdziale ZNACZNIKI znajduje sie lista wszystkich dostepnych znacznikow. Niskopoziomowa czesc biblioteki pozwala rowniez pozyskiwac informacje o topologii urzadzen blokowych i partycji. Wysokopoziomowa czesc biblioteki buforuje informacje o urzadzeniach blokowych w pliku podrecznym i weryfikuje, czy sa one wciaz prawidlowe, przed zwroceniem ich uzytkownikowi (jesli uzytkownik ma uprawnienia do odczytu surowego urzadzenia blokowego, w innym przypadku tak sie nie dzieje). Plik podreczny pozwala rowniez zlokalizowac urzadzenia na podstawie etykiety/identyfikatora uzytkownikom nieuprzywilejowanym (zwykle innym niz root, lub nieujetych w grupie "disk"). Standardowe polozenie pliku podrecznego mozna przeslonic zmienna srodowiskowa BLKID_FILE. W sytuacjach, gdy uzyskuje sie informacje o pojedynczym, znanym urzadzeniu, na wydajnosc nie ma wplywu to, czy plik podreczny jest uzywany czy nie (chyba, ze nie mozna bezposrednio odczytac urzadzenia blokowego). Wysokopoziomowa czesc biblioteki obsluguje dwie metody sprawdzenia LABEL/UUID. Odczytuje informacje bezposrednio z urzadzenia blokowego lub odczytuje informacje z dowiazan symbolicznych udev w /dev/disk/by-*. Domyslnie preferowana jest metoda udev. Jesli bada sie wiele urzadzen, bardzo zalecane jest korzystanie z pliku podrecznego (nawet jesli jest pusty), poniewaz urzadzenia zostana przeskanowane co najwyzej jednokrotnie i plik podreczny zostanie zaktualizowany, jesli to mozliwe. W niektorych sytuacjach (jadra modularne), urzadzenia blokowane nie sa nawet widoczne do momentu uzyskania dostepu po raz pierwszy, wiec istnienie metody na zlokalizowanie tych urzadzen bez wymieniania jedynie widocznych urzadzen jest krytyczne, zatem uzycie pliku podrecznego w takich sytuacjach jest wymagane. PLIK KONFIGURACYJNY Standardowe polozenie pliku konfiguracyjnego /etc/blkid.conf mozna przeslonic zmienna srodowiskowa BLKID_CONF. Wiecej informacji na temat pliku konfiguracyjnego mozna znalezc w podreczniku blkid(8). ZNACZNIKI Wszystkie dostepne znaczniki wypisano ponizej. Nie wszystkie sa obslugiwane we wszystkich systemach plikow. Aby wlaczyc znacznik, nalezy ustawic jeden z ponizszych znacznikow za pomoca blkid_probe_set_superblocks_flags(): BLKID_SUBLKS_TYPE o TYPE - typ systemu plikow BLKID_SUBLKS_SECTYPE o SEC_TYPE - drugorzedny typ systemu plikow BLKID_SUBLKS_LABEL o LABEL - etykieta systemu plikow BLKID_SUBLKS_LABELRAW o LABEL_RAW - surowa etykieta z superbloku syst. pl. BLKID_SUBLKS_UUID o UUID - UUID systemu plikow (male litery) o UUID_SUB - UUID czlonka puli lub UUID elementu urzadzenia itp. (np. zfs, btrfs, ...) o LOGUUID - UUID zewnetrznego dziennika (np. xfs) BLKID_SUBLKS_UUIDRAW o UUID_RAW - surowy UUID z superbloku syst. pl. BLKID_SUBLKS_USAGE o USAGE - lancuch opisujacy uzycie: "raid", "filesystem", itp. BLKID_SUBLKS_VERSION o VERSION - wersja systemu plikow BLKID_SUBLKS_MAGIC o SBMAGIC - lancuch magiczny superbloku o SBMAGIC_OFFSET - przesuniecie SBMAGIC BLKID_SUBLKS_FSINFO o FSSIZE - rozmiar systemu plikow. Prosze zauwazyc, ze w przypadku XFS zwrocona bedzie ta sama wartosc co przez lsblk (bez metadanych XFS), natomiast w przypadku ext4 zwrocony bedzie rozmiar z metadanymi, a w przypadku BTRFS wartosc nie obejmuje narzutu konfiguracji RAID (danych nadmiarowych). o FSLASTBLOCK - ostatni blok systemu plikow/calkowita ich liczba o FSBLOCKSIZE - rozmiar bloku systemu plikow Ponizsze znaczniki sa zawsze wlaczone o BLOCK_SIZE - najmniejszy rozmiar bloku dostepny z systemu plikow o MOUNT - nazwa montowania klastra (tylko ocfs) o EXT_JOURNAL - UUID zewnetrznego dziennika o SYSTEM_ID - identyfikator systemu w ISO9660 o VOLUME_SET_ID - identyfikator zbioru woluminow w ISO9660 o DATA_PREPARER_ID - identyfikator danych w ISO9660 o PUBLISHER_ID - identyfikator wydawcy w ISO9660 o APPLICATION_ID - identyfikator programu w ISO9660 o BOOT_SYSTEM_ID - identyfikator systemu rozruchowego w ISO9660 AUTORZY libblkid napisal Andreas Dilger w ramach narzedzi systemu plikow ext2, ze wskazowkami Teda Ts'o. Biblioteka zostala nastepnie mocno zmieniona przez Teda Ts'o. Niskopoziomowy kod sprawdzania zostal przepisany przez Karela Zaka. KOPIOWANIE libblkid jest dostepny na warunkach licencji GNU Library General Public License (LGPL), w wersji 2 (lub dowolnie wybranej przez uzytkownika wersji pozniejszej). ZOBACZ TAKZE blkid(8), findfs(8) ZGLASZANIE BLEDOW Problemy nalezy zglaszac w systemie sledzenia bledow . DOSTEPNOSC Biblioteka libblkid jest czescia pakietu util-linux od wersji 2.15. Mozna go pobrac ze strony Archiwum jadra Linux . util-linux 2.42.3 2026-09-02 LIBBLKID(3)