LIBBLKID(3) Programmierhandbuch LIBBLKID(3) BEZEICHNUNG libblkid - Bibliothek zur Identifizierung von blockorientierten Geraten UBERSICHT #include <blkid.h> cc file.c -lblkid BESCHREIBUNG Die Bibliothek libblkid wird zur Identifizierung von blockorientierten Geraten (Platten) im Hinblick auf deren Inhalt (z.B. Dateisystemtyp) und zum Ermitteln zusatzlicher Informationen wie Dateisystem- oder Datentragerbezeichnungen, eindeutiger Kennzeichner oder Seriennummern verwendet. Ein haufiger Anwendungsfall ist, die Verwendung der Markierungen LABEL= und UUID= zu ermoglichen, anstatt spezifische Namen blockorientierter Gerate statisch in Konfigurationsdateien zu kodieren. Im Abschnitt MARKIERUNGEN finden Sie eine Liste aller verfugbaren Markierungen. Der systemnahe Teil der Bibliothek erlaubt ausserdem die Ermittlung von Informationen zu Partitionen und der Topologie blockorientierter Gerate. Der anwendungsnahe Teil der Bibliothek halt Informationen zu blockorientierten Geraten in einer Zwischenspeicherdatei vor und wird verifiziert, um stets gultig zu sein, bevor die Ruckgabe an den Benutzer erfolgt (nur falls der Benutzer lesenden Zugriff auf die blockorientierte Roh-Gerat hat, ansonsten nicht). Die Zwischenspeicherdatei ermoglicht auch unprivilegierten Benutzern (normalerweise allen ausser >>root<< oder jenen, die nicht zur Gruppe >>disk<< gehoren), Gerate nach Bezeichnung oder Kennung zu ermitteln. Der vorgegebene Ort der Zwischenspeicherdatei kann durch die Umgebungsvariable BLKID_FILE ausser Kraft gesetzt werden. In Situationen, in denen es um die Ermittlung von Informationen zu einem einzelnen bekannten Gerat geht, wird die Performance nicht davon beeinflusst, ob die Zwischenspeicherdatei verwendet wird oder nicht (es sei denn, Sie sind nicht in der Lage, das blockorientierte Gerat direkt zu lesen). Der anwendungsnahe Teil der Bibliothek unterstutzt zwei Methoden zur Ermittlung von LABEL bzw. UUID. Er liest Informationen direkt aus einem blockorientierten Gerat oder aus Udev-Symlinks der Form >>/dev/disk/by-*<<. Die Udev-Methode wird standardmassig bevorzugt. Wenn Sie mit mehreren Geraten umgehen, wird die Verwendung des Zwischenspeichers ausdrucklich empfohlen (selbst wenn dieser leer ist), da Gerate hochstens einmalig eingelesen werden und der Zwischenspeicher auf der Platte aktualisiert wird, wenn moglich. In einigen Fallen (modulare Kernel) sind blockorientierte Gerate gar nicht sichtbar, bevor der erste Zugriff darauf erfolgt ist. Daher muss es einen Weg geben, diese Gerate zu ermitteln, ohne nur die sichtbaren Gerate aufzuzahlen. So ist die Verwendung der Zwischenspeicherdatei in dieser Situation zwingend notwendig. KONFIGURATIONSDATEI Der vorgegebene Ort der Konfigurationsdatei /etc/blkid.conf_ kann durch die Umgebungsvariable *BLKID_CONF ausser Kraft gesetzt werden. Weitere Details zur Konfigurationsdatei finden Sie in der Handbuchseite zu blkid(8). MARKIERUNGEN Alle verfugbaren Markierungen sind nachfolgend aufgelistet. Nicht jedes Dateisystem unterstutzt alle Markierungen. Um eine Markierung zu aktivieren, setzen Sie einen der folgenden Schalter mit blkid_probe_set_superblocks_flags(): BLKID_SUBLKS_TYPE o TYP - Dateisystemtyp BLKID_SUBLKS_SECTYPE o SEC_TYPE - sekundarer Dateisystemtyp BLKID_SUBLKS_LABEL o LABEL - Dateisystembezeichnung BLKID_SUBLKS_LABELRAW o LABEL_RAW - Rohbezeichnung aus dem Superblock des Dateisystems BLKID_SUBLKS_UUID o UUID - Dateisystem-UUID (Kleinschreibung) o UUID_SUB - Unterdatentrager-UUID (z.B. btrfs) o LOGUUID - externe Protokoll-UUID (z.B. xfs) BLKID_SUBLKS_UUIDRAW o UUID_RAW - Roh-UUID aus dem Superblock des Dateisystems BLKID_SUBLKS_USAGE o USAGE - Aufrufzeichenkette: >>raid<<, >>filesystem<<, usw. BLKID_SUBLKS_VERSION o VERSION - Dateisystemversion BLKID_SUBLKS_MAGIC o SBMAGIC - Magic-Zeichenkette des Superblocks o SBMAGIC_OFFSET - offset of SBMAGIC BLKID_SUBLKS_FSINFO o FSSIZE - Grosse des Dateisystems. Beachten Sie, dass dies fur XFS den gleichen Wert wie lsblk(8) ausgibt (ohne die XFS-Metadaten), fur Ext4 jedoch die Grosse einschliesslich Metadaten sowie fur Btrfs den Overhead der RAID-Konfiguration nicht mitzahlt (redundante Daten). o FSLASTBLOCK - letzter Dateisystemblock / Gesamtanzahl der Dateisystemblocke o FSBLOCKSIZE - Blockgrosse des Dateisystems Die folgenden Markierungen sind immer aktiviert o BLOCK_SIZE - minimale Blockgrosse, auf die das Dateisystem zugreifen kann o MOUNT - Cluster-Einhangename (nur ocfs) o EXT_JOURNAL - externe Journal-UUID o SYSTEM_ID - ISO9660-Systembezeichner o VOLUME_SET_ID - ISO9660-Datentragersatzbezeichner o DATA_PREPARER_ID - ISO9660-Datenbezeichner o PUBLISHER_ID - ISO9660-Bezeichner des Veroffentlichers o APPLICATION_ID - ISO9660-Anwendungsbezeichner o BOOT_SYSTEM_ID - ISO9660-Bootsystem-Bezeichner AUTOREN libblkid> wurde von Andreas Dilger fur die Dienstprogramme des Ext2-Dateiystems mit Beitragen von Ted Ts'o geschrieben. Die Bibliothek wurde in Folge von Ted Ts'o stark verandert. Der systemnahe Prufcode wurde von Karel Zak neu geschrieben. COPYING libblkid ist unter den Bedingungen der GNU Library General Public License (LGPL) verfugbar, entweder in Version 2, oder (nach Ihrem Ermessen) in jeder neueren Version. SIEHE AUCH blkid(8), findfs(8) FEHLER MELDEN For bug reports, use the issue tracker <https://github.com/util-linux/util-linux/issues>. VERFUGBARKEIT Die Bibliothek libblkid ist seit Version 2.15 Teil des Pakets util-linux, welches aus dem Linux-Kernel-Archiv <https://www.kernel.org/pub/linux/utils/util-linux/> heruntergeladen werden kann. util-linux 2.41 2025-03-29 LIBBLKID(3)