BLKID(8)

الاسم
blkid - حدد موقع/اطبع سمات الجهاز الكتلي

موجز

blkid --label لصيقة | --uuid uuid

blkid [--no-encoding --garbage-collect --list-one --cache-file ملف] [--output تنسيق] [--match-tag وسم] [--match-token NAME=value] [جهاز...]

blkid --probe [--offset إزاحة] [--output تنسيق] [--size حجم] [--match-tag وسم] [--match-types قائمة] [--usages قائمة] [--no-part-details] جهاز...

blkid --info [--output format] [--match-tag وسم] جهاز...

الوصف

برنامج blkid هو واجهة سطر الأوامر للعمل مع مكتبة libblkid(3). يمكنه تحديد نوع المحتوى (على سبيل المثال، نظام ملفات أو swap) الذي يحمله الجهاز الكتلي، وأيضاً السمات (tokens، أزواج NAME=value) من بيانات المحتوى الوصفية (مثل حقول LABEL أو UUID).

يُوصى باستخدام الأمر lsblk(8) للحصول على معلومات حول الأجهزة الكتلية، أو lsblk --fs للحصول على نظرة عامة على أنظمة الملفات، أو findmnt(8) للبحث في أنظمة الملفات الموصولة بالفعل.

    يوفر lsblk(8) معلومات أكثر، وتحكماً أفضل في تنسيق المخرجات، وسهولة في الاستخدام في البرمجيات النصية ولا يتطلب صلاحيات الجذر (root) للحصول على المعلومات الفعلية. يقرأ blkid المعلومات مباشرة من الأجهزة، وبالنسبة لغير مستخدمي الجذر فإنه يعيد معلومات خبيئة غير محققة. صُمّم blkid في الغالب لخدمات النظام ولاختبار وظائف libblkid(3).

عند تحديد جهاز، تُعرض الرموز (tokens) من هذا الجهاز فقط. من الممكن تحديد وسطاء جهاز متعددة على سطر الأوامر. إذا لم يُعطَ أي منها، تُعرض جميع الأقسام أو الأجهزة غير المقسمة التي تظهر في /proc/partitions، إذا عُرِفت.

يحتوي blkid على شكلين رئيسيين للتشغيل: إما البحث عن جهاز بزوج اسم=قيمة محدد، أو عرض أزواج NAME=value لجهاز واحد أو أكثر من الأجهزة المحددة.

لأسباب أمنية يتجاهل blkid بصمت جميع الأجهزة التي تكون فيها نتيجة الفحص غامضة (اكتُشفت أنظمة ملفات متعددة متصادمة). يوفر وضع الفحص منخفض المستوى (-p) مزيدًا من المعلومات وحالة خروج إضافية في هذه الحالة. يوصى باستخدام wipefs(8) للحصول على نظرة عامة مفصلة ولمسح الأشياء المهجورة (السلاسل السحرية) من الجهاز.

الخيارات

وسائط حجم و إزاحة قد تتبعها لاحقات مضاعفة مثل KiB (=1024)، و MiB (=1024*1024)، وهكذا لـ GiB و TiB و PiB و EiB و ZiB و YiB (الـ "iB" اختيارية، مثلاً "K" لها نفس معنى "KiB")، أو اللاحقات KB (=1000)، و MB (=1000*1000)، وهكذا لـ GB و TB و PB و EB و ZB و YB.

-c، --cache-file ملف_خبيئة
    اقرأ من ملف_خبيئة بدلاً من القراءة من ملف الخبيئة المبدئي (انظر قسم CONFIGURATION FILE لمزيد من التفاصيل). إذا كنت تريد البدء بخبيئة نظيفة (أي لا تبلغ عن الأجهزة التي فُحصت سابقًا ولكنها ليست بالضرورة متاحة في هذا الوقت)، فحدد /dev/null.

