LIBBLKID(3)

الاسم
libblkid - مكتبة تعريف الجهاز الكتلي

موجز

#include <blkid.h>

cc file.c -lblkid

الوصف

تُستخدم مكتبة libblkid لتعريف الأجهزة الكتلية (الأقراص) من حيث محتواها (مثل نوع نظام الملفات) بالإضافة إلى استخراج معلومات إضافية مثل لصائق نظام الملفات/أسماء المجلدات، والمعرفات الفريدة/الأرقام التسلسلية. من الاستخدامات الشائعة السماح باستخدام وسوم LABEL= و UUID= بدلًا من كتابة أسماء أجهزة كتلية محددة في ملفات الضبط. انظر قائمة بجميع الوسوم المتاحة في قسم TAGS.

يتيح الجزء منخفض المستوى من المكتبة أيضًا استخراج معلومات حول الأقسام وهيكلية الجهاز الكتلي.

يحتفظ الجزء عالي المستوى من المكتبة بمعلومات حول الأجهزة الكتلية في ملف خبيئة ويُتحقق من صحتها قبل إعادتها إلى المستخدم (إذا كان للمستخدم صلاحية القراءة على الجهاز الكتلي الخام، وإلا فلا). يتيح ملف الخبيئة أيضًا للمستخدمين غير المتميزين (عادةً أي شخص بخلاف الجذر (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 - نوع نظام الملفات

BLKID_SUBLKS_SECTYPE

        • SEC_TYPE - نوع نظام الملفات الثانوي

BLKID_SUBLKS_LABEL

        • LABEL - لصيقة نظام الملفات

BLKID_SUBLKS_LABELRAW

        • LABEL_RAW - اللصيقة الخام من الكتلة الفائقة لنظام الملفات

BLKID_SUBLKS_UUID

        • UUID - المعرف الفريد عالمياً (UUID) لنظام الملفات (بأحرف صغيرة)

        • UUID_SUB - المعرف الفريد عالمياً (UUID) لعضو التجميعة أو المعرف الفريد عالمياً (UUID) لعنصر الجهاز، إلخ. (مثل zfs، 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

المؤلفين

كَتَبَ Andreas Dilger مكتبة libblkid لأدوات نظام ملفات ext2، بمساهمات من Ted Ts’o. عُدّلت المكتبة لاحقاً بشكل مكثف بواسطة Ted Ts’o.

أُعيدت كتابة كود السبر منخفض المستوى بواسطة Karel Zak.

النسخ

تتوفر libblkid بموجب شروط رخصة جنو العمومية الصغرى (LGPL)، الإصدار 2 (أو أي إصدار لاحق حسب تقديرك).

انظر أيضاً

blkid(8)، findfs(8)

التبليغ عن الأخطاء

لتقارير العِلل، استخدم

التوفر

المكتبة libblkid جزء من حزمة util-linux منذ الإصدار 2.15. يمكن تنزيلها من