UDEVADM(8)

الاسم
udevadm - أداة إدارة udev

موجز

udevadm [--debug] [--version] [--help]

udevadm info [options...] [devpath|syspath|id|unit...]

udevadm trigger [options...] [devpath|syspath|id|unit...]

udevadm settle [options...]

udevadm control options...

udevadm monitor [options...]

udevadm test [options...] devpath|syspath|id|unit

udevadm test-builtin [options...] command devpath|syspath|id|unit

udevadm verify [options...] [files...]

udevadm cat [options...] [files...]

udevadm wait [options...] devpath|syspath...

udevadm lock [options...] command...

الوصف

udevadm يتوقع أمرًا وخيارات خاصة بالأمر. يتحكم في سلوك وقت التشغيل لـ systemd-udevd، ويطلب أحداث النواة، ويدير قائمة انتظار الأحداث، ويوفر آليات تصحيح أخطاء بسيطة.

الخيارات

-d، --debug
    اطبع رسائل التصحيح إلى الخطأ المعياري. هذا الخيار ضمني في أوامر udevadm test و udevadm test-builtin.

-V، --version
    اطبع سلسلة إصدار قصيرة واخرج.

-h، --help
    اطبع نص مساعدة قصير واخرج.

  udevadm info [options...] [devpath|syspath|id|unit...]

استعلم قاعدة بيانات udev عن معلومات الجهاز.

يجب استخدام الوسائط الموضعية لتحديد جهاز واحد أو أكثر. قد يكون كل منها اسم جهاز (في هذه الحالة يجب أن يبدأ بـ /dev/)، أو مسار sys (في هذه الحالة يجب أن يبدأ بـ /sys/)، أو معرف جهاز (مثل "n1" أو "c5:1" أو "b259:1"، انظر sd_device_get_device_id(3)). أو اسم وحدة جهاز systemd (في هذه الحالة يجب أن ينتهي بـ ".device"، انظر systemd.device(5)).

-q, --query=TYPE
    استعلم قاعدة البيانات عن النوع المحدد من بيانات الجهاز. الأنواع TYPE الصالحة هي: name، symlink، path، property، all.

--property=NAME
    عند عرض خصائص الجهاز باستخدام الخيار --query=property، حدد العرض للخصائص المحددة في الوسيطة. يجب أن تكون الوسيطة قائمة بأسماء الخصائص مفصولة بفواصل. إذا لم تُحدد، تُعرض جميع الخصائص المعروفة.

    أُضيف في الإصدار 250.

--value
    عند عرض خصائص الجهاز باستخدام الخيار --query=property، اطبع قيمها فقط، وتجاوز اسم الخاصية و"=".

    لا يمكن استخدامه مع -x/--export أو -P/--export-prefix.

    أُضيف في الإصدار 250.

-p, --path=DEVPATH
    مسار /sys/ للجهاز المراد الاستعلام عنه، مثلاً [/sys/]/class/block/sda. هذا الخيار بديل للوسيط الموضعي ببادئة /sys/. udevadm info --path=/class/block/sda يعادل udevadm info /sys/class/block/sda.

-n, --name=FILE
    اسم عقدة الجهاز أو رابط رمزي للاستعلام عنه، مثلاً [/dev/]/sda. هذا الخيار بديل للوسيط الموضعي ببادئة /dev/. udevadm info --name=sda يعادل udevadm info /dev/sda.

-r, --root
    اطبع المسارات المطلقة في استعلام name أو symlink.

-a, --attribute-walk
    اطبع جميع خصائص sysfs للجهاز المحدد التي يمكن استخدامها في قواعد udev لمطابقة الجهاز المحدد. يطبع جميع الأجهزة على طول السلسلة، وصولاً إلى جذر sysfs التي يمكن استخدامها في قواعد udev.

    يدعم هذا المفتاح وضع إخراج JSON (انظر --json= أدناه). لاحظ أنه نظراً لأن هذا المفتاح يُنشئ كائنات JSON متعددة، فإن وضع JSON-SEQ يُفعّل آلياً (RFC7464). (ملاحظة: أدوات مثل jq[1] تدعم JSON-SEQ أصلاً عبر المفتاح --seq.)

-t، --tree
    اعرض شجرة sysfs. يتكرر هذا عبر التسلسل الهرمي لـ sysfs ويعرضه في بنية شجرية. إذا حُدد مسار، فسيتم عرض الشجرة الفرعية أدناه وأدلتها الأصلية فقط. سيظهر هذا عناصر الجهاز والنظام الفرعي معاً.

    أُضيف في الإصدار 251.

-x، --export
    اطبع الإخراج كأزواج مفتاح/قيمة. تُحاط القيم بعلامات اقتباس مفردة. يسري هذا فقط عند تحديد --query=property أو --device-id-of-file=FILE.

-P, --export-prefix=NAME
    أضف بادئة لاسم مفتاح القيم المُصدّرة. يستلزم هذا --export.

-d, --device-id-of-file=FILE
    اطبع الأرقام الرئيسة/الفرعية للجهاز الأساسي الذي يوجد عليه الملف. إذا حُديد هذا، فسيتم تجاهل جميع الوسائط الموضعية.