-d، --no-encoding
    لا ترمّز المحارف غير القابلة للطباعة. تُرمّز المحارف غير القابلة للطباعة بواسطة تدوين ^ و -M مبدئيًا. لاحظ أن تنسيق المخرج --output udev يستخدم ترميزًا مختلفًا لا يمكن تعطيله.

-D، --no-part-details
    لا تطبع معلومات (أوسمة *PART_ENTRY_) من جدول الأقسام في وضع الاستقصاء منخفض المستوى.

-g، --garbage-collect
    أجرِ تمريرة لجمع المهملات على خبيئة blkid لإزالة الأجهزة التي لم تعد موجودة.

-H، --hint إعداد
    اضبط تلميحة الاستقصاء. التلميحات هي وسيلة اختيارية لإجبار دوال الاستقصاء على التحقق من موقع آخر مثلاً. المتاح حالياً هو "session_offset=رقم" لضبط إزاحة الجلسة في أنظمة UDF متعددة الجلسات.

-i، --info
    اعرض معلومات حول حدود الإدخال/الإخراج (المعروفة ببنية الإدخال/الإخراج). يُفعل تنسيق مخرجات 'export' آلياً. يمكن استخدام هذا الخيار مع خيار --probe.

-k، --list-filesystems
    اسرد جميع أنظمة الملفات و RAIDs المعروفة ثم اخرج.

-l، --list-one
    ابحث عن جهاز واحد فقط يطابق معيار البحث المحدد عبر خيار --match-token. إذا وُجدت أجهزة متعددة تطابق معيار البحث المحدد، فسيُرجع الجهاز ذو الأولوية القصوى، و/أو أول جهاز عُثر عليه عند أولوية معينة (لكن انظر الملاحظة أدناه حول udev). أنواع الأجهزة مرتبة تنازلياً حسب الأولوية هي: Device Mapper، و EVMS، و LVM، و MD، وأخيراً الأجهزة الكتلية العادية. إذا لم يُحدد هذا الخيار، فسيطبع blkid جميع الأجهزة التي تطابق معيار البحث.

    يجبر هذا الخيار أداة blkid على استخدام udev عند استخدامه لرموز LABEL أو UUID في --match-token. الهدف هو تقديم مخرجات متسقة مع الأدوات الأخرى (مثل mount(8)، إلخ) في الأنظمة التي يُستخدم فيها نفس الوسم لأجهزة متعددة.

-L، --label لصيقة
    ابحث عن الجهاز الذي يستخدم لصيقة نظام الملفات هذه؛ وهذا يعادل --list-one --output device --match-token LABEL=لصيقة. تستطيع طريقة البحث هذه استخدام الروابط الرمزية لـ udev في /dev/disk/by-label بموثوقية (اعتماداً على إعداد في /etc/blkid.conf). تجنب استخدام الروابط الرمزية مباشرة؛ فليس من الموثوق استخدامها دون تحقق. يعمل خيار --label على الأنظمة التي تحتوي udev أو تفتقر إليه.

    لسوء الحظ، تستخدم أداة blkid(8) الأصلية من e2fsprogs الخيار -L كمرادف لـ -o list. لضمان توافقية أفضل، استخدم -l -o device -t LABEL=لصيقة و -o list في برمجياتك بدلاً من الخيار -L.

-n، --match-types قائمة
    قيد دوال الاستقصاء على قائمة محددة (مفصولة بفاصلة) من أنواع الكتل الفائقة (الأسماء). قد تُسبق عناصر القائمة بكلمة "no" لتحديد الأنواع التي يجب تجاهلها. على سبيل المثال:

    blkid --probe --match-types vfat,ext3,ext4 /dev/sda1

    يستقصي عن أنظمة ملفات vfat و ext3 و ext4، و

    blkid --probe --match-types nominix /dev/sda1

    يستقصي عن جميع التنسيقات المتاحة باستثناء أنظمة ملفات minix. لا يفيد هذا الخيار إلا مع --probe.

-o، --output تنسيق
    استخدم تنسيق المخرجات المحدد. لاحظ أن ترتيب المتغيرات والأجهزة ليس ثابتاً. انظر أيضاً الخيار -s. قد يكون معامل التنسيق تنسيق:

    full
        اطبع جميع الأوسمة (المبدئي)

    value
        اطبع قيمة الأوسمة

    list
        اطبع الأجهزة بتنسيق سهل القراءة؛ تنسيق المخرجات هذا غير متاح للاستقصاء منخفض المستوى (--probe أو --info).

        تنسيق المخرجات هذا مهجور لصالح أمر lsblk(8).

    device
        اطبع اسم الجهاز فقط؛ يُفعل تنسيق المخرجات هذا دائماً لخياري --label و --uuid

    udev
        اطبع أزواج مفتاح="قيمة" لسهولة استيرادها إلى بيئة udev؛ تُسبق المفاتيح ببادئات ID_FS_ أو ID_PART_. قد تُعدل القيمة لتكون آمنة لبيئة udev؛ المسموح به هو ASCII الصرف، وترميز الست عشرية (hex-escaping) و UTF-8 الصالح، وأي شيء آخر (بما في ذلك المسافات البيضاء) يُستبدل بـ '_'. المفاتيح التي تنتهي بلاحقة ENC تستخدم ترميز الست عشرية للمحارف غير الآمنة.

        تُرجع مخرجات udev الوسم ID_FS_AMBIVALENT إذا كُشفت كتل فائقة إضافية، وتُرجع أوسمة *ID_PART_ENTRY_ دائماً لجميع الأقسام بما في ذلك الأقسام الفارغة.

        تنسيق المخرجات هذا مهجور.

    export
        اطبع أزواج مفتاح=قيمة لسهولة استيرادها إلى البيئة؛ يُفعل تنسيق المخرجات هذا آلياً عند طلب حدود الإدخال/الإخراج (خيار --info).

        تُرمّز المحارف غير القابلة للطباعة عبر تدوين ^ و -M وتُحيد جميع المحارف التي قد تكون غير آمنة.

    json
        اطبع مدخلات الأوسمة في كائنات JSON.

-O، --offset إزاحة
    استقصِ عند الإزاحة إزاحة المعطاة (مفيد فقط مع --probe). يمكن استخدام هذا الخيار مع خيار --info.

-p، --probe
    انتقل إلى وضع استقصاء الكتلة الفائقة منخفض المستوى (تخطي الخبيئة).

    لاحظ أن الاستقصاء منخفض المستوى يُرجع أيضاً معلومات حول نوع جدول الأقسام (وسم PTTYPE) والأقسام (أوسمة PART_ENTRY_). أسماء الأوسمة الناتجة عن الاستقصاء منخفض المستوى تعتمد على الأسماء المستخدمة داخلياً بواسطة libblkid وقد تختلف عما تظهر عليه عند التنفيذ دون *--probe (على سبيل المثال =PART_ENTRY_UUID مقابل =PARTUUID). انظر أيضاً --no-part-details.

-s، --match-tag وسم
    لكل جهاز (محدد)، أظهر الأوسمة التي تطابق وسم فقط. يمكن تحديد خيارات --match-tag متعددة. إذا لم يُحدد أي وسم، فستُعرض كافة الرموز (tokens) لجميع الأجهزة (المحددة). لتحديث الخبيئة فقط دون عرض أي رموز، استخدم --match-tag none دون أي خيارات أخرى.

-S، --size حجم
    تجاوز حجم الجهاز/الملف (مفيد فقط مع --probe).

-t، --match-token اسم=قيمة
    ابحث عن الأجهزة الكتلية التي تحتوي على رموز باسم اسم وقيمتها القيمة، واعرض أي أجهزة عُثر عليها. تتضمن القيم الشائعة لاسم الرمز TYPE و LABEL و UUID. إذا لم تُحدد أجهزة في سطر الأوامر، فستُبحث كافة الأجهزة الكتلية؛ وإلا فستُبحث الأجهزة المحددة فقط.

-u، --usages قائمة
    قيد دوال الاستقصاء على قائمة محددة (مفصولة بفاصلة) من أنواع "الاستخدام". أنواع الاستخدام المتاحة هي: filesystem و raid و crypto و other. قد تُسبق عناصر القائمة بكلمة "no" لتحديد أنواع الاستخدام التي يجب تجاهلها. على سبيل المثال:

    blkid --probe --usages filesystem,other /dev/sda1

    يسبر كافة تنسيقات نظام ملفات والتنسيقات الأخرى (مثل swap)، و

    blkid --probe --usages noraid /dev/sda1

    يسبر كافة التنسيقات المتاحة عدا RAIDs. هذا الخيار مفيد فقط مع --probe.

-U، --uuid uuid
    ابحث عن الجهاز الذي يستخدم uuid الخاص بنظام ملفات هذا. لمزيد من التفاصيل راجع خيار --label.

-h، --help
    اعرض نص المساعدة ثم اخرج.

-V، --version
    اعرض الإصدار واخرج.

حالة الخروج

إذا عُثر على الجهاز المحدد أو الجهاز المعنون بالرمز المحدد (الخيار --match-token) وأمكن جمع أي معلومات عن الجهاز، فستُعاد حالة خروج 0. لاحظ أن الخيار --match-tag يرشح أوسمة المخرجات، لكنه لا يؤثر على حالة الخروج.

إذا لم يُعثر على الرمز المحدد، أو تعذر التعرف على أي أجهزة (محددة)، أو استحال جمع أي معلومات عن معرفات الجهاز أو محتواه، فستُعاد حالة خروج 2.

لأخطاء الاستخدام أو الأخطاء الأخرى، تُعاد حالة خروج 4.

إذا كُشف عن نتيجة سبر متضاربة بواسطة وضع السبر منخفض المستوى (-p)، فتُعاد حالة خروج 8.

ملف الضبط

يمكن تجاوز الموقع المبدئي لملف الإعداد /etc/blkid.conf بواسطة متغير البيئة BLKID_CONF. الخيارات التالية تتحكم في مكتبة libblkid:

SEND_UEVENT=<yes|not>
    يرسل uevent عندما لا يتطابق الوصل الرمزي /dev/disk/by-{label,uuid,partuuid,partlabel}/ مع LABEL أو UUID أو PARTUUID أو PARTLABEL على الجهاز. القيمة المبدئية هي "yes".

CACHE_FILE=<المسار>
    يتجاوز الموقع القياسي لملف الخبيئة. يمكن تجاوز هذا الإعداد بواسطة متغير البيئة BLKID_FILE. الموقع المبدئي هو /run/blkid/blkid.tab، أو /etc/blkid.tab في الأنظمة التي لا تحتوي على دليل /run.

EVALUATE=<الطرق>
    يحدد طرق تقييم LABEL و UUID. تدعم مكتبة libblkid حالياً طريقتي "udev" و "scan". يمكن تحديد أكثر من طريقة في قائمة مفصولة بفاصلة. القيمة المبدئية هي "udev,scan". تستخدم طريقة "udev" وصلات udev الرمزية /dev/disk/by-* بينما تمسح طريقة "scan" كافة الأجهزة الكتلية من ملف /proc/partitions.

البيئة

ضبط LIBBLKID_DEBUG=all يفعل مخرجات التنقيح.

المؤلفين

كُتب blkid بواسطة Andreas Dilger لمكتبة libblkid وحسنه Theodore Ts’o و Karel Zak.

انظر أيضاً

libblkid(3)، findfs(8)، lsblk(8)، wipefs(8)

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

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

التوفر

الأمر blkid جزء من حزمة util-linux التي يمكن تنزيلها من