Scroll to navigation

LIBBLKID(3) Programmierhandbuch LIBBLKID(3)

BEZEICHNUNG

libblkid - Bibliothek zur Identifizierung von blockorientierten Geräten

ÜBERSICHT

#include <blkid.h>

cc file.c -lblkid

BESCHREIBUNG

Die Bibliothek libblkid wird zur Identifizierung von blockorientierten Geräten (Platten) im Hinblick auf deren Inhalt (z.B. Dateisystemtyp) und zum Ermitteln zusätzlicher Informationen wie Dateisystem- oder Datenträgerbezeichnungen, eindeutiger Kennzeichner oder Seriennummern verwendet. Ein häufiger Anwendungsfall ist, die Verwendung der Markierungen LABEL= und UUID= zu ermöglichen, anstatt spezifische Namen blockorientierter Geräte statisch in Konfigurationsdateien zu kodieren. Im Abschnitt MARKIERUNGEN finden Sie eine Liste aller verfügbaren Markierungen.

Der systemnahe Teil der Bibliothek erlaubt außerdem die Ermittlung von Informationen zu Partitionen und der Topologie blockorientierter Geräte.

Der anwendungsnahe Teil der Bibliothek hält Informationen zu blockorientierten Geräten in einer Zwischenspeicherdatei vor und wird verifiziert, um stets gültig zu sein, bevor die Rückgabe an den Benutzer erfolgt (nur falls der Benutzer lesenden Zugriff auf die blockorientierte Roh-Gerät hat, ansonsten nicht). Die Zwischenspeicherdatei ermöglicht auch unprivilegierten Benutzern (normalerweise allen außer »root« oder jenen, die nicht zur Gruppe »disk« gehören), Geräte nach Bezeichnung oder Kennung zu ermitteln. Der vorgegebene Ort der Zwischenspeicherdatei kann durch die Umgebungsvariable BLKID_FILE außer Kraft gesetzt werden.

In Situationen, in denen es um die Ermittlung von Informationen zu einem einzelnen bekannten Gerät 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 Gerät direkt zu lesen).

Der anwendungsnahe Teil der Bibliothek unterstützt zwei Methoden zur Ermittlung von LABEL bzw. UUID. Er liest Informationen direkt aus einem blockorientierten Gerät oder aus Udev-Symlinks der Form »/dev/disk/by-*«. Die Udev-Methode wird standardmäßig bevorzugt.

Wenn Sie mit mehreren Geräten umgehen, wird die Verwendung des Zwischenspeichers ausdrücklich empfohlen (selbst wenn dieser leer ist), da Geräte höchstens einmalig eingelesen werden und der Zwischenspeicher auf der Platte aktualisiert wird, wenn möglich.

In einigen Fällen (modulare Kernel) sind blockorientierte Geräte gar nicht sichtbar, bevor der erste Zugriff darauf erfolgt ist. Daher muss es einen Weg geben, diese Geräte zu ermitteln, ohne nur die sichtbaren Geräte aufzuzählen. 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 außer Kraft gesetzt werden. Weitere Details zur Konfigurationsdatei finden Sie in der Handbuchseite zu blkid(8).

MARKIERUNGEN

Alle verfügbaren Markierungen sind nachfolgend aufgelistet. Nicht jedes Dateisystem unterstützt alle Markierungen. Um eine Markierung zu aktivieren, setzen Sie einen der folgenden Schalter mit blkid_probe_set_superblocks_flags():

BLKID_SUBLKS_TYPE

•TYP - Dateisystemtyp

BLKID_SUBLKS_SECTYPE

•SEC_TYPE - sekundärer Dateisystemtyp

BLKID_SUBLKS_LABEL

•LABEL - Dateisystembezeichnung

BLKID_SUBLKS_LABELRAW

•LABEL_RAW - Rohbezeichnung aus dem Superblock des Dateisystems

BLKID_SUBLKS_UUID

•UUID - Dateisystem-UUID (Kleinschreibung)

•UUID_SUB - Unterdatenträger-UUID (z.B. btrfs)

•LOGUUID - externe Protokoll-UUID (z.B. xfs)

BLKID_SUBLKS_UUIDRAW

•UUID_RAW - Roh-UUID aus dem Superblock des Dateisystems

BLKID_SUBLKS_USAGE

•USAGE - Aufrufzeichenkette: »raid«, »filesystem«, usw.

BLKID_SUBLKS_VERSION

•VERSION - Dateisystemversion

BLKID_SUBLKS_MAGIC

•SBMAGIC - Magic-Zeichenkette des Superblocks

•SBMAGIC_OFFSET - offset of SBMAGIC

BLKID_SUBLKS_FSINFO

•FSSIZE - Größe des Dateisystems. Beachten Sie, dass dies für XFS den gleichen Wert wie lsblk(8) ausgibt (ohne die XFS-Metadaten), für Ext4 jedoch die Größe einschließlich Metadaten sowie für Btrfs den Overhead der RAID-Konfiguration nicht mitzählt (redundante Daten).

•FSLASTBLOCK - letzter Dateisystemblock / Gesamtanzahl der Dateisystemblöcke

•FSBLOCKSIZE - Blockgröße des Dateisystems

Die folgenden Markierungen sind immer aktiviert

•BLOCK_SIZE - minimale Blockgröße, auf die das Dateisystem zugreifen kann

•MOUNT - Cluster-Einhängename (nur ocfs)

•EXT_JOURNAL - externe Journal-UUID

•SYSTEM_ID - ISO9660-Systembezeichner

•VOLUME_SET_ID - ISO9660-Datenträgersatzbezeichner

•DATA_PREPARER_ID - ISO9660-Datenbezeichner

•PUBLISHER_ID - ISO9660-Bezeichner des Veröffentlichers

•APPLICATION_ID - ISO9660-Anwendungsbezeichner

•BOOT_SYSTEM_ID - ISO9660-Bootsystem-Bezeichner

AUTOREN

libblkid> wurde von Andreas Dilger für die Dienstprogramme des Ext2-Dateiystems mit Beiträgen von Ted Ts’o geschrieben. Die Bibliothek wurde in Folge von Ted Ts’o stark verändert.

Der systemnahe Prüfcode wurde von Karel Zak neu geschrieben.

COPYING

libblkid ist unter den Bedingungen der GNU Library General Public License (LGPL) verfügbar, entweder in Version 2, oder (nach Ihrem Ermessen) in jeder neueren Version.

SIEHE AUCH

blkid(8), findfs(8)

FEHLER MELDEN

Nutzen Sie zum Melden von Fehlern das Fehlererfassungssystem auf <https://github.com/util-linux/util-linux/issues>.

VERFÜGBARKEIT

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.

2024-10-01 util-linux 2.40.2