-e, --export-db
    صدّر محتوى قاعدة بيانات udev.

-c, --cleanup-db
    نظّف قاعدة بيانات udev.

-w[SECONDS], --wait-for-initialization[=SECONDS]
    انتظر حتى يُهيئ الجهاز. إذا لم يُحدد الوسيط SECONDS، فالمبدئي هو الانتظار إلى الأبد.

    أُضيف في الإصدار 243.

--subsystem-match[=SUBSYSTEM], --subsystem-nomatch[=SUBSYSTEM]
    عند استخدامه مع --export-db، اعرض فقط أجهزة النظام الفرعي المعطى أو غير التابعة له على التوالي.

    أُضيف في الإصدار 255.

--attr-match[=FILE[=VALUE]], --attr-nomatch[=FILE[=VALUE]]
    عند استخدامه مع --export-db، يُظهر فقط الأجهزة المطابقة أو غير المطابقة للسمة المعطاة على التوالي.

    أُضيف في الإصدار 255.

--property-match[=المفتاح=القيمة]
    عند استخدامه مع --export-db، يُظهر فقط الأجهزة المطابقة للخاصية والقيمة المعطاة.

    أُضيف في الإصدار 255.

--tag-match[=الوسم]
    عند استخدامه مع --export-db، يُظهر فقط الأجهزة ذات الوسم المعطى.

    أُضيف في الإصدار 255.

--sysname-match[=الاسم]
    عند استخدامه مع --export-db، يُظهر فقط الأجهزة ذات المسار "/sys" المعطى.

    أُضيف في الإصدار 255.

--name-match[=الاسم]
    عند استخدامه مع --export-db، يُظهر فقط الأجهزة ذات الاسم المعطى في "/dev".

    أُضيف في الإصدار 255.

--parent-match[=الاسم]
    عند استخدامه مع --export-db، يُظهر فقط الأجهزة ذات الجهاز الأصل المعطى.

    أُضيف في الإصدار 255.

--initialized-match، --initialized-nomatch
    عند استخدامه مع --export-db، يُظهر فقط الأجهزة المُهيّأة أو غير المُهيّأة على التوالي.

    أُضيف في الإصدار 255.

--json=وضع
    يظهر المخرجات منسقة بصيغة JSON. يتوقع أحد الخيارات: "short" (لأقصر مخرج ممكن دون أي مسافات زائدة أو فواصل أسطر)، أو "pretty" (لنسخة جميلة من المخرج نفسه، مع إزاحة وفواصل أسطر) أو "off" (لإيقاف مخرجات JSON، وهو الخيار المبدئي).

--no-pager
    لا تمرر المخرجات إلى برنامج عرض (pager).

يُظهر المخرجات المُنشأة إدخال قاعدة بيانات الجهاز الحالي بتنسيق موجز. كل سطر يُعرض مُسبوق بأحد الأحرف التالية:

جدول 1. بادئات مخرجات udevadm info
البادئة | المعنى
"P:" | مسار الجهاز في /sys/
"M:" | اسم الجهاز في /sys/ (أي المكوّن الأخير من "P:")
"R:" | رقم الجهاز في /sys/ (أي اللاحقة الرقمية للمكوّن الأخير من "P:")
"J:" | معرّف الجهاز
"U:" | النظام الفرعي للنواة
"B:" | النظام الفرعي للمشغّل
"T:" | نوع جهاز النواة داخل النظام الفرعي
"D:" | رقم رئيس/فرعي لعقدة جهاز النواة
"I:" | فهرس واجهة الشبكة
"N:" | اسم عقدة جهاز النواة
"L:" | أولوية الرابط الرمزي لعقدة الجهاز
"S:" | الرابط الرمزي لعقدة الجهاز
"Q:" | رقم تسلسل جهاز الكتلة (DISKSEQ)
"V:" | برنامج التشغيل المرفق
"E:" | خاصية الجهاز

  udevadm trigger [options...] [devpath|syspath|id|unit...]

طلب أحداث جهاز من النواة. يُستخدم بشكل أساسي لإعادة تشغيل الأحداث عند وقت التوصيل البارد للنظام.

يقبل مواصفات الجهاز كوسائط موضعية. انظر وصف udevadm info أعلاه.

-v، --verbose
    طباعة قائمة الأجهزة التي ستُشغل.

-n، --dry-run
    لا تقم بتشغيل الحدث فعليًا.

-q، --quiet
    قم بكتم تسجيل الأخطاء في أحداث التشغيل.

    أُضيف في الإصدار 248.

-t, --type=TYPE
    تشغيل نوع محدد من الأجهزة. الأنواع الصالحة هي "all" و"devices" و"subsystems". القيمة المبدئية هي "devices".

-c, --action=ACTION
    نوع الحدث الذي سيُشغل. الإجراءات الممكنة هي "add" و"remove" و"change" و"move" و"online" و"offline" و"bind" و"unbind". أيضًا، يمكن استخدام القيمة الخاصة "help" لسرد الإجراءات الممكنة. القيمة المبدئية هي "change".

--prioritized-subsystem=النظام الفرعي[،النظام الفرعي...]
    يأخذ قائمة مفصولة بفواصل من الأنظمة الفرعية. عند تشغيل أحداث للأجهزة، تُشغل الأجهزة من الأنظمة الفرعية المحددة وأجهزتها الأم أولاً. على سبيل المثال، إذا كان --prioritized-subsystem=block,net، فستُشغل جميع أجهزة الكتلة وأجهزتها الأم أولاً، ثم جميع أجهزة الشبكة وأجهزتها الأم، وأخيراً الأجهزة الأخرى. يمكن تحديد هذا الخيار عدة مرات، وفي هذه الحالة سيُدمج قوائم الأنظمة الفرعية. أي أن --prioritized-subsystem=block --prioritized-subsystem=net يعادل --prioritized-subsystem=block,net.

    أُضيف في الإصدار 251.

-s, --subsystem-match=النظام الفرعي
    تشغيل أحداث للأجهزة التي تنتمي إلى نظام فرعي مطابق. يدعم هذا الخيار مطابقة الأنماط بنمط الصدفة. عند تحديد هذا الخيار أكثر من مرة، يُطبق عملية OR على كل نتيجة مطابقة، أي تُشغل جميع الأجهزة في كل نظام فرعي.

-S, --subsystem-nomatch=النظام الفرعي
    لا تقم بتشغيل أحداث للأجهزة التي تنتمي إلى نظام فرعي مطابق. يدعم هذا الخيار مطابقة الأنماط بنمط الصدفة. عند تحديد هذا الخيار أكثر من مرة، يتم تطبيق عملية AND على كل نتيجة مطابقة، أي تُشغل الأجهزة التي لا تطابق جميع الأنظمة الفرعية المحددة.

-a, --attr-match=السمة=القيمة
    تشغيل أحداث للأجهزة ذات سمة sysfs مطابقة. إذا حُدد قيمة مع اسم السمة، يتم مطابقة محتوى السمة مع القيمة المعطاة باستخدام مطابقة الأنماط بنمط الصدفة. إذا لم يُحدد قيمة، يُتحقق من وجود سمة sysfs. عند تحديد هذا الخيار عدة مرات، تُطبق عملية AND على كل نتيجة مطابقة، أي تُشغل الأجهزة التي تحتوي على جميع السمات المحددة فقط.

-A, --attr-nomatch=السمة=القيمة
    لا تقم بتشغيل أحداث للأجهزة ذات سمة sysfs مطابقة. إذا حُدد قيمة مع اسم السمة، يتم مطابقة محتوى السمة مع القيمة المعطاة باستخدام مطابقة الأنماط بنمط الصدفة. إذا لم يُحدد قيمة، يُتحقق من وجود سمة sysfs. عند تحديد هذا الخيار عدة مرات، تُطبق عملية AND على كل نتيجة مطابقة، أي يتم تشغيل الأجهزة التي لا تحتوي على أي من السمات المحددة فقط.

-p, --property-match=الخاصية=القيمة
    تشغيل أحداث للأجهزة ذات قيمة خاصية مطابقة. يدعم هذا الخيار مطابقة الأنماط بنمط الصدفة. عند تحديد هذا الخيار أكثر من مرة، تُطبق عملية OR على كل نتيجة مطابقة، أي تُشغل الأجهزة التي تحتوي على إحدى الخصائص المحددة.

-g, --tag-match=الوسم
    تشغيل أحداث للأجهزة ذات وسم مطابق. عند تحديد هذا الخيار عدة مرات، يتم تطبيق عملية AND على كل نتيجة مطابقة، أي تُشغل الأجهزة التي تحتوي على جميع الأوسمة المحددة.

-y, --sysname-match=الاسم
    تشغيل أحداث للأجهزة التي يتطابق فيها المكون الأخير (أي اسم الملف) من مسار /sys/ مع PATH المحدد. يدعم هذا الخيار مطابقة الأنماط بنمط الصدفة. عند تحديد هذا الخيار أكثر من مرة، تُطبق عملية OR على كل نتيجة مطابقة، أي تُشغل جميع الأجهزة التي تحتوي على أي من NAME المحدد.

--name-match=الاسم
    تشغيل أحداث للأجهزة ذات مسار جهاز مطابق. عند تحديد هذا الخيار أكثر من مرة، تُطبق عملية OR على كل نتيجة مطابقة، أي تُشغل جميع الأجهزة المحددة.

    أُضيف في الإصدارة 218.

-b, --parent-match=المسار_النظامي
    تشغيل أحداث لجميع الأجهزة الفرعية لجهاز معين. عند تحديد هذا الخيار أكثر من مرة، تُطبق عملية OR على كل نتيجة مطابقة، أي تُشغل جميع الأجهزة الفرعية لكل جهاز محدد.

--initialized-match، --initialized-nomatch
    عند تحديد --initialized-match، قم بتشغيل أحداث للأجهزة التي تمت تهيئتها بالفعل بواسطة systemd-udevd، وتجاوز الأجهزة التي لم تتم تهيئتها بعد.

    عند تحديد --initialized-nomatch، قم بتشغيل أحداث للأجهزة التي لم تتم تهيئتها بواسطة systemd-udevd بعد، وتجاوز الأجهزة التي تمت تهيئتها بالفعل.

    عادةً، من الضروري أن تتأكد التطبيقات التي تنوي استخدام مثل هذه المطابقة من تثبيت قاعدة udev مناسبة تحدد خاصية واحدة على الأقل على الأجهزة التي ستُطابق. راجع أيضًا قسم الأجهزة المهيأة أدناه لمزيد من التفاصيل.

        تحذير
        يمكن لـ --initialized-nomatch توفير قدر كبير من الوقت مقارنة بإعادة تشغيل جميع الأجهزة في النظام، ويمكن استخدامه مثلاً لتحسين وقت الإقلاع. ومع ذلك، فإن استخدامه في تسلسل الإقلاع ليس آمناً بشكل عام. خاصةً، عندما تعتمد قواعد udev لجهاز ما على أجهزته الأم (مثل مفاتيح "ATTRS" أو "IMPORT{parent}"، راجع udev(7) لمزيد من التفاصيل)، تصبح الحالة النهائية للجهاز غير مستقرة بسهولة مع هذا الخيار.

    أُضيف في الإصدار 251.

--include-parents
    تشغيل الأجهزة الأم للأجهزة التي عُثر عليها حتى لو لم تطابق الأمهات شرط التصفية. هذا مفيد إذا كنا مهتمين بتحديد أنشطة التوصيل البارد لبعض الأجهزة أو الأنظمة الفرعية.

    أُضيف في الإصدار 258.

-w، --settle
    بالإضافة إلى تشغيل الأحداث، ينتظر أيضًا انتهاء تلك الأحداث. لاحظ أن هذا يختلف عن استدعاء udevadm settle. ينتظر udevadm settle انتهاء جميع الأحداث. ينتظر هذا الخيار فقط انتهاء الأحداث التي شغلها نفس الأمر.

    أُضيف في الإصدارة 238.

--uuid
    شغّل أحداث الجهاز الاصطناعية، واربط UUID عشوائيًا مع كل منها. تُطبع UUIDs هذه إلى المخرجات القياسية، سطر واحد لكل حدث. تُضمن UUIDs هذه في كتلة بيئة uevent (في الخاصية "SYNTH_UUID=") ويمكن استخدامها لتتبع تسليم الأحداث المُنشأة.

    أُضيف في الإصدار 249.

--wait-daemon[=ثوانٍ]
    قبل تشغيل uevents، انتظر حتى يُهيئ برنامج systemd-udevd الخفي. يأخذ قيمة مهلة اختياريًا. المهلة المبدئية هي 5 ثوانٍ. هذا يعادل استدعاء udevadm control --ping قبل udevadm trigger.

    أُضيف في الإصدارة 241.

بالإضافة إلى ذلك، يمكن استخدام وسائط موضعية اختيارية لتحديد أسماء الأجهزة أو مسارات sys. يجب أن تبدأ بـ /dev/ أو /sys/ على التوالي.

  udevadm settle [خيارات...]

يراقب قائمة انتظار أحداث udev، ويخرج إذا تمت معالجة جميع الأحداث الحالية.

-t، --timeout=ثوانٍ
    الحد الأقصى لعدد الثواني للانتظار حتى تصبح قائمة انتظار الأحداث فارغة. القيمة المبدئية هي 120 ثانية. القيمة 0 ستتحقق مما إذا كانت القائمة فارغة وستعود فورًا دائمًا. القيمة غير الصفرية ستعيد رمز خروج 0 إذا أصبحت القائمة فارغة قبل بلوغ المهلة، وغير صفرية بخلاف ذلك.

-E، --exit-if-exists=ملف
    توقف عن الانتظار إذا كان الملف موجودًا.

انظر systemd-udev-settle.service(8) لمزيد من المعلومات.

  udevadm control خيارات...

عدّل الحالة الداخلية لبرنامج udev الخفي الجاري.

-e، --exit
    أشر وانتظر حتى يخرج systemd-udevd. لا يمكن تحديد أي خيار باستثناء --timeout بعد هذا الخيار. لاحظ أن systemd-udevd.service يحتوي على Restart=always ونتيجة لذلك، يعيد هذا الخيار تشغيل systemd-udevd. إذا أردت إيقاف systemd-udevd.service، يُرجى استخدام ما يلي:

        systemctl stop systemd-udevd-control.socket systemd-udevd-kernel.socket systemd-udevd-varlink.socket systemd-udevd.service

-l، --log-level=قيمة
    اضبط مستوى السجل الداخلي لـ systemd-udevd. القيم الصالحة هي أولويات syslog الرقمية أو تمثيلاتها النصية: emerg، alert، crit، err، warning، notice، info، و debug.

-s، --stop-exec-queue
    أشر إلى systemd-udevd لإيقاف تنفيذ الأحداث الجديدة. ستُوضع الأحداث الواردة في قائمة انتظار.

-S، --start-exec-queue
    أشر إلى systemd-udevd لتمكين تنفيذ الأحداث.

-R، --reload
    أشر إلى systemd-udevd لإعادة تحميل ملفات القواعد وقواعد البيانات الأخرى مثل فهرس وحدة النواة. لا تطبق إعادة تحميل القواعد وقواعد البيانات أي تغييرات على الأجهزة الموجودة بالفعل؛ ستُطبق التهيئة الجديدة فقط على الأحداث الجديدة.

-p، --property=مفتاح=قيمة
    تعيين خاصية عامة لجميع الأحداث.

-m، --children-max=قيمة
    تعيين الحد الأقصى لعدد الأحداث التي سيعالجها systemd-udevd في نفس الوقت. عند تحديد 0، يُحدد الحد الأقصى بناءً على موارد النظام.

--ping
    إرسال رسالة ping إلى systemd-udevd والانتظار للرد. قد يكون هذا مفيدًا للتحقق من تشغيل برنامج systemd-udevd الخفي.

    أُضيف في الإصدارة 241.

--trace=قيمة_منطقية
    تمكين/تعطيل تسجيل التتبع في systemd-udevd.

    أُضيف في الإصدار 258.

--revert
    إعادة الإعدادات المُعينة سابقًا بأمر udevadm control. عند التحديد، تُمسح الإعدادات المُعينة بـ -l/--log-level=، --trace، -m/--children-max=، و -p/--property=.

    أُضيف في الإصدار 258.

-t، --timeout=ثوانٍ
    الحد الأقصى لعدد الثواني للانتظار لرد من systemd-udevd.

--load-credentials
    عند التحديد، تُستخدم بيانات الاعتماد التالية عند تمريرها:

    udev.conf.*
        يجب أن تحتوي هذه المُعتمَدات على بيانات تهيئة udev.conf(5) صالحة. من كل مُعتمَد مُطابق يُنشأ ملف منفصل. مثال: يُنسخ مُعتمَد مُمرّر udev.conf.50-foobar إلى ملف تهيئة /run/udev/udev.conf.d/50-foobar.conf.

        أُضيف في الإصدار 256.

    udev.rules.*
        يجب أن تحتوي هذه المُعتمَدات على قواعد udev(7) صالحة. من كل مُعتمَد مُطابق يُنشأ ملف منفصل. مثال: يُنسخ مُعتمَد مُمرّر udev.rules.50-foobar إلى ملف تهيئة /run/udev/rules.d/50-foobar.rules.

        أُضيف في الإصدار 256.

    ملاحظة، هذا لا يعني خيار --reload. لذا، إذا كان systemd-udevd يعمل بالفعل، يُرجى النظر في تحديد -reload أيضًا لجعل ملفات قواعد udev المنسوخة مُستخدمة بواسطة systemd-udevd.

    أُضيف في الإصدار 256.

  udevadm monitor [خيارات...]

الاستماع إلى أحداث uevents للنواة والأحداث المُرسلة بواسطة قاعدة udev وطباعة مسار الجهاز للحدث إلى وحدة التحكم. يمكن استخدامه لتحليل توقيت الحدث، بمقارنة الطوابع الزمنية لحدث uevent للنواة وحدث udev.

-k، --kernel
    طباعة أحداث uevents للنواة.

-u، --udev
    طباعة حدث udev بعد معالجة القاعدة.

-p، --property
    طباعة خصائص الحدث أيضًا.

-s، --subsystem-match=سلسلة[/سلسلة]
    تصفية أحداث uevents للنواة وأحداث udev حسب النظام الفرعي[/نوع الجهاز]. تمر فقط الأحداث ذات قيمة النظام الفرعي المُطابقة. عند تحديد هذا الخيار أكثر من مرة، تُجمع نتائج المطابقة بعملية OR، أي تُراقب جميع الأجهزة في الأنظمة الفرعية المُحددة.

-t، --tag-match=سلسلة
    تصفية أحداث udev حسب الوسم. تمر فقط أحداث udev ذات الوسم المُرفق المُعطى. عند تحديد هذا الخيار أكثر من مرة، تُجمع نتائج المطابقة بعملية OR، أي تُراقب الأجهزة التي تحتوي على أحد الوسوم المُحددة.

  udevadm test [options...] devpath|syspath|id|unit

محاكاة تشغيل حدث udev للجهاز المُعطى، وطباعة مخرجات التصحيح. قد يكون الخيار --json= مفيدًا لتحليل النتيجة النهائية. انظر أيضًا قسم الأمثلة.

-a, --action=ACTION
    نوع الحدث المراد محاكاته. الإجراءات الممكنة هي "add" و"remove" و"change" و"move" و"online" و"offline" و"bind" و"unbind". أيضًا، يمكن استخدام القيمة الخاصة "help" لسرد الإجراءات الممكنة. القيمة المبدئية هي "add".

-N, --resolve-names=early|late|never
    تحديد متى يجب على udevadm حل أسماء المستخدمين والمجموعات المُحددة في قواعد udev. عند التعيين إلى early (المبدئي)، تُحل الأسماء عند تحليل القواعد. عند التعيين إلى late، تُحل الأسماء أثناء معالجة الحدث. عند التعيين إلى never، لن تُحل الأسماء أبدًا وسيتم تجاهل قواعد udev ذات الصلة.

    أُضيف في الإصدارة 209.

-D DIR, --extra-rules-dir=DIR
    تحميل ملفات قواعد udev أيضًا من الدليل المُحدد. يمكن تحديد هذا الخيار عدة مرات. قد يكون مفيدًا لتصحيح أخطاء قواعد udev عن طريق نسخ بعض ملفات قواعد udev إلى دليل مؤقت، وتحريرها، وتحديد الدليل بهذا الخيار. الملفات الموجودة في الأدلة المُحددة لها أولوية أعلى من ملفات القواعد في الأدلة المبدئية udev/rules.d التي يستخدمها systemd-udevd. انظر udev(7) لمزيد من التفاصيل حول مسارات البحث.

    أُضيف في الإصدار 258.

-v، --verbose
    إظهار سجلات مفصلة في معالجة قواعد udev.

    أُضيف في الإصدار 258.

--json=وضع
    يظهر المخرجات منسقة بصيغة JSON. يتوقع أحد الخيارات: "short" (لأقصر مخرج ممكن دون أي مسافات زائدة أو فواصل أسطر)، أو "pretty" (لنسخة جميلة من المخرج نفسه، مع إزاحة وفواصل أسطر) أو "off" (لإيقاف مخرجات JSON، وهو الخيار المبدئي).

  udevadm test-builtin [options...] command devpath|file|unit

تشغيل أمر مدمج COMMAND للجهاز DEVPATH، وطباعة مخرجات التصحيح.

-a, --action=ACTION
    نوع الحدث المراد محاكاته. الإجراءات الممكنة هي "add" و"remove" و"change" و"move" و"online" و"offline" و"bind" و"unbind". أيضًا، يمكن استخدام القيمة الخاصة "help" لسرد الإجراءات الممكنة. القيمة المبدئية هي "add".

    أُضيف في الإصدار 250.

  udevadm verify [options...] [files...]

التحقق من الصحة النحوية والدلالية والأسلوبية لملفات قواعد udev.

يمكن استخدام الوسائط الموضعية لتحديد ملف واحد أو أكثر للفحص. يجب أن يكون كل وسيط مسارًا مطلقًا لملف قواعد udev أو دليل يحتوي على ملفات قواعد، أو اسم ملف لملف قواعد udev (مثل 99-systemd.rules). إذا حُدد اسم ملف، فسيتم البحث عن الملف في أدلة udev/rules.d التي يعالجها systemd-udevd، والبحث في دليل العمل الحالي إذا لم يعُثر عليه. إذا لم يُحدد أي ملفات، تُقرأ قواعد udev من الملفات الموجودة في نفس أدلة udev/rules.d التي يعالجها systemd-udevd. انظر udev(7) لمزيد من التفاصيل حول مسارات البحث.

حالة الخروج هي 0 إذا كانت جميع ملفات قواعد udev المُحددة صحيحة نحويًا ودلاليًا وأسلوبيًا، ورمز خطأ غير صفري بخلاف ذلك.

-N, --resolve-names=early|late|never
    تحديد متى يجب على udevadm حل أسماء المستخدمين والمجموعات المُحددة في قواعد udev. عند التعيين إلى early (المبدئي)، تُحل الأسماء عند تحليل القواعد. عند التعيين إلى late، لن يُتحقق من الأسماء، حيث يحل systemd-udevd الأسماء أثناء معالجة كل حدث. عند التعيين إلى never، لن تُحل الأسماء أبدًا وسيُتجاهل القواعد ذات الصلة.

    أُضيف في الإصدار 254.

--root=المسار
    عند البحث عن ملفات قواعد udev الموجودة في أدلة udev/rules.d، العمل على الملفات الموجودة أسفل مسار الجذر المُحدد PATH. عند تحديد اسم ملف، وعدم العثور عليه في أدلة udev/rules.d، سيُبحث عن الملف في مسار الجذر المُحدد PATH، بدلاً من دليل العمل الحالي.

    أُضيف في الإصدار 254.

--no-summary
    عدم إظهار الملخص.

    أُضيف في الإصدار 254.

--no-style
    تجاهل مشكلات الأسلوب. عند التحديد، حتى إذا عُثر على مشكلات أسلوبية في ملفات قواعد udev، فإن حالة الخروج تكون 0 إذا لم يعُثر على أخطاء نحوية أو دلالية.

    أُضيف في الإصدار 254.

  udevadm cat [options...] [file...]

إظهار ملفات قواعد udev أو udev.conf.

يمكن استخدام الوسائط الموضعية لتحديد ملف واحد أو أكثر للإظهار. يجب أن يكون كل وسيط مسارًا مطلقًا لملف قواعد udev أو دليل يحتوي على ملفات قواعد، أو اسم ملف لملف قواعد udev (مثل 99-systemd.rules). إذا حُدد اسم ملف، فسيتم البحث عن الملف في أدلة udev/rules.d التي يعالجها systemd-udevd، والبحث في دليل العمل الحالي إذا لم يعُثر عليه. إذا لم يُحدد أي ملفات، تُقرأ قواعد udev من الملفات الموجودة في نفس أدلة udev/rules.d التي يعالجها systemd-udevd. انظر udev(7) لمزيد من التفاصيل حول مسارات البحث.

--root=المسار
    عند البحث عن ملفات قواعد udev الموجودة في أدلة udev/rules.d، العمل على الملفات الموجودة أسفل مسار الجذر المُحدد PATH. عند تحديد اسم ملف، وعدم العثور عليه في أدلة udev/rules.d، سيُبحث عن الملف في مسار الجذر المُحدد PATH، بدلاً من دليل العمل الحالي.

    أُضيف في الإصدار 258.

--tldr
    طباعة الأجزاء "المثيرة للاهتمام" فقط من ملفات الإعداد، وتخطي التعليقات والأسطر الفارغة ورؤوس الأقسام التي يتبعها فقط تعليقات وأسطر فارغة.

    أُضيف في الإصدار 258.

--config
    إظهار ملفات udev.conf(5) بدلاً من ملفات قواعد udev. عند التحديد، لا يمكن تحديد أي ملف قواعد udev.

    أُضيف في الإصدار 258.

  udevadm wait [options...] devpath|syspath...

انتظر حتى يُنشئ ويُهيئ الأجهزة أو الروابط الرمزية للأجهزة بواسطة systemd-udevd. يجب أن يبدأ كل مسار جهاز بـ "/dev/" أو "/sys/"، على سبيل المثال "/dev/sda"، "/dev/disk/by-path/pci-0000:3c:00.0-nvme-1-part1"، "/sys/devices/pci0000:00/0000:00:1f.6/net/eth0"، أو "/sys/class/net/eth0". يمكن أن يستغرق هذا أجهزة متعددة. قد يكون هذا مفيدًا لانتظار الأجهزة المعالجة بواسطة systemd-udevd بعد، على سبيل المثال، تقسيم الأجهزة أو تنسيقها.

-t، --timeout=ثوانٍ
    الحد الأقصى لعدد الثواني لانتظار إنشاء أو تهيئة أو إزالة الأجهزة المحددة أو الروابط الرمزية للأجهزة. القيمة المبدئية هي "infinity".

    أُضيف في الإصدار 251.

--initialized=BOOL
    تحقق مما إذا كان systemd-udevd قد قام بتهيئة الأجهزة. المبدئي هو true. عندما يكون false، يتحقق الأمر فقط من وجود الأجهزة المحددة. اضبط هذا الإعداد على false إذا لم تكن هناك قواعد udev للأجهزة المحددة، حيث لن تُعتبر الأجهزة مهيأة في هذه الحالة. راجع قسم الأجهزة المهيأة أدناه لمزيد من التفاصيل.

    أُضيف في الإصدار 251.

--removed
    عند التحديد، ينتظر الأمر إزالة الأجهزة بدلاً من إنشائها أو تهيئتها. إذا حُدد هذا، سيتجاهل --initialized=.

    أُضيف في الإصدار 251.

--settle
    عند التحديد، يراقب أيضًا قائمة انتظار أحداث udev، وينتظر معالجة جميع الأحداث في قائمة الانتظار بواسطة systemd-udevd.

    أُضيف في الإصدار 251.

  udevadm lock [options...] command...

يأخذ udevadm lock قفلًا حصريًا (استشاريًا) على جهاز كتلة (أو جميع الأجهزة المحددة)، وفقًا لـ Locking Block Device Access[2] ويستدعي برنامجًا مع أخذ الأقفال. عند خروج البرنامج المستدعى، يتم تحرير الأقفال آليًا ويُنشر قيمة إرجاعه كرمز خروج لـ udevadm lock.

هذه الأداة مفيدة بشكل خاص لضمان عدم قيام systemd-udevd.service(8) باستكشاف جهاز كتلة أثناء إجراء تغييرات عليه، على سبيل المثال إنشاء أقسام أو تنسيق أنظمة ملفات. لاحظ أن العديد من الأدوات التي تتفاعل مع أجهزة الكتلة تدعم أصلاً أخذ الأقفال ذات الصلة، راجع على سبيل المثال مفتاح --lock الخاص بـ sfdisk(8).

يتوقع الأمر جهاز كتلة واحدًا على الأقل محددًا عبر --device= أو --backing=، وسطر أوامر لتنفيذه كوسائط.

--device=DEVICE, -d DEVICE
    يأخذ مسارًا إلى عقدة جهاز للجهاز المراد قفله. يمكن استخدام هذا المفتاح عدة مرات (وبالاقتران مع --backing=) لقفل أجهزة متعددة. إذا حُدد عقدة جهاز كتلة قسم، يُحدد جهاز الكتلة "الكامل" المحتوي آليًا واستخدامه للقفل، وفقًا للمواصفات. إذا حُدد أجهزة متعددة، يُلغى تكرارها، وفرزها حسب الرقم الرئيس/الفرعي لعقد أجهزتها ثم قفلها بالترتيب.

    يجب استخدام هذا المفتاح مرة واحدة على الأقل، لتحديد جهاز واحد على الأقل لقفله. (بدلاً من ذلك، استخدم --backing=، انظر أدناه.)

    أُضيف في الإصدار 251.

--backing=PATH, -b PATH
    إذا حُدد مسار إلى عقدة جهاز، فهو مطابق لـ --device=. ومع ذلك، يقبل هذا المفتاح بدلاً من ذلك مسارًا إلى ملف عادي أو دليل، وفي هذه الحالة يُحدد جهاز الكتلة لنظام الملفات الذي يوجد عليه الملف/الدليل آليًا واستخدامه كما لو حُدد باستخدام --device=.

    أُضيف في الإصدار 251.

--timeout=SECS, -t SECS
    يحدد المدة القصوى للانتظار حتى يمكن أخذ جميع الأقفال. يأخذ قيمة بالثواني، أو بوحدات الوقت المدعومة المعتادة، راجع systemd.time(7). إذا حُدد كصفر، يتم محاولة القفل وإذا لم ينجح، سيفشل الاستدعاء فورًا. إذا مُرر كـ "infinity" (المبدئي)، سينتظر الاستدعاء إلى أجل غير مسمى حتى يمكن الحصول على القفل. إذا تعذر أخذ القفل في الوقت المحدد، لن يُنفذ الأمر المحدد وسيفشل الاستدعاء.

    أُضيف في الإصدار 251.

--print, -p
    بدلاً من قفل الأجهزة المحددة وتنفيذ أمر، قم فقط بطباعة مسارات الأجهزة التي ستُقفل، ولا تنفذ أي أمر. هذا الأمر مفيد لتحديد جهاز الكتلة "الكامل" في حالة تحديد جهاز كتلة قسم. ستُفرز الأجهزة حسب رقمها الرئيس لعقدة الجهاز كمفتاح ترتيب أساسي والرقم الفرعي كمفتاح ترتيب ثانوي (أي تُعرض بالترتيب الذي ستُقفل به). لاحظ أن عدد الأسطر المطبوعة هنا يمكن أن يكون أقل من عدد مفاتيح --device= و --backing= المحددة في حالة حلها لنفس الأجهزة "الكاملة".

    أُضيف في الإصدار 251.

الأجهزة المهيأة

الأجهزة المهيأة هي تلك التي أكمل فيها قاعدة udev واحدة على الأقل التنفيذ – لأي إجراء باستثناء "remove" — الذي يحدد خاصية أو إعداد جهاز آخر (وبالتالي لديه إدخال في قاعدة بيانات جهاز udev). لم تعد الأجهزة تُعتبر مهيأة إذا ظهر إجراء "remove" لها (مما يزيل إدخالها في قاعدة بيانات جهاز udev). لاحظ أن الأجهزة التي ليس لها قواعد udev لا تُعتبر مهيأة أبدًا، ولكن قد يتم الإعلان عنها عبر واجهة برمجة تطبيقات sd-device (أو ما شابه ذلك).

مثال

مثال 1. تنسيق نظام ملفات

خذ قفلًا على جهاز الكتلة الداعم أثناء إنشاء نظام ملفات، لضمان عدم قيام systemd-udevd باستكشاف أو الإعلان عن الكتلة الفائقة الجديدة قبل كتابتها بشكل شامل:

    # udevadm lock --device=/dev/sda1 mkfs.ext4 /dev/sda1

مثال 2. تنسيق نظام ملفات RAID

مشابه، لكن يأخذ أقفالاً على أجهزة متعددة دفعة واحدة:

    # udevadm lock --device=/dev/sda1 --device=/dev/sdb1 mkfs.btrfs /dev/sda1 /dev/sdb1

مثال 3. نسخ في نظام ملفات

يأخذ قفلاً على جهاز الكتلة الداعم أثناء نسخ صورة نظام ملفات مُعدة، لضمان أن systemd-udevd لا يستكشف أو يعلن عن الكتلة الفائقة الجديدة قبل كتابتها بالكامل:

    # udevadm lock -d /dev/sda1 dd if=fs.raw of=/dev/sda1

مثال 4. توقع إعادة تسمية واجهة الشبكة

لتوقع اسم واجهة شبكة، يمكن استخدام udevadm test:

    $ udevadm test /sys/class/net/wlan0 --json=pretty 2>/dev/null | jq .networkInterface.name
    "wlp59s0"

مثال 5. توقع الروابط الرمزية لعقدة جهاز

لتوقع الروابط الرمزية لعقدة جهاز، يمكن استخدام udevadm test:

    $ udevadm test /dev/nvme0n1p1 --json=pretty 2>/dev/null | jq .node.symlinks
    [
      "/dev/disk/by-diskseq/1-part1",
      "/dev/disk/by-id/nvme-WDC_PC_SN720_SDAQNTW-512G-1001_192290802247-part1",
      "/dev/disk/by-id/nvme-WDC_PC_SN720_SDAQNTW-512G-1001_192290802247_1-part1",
      "/dev/disk/by-id/nvme-eui.1922908022470001001b448b44ccb9d6-part1",
      "/dev/disk/by-path/pci-0000:3c:00.0-nvme-1-part/by-partnum/1",
      "/dev/disk/by-path/pci-0000:3c:00.0-nvme-1-part1"
    ]
    $ udevadm test /dev/input/event3 --json=pretty 2>/dev/null | jq .node.symlinks
    [
      "/dev/input/by-path/platform-i8042-serio-0-event-kbd"
    ]

انظر أيضًا

udev(7), systemd-udevd.service(8), udev.conf(5)

ملاحظات

1.  jq
    https://jqlang.github.io/jq/manual/

2.  قفل الوصول إلى جهاز الكتلة
    https://systemd.io/BLOCK_DEVICE_LOCKING

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.