SYSTEMD.DEVICE(5) systemd.device SYSTEMD.DEVICE(5)

systemd.device - پیکربندی واحد دستگاه

device.device

یک فایل پیکربندی واحد که نام آن به ".device" ختم می‌شود، اطلاعات مربوط به یک واحد دستگاه را همان‌طور که در درخت دستگاه‌های sysfs/udev(7) نمایش داده شده است، کدگذاری می‌کند. این ممکن است برای تعریف وابستگی‌ها بین دستگاه‌ها و سایر واحدها استفاده شود.

این نوع واحد هیچ گزینهٔ خاصی ندارد. برای گزینه‌های مشترک تمام فایل‌های پیکربندی واحد، systemd.unit(5) را ببینید. موارد پیکربندی مشترک در بخش‌های عمومی [Unit] و [Install] پیکربندی می‌شوند. یک بخش جداگانهٔ [Device] وجود ندارد، زیرا هیچ گزینهٔ مختص دستگاهی قابل پیکربندی نیست.

سیستم‌دی به‌طور پویا برای تمام دستگاه‌های هسته که با برچسب udev با نام "systemd" علامت‌گذاری شده‌اند (به‌طور پیش‌فرض تمام دستگاه‌های بلوکی و شبکه‌ای، و تعداد کمی دیگر) واحدهای دستگاه ایجاد می‌کند. توجه داشته باشید که اگر systemd-udevd.service در حال اجرا نباشد، هیچ واحد دستگاهی در دسترس نخواهد بود (برای مثال در یک کانتینر معمولی).

واحدهای دستگاه بر اساس مسیرهای /sys/ و /dev/ که کنترل می‌کنند نام‌گذاری می‌شوند. مثال: دستگاه /dev/sda5 در systemd به صورت dev-sda5.device نمایش داده می‌شود. برای جزئیات مربوط به منطق گریز (escaping) مورد استفاده برای تبدیل یک مسیر سیستم فایل به نام واحد، systemd.unit(5) را ببینید.

برای برچسب‌گذاری یک دستگاه udev، از "TAG+="systemd"" در فایل قوانین udev استفاده کنید، برای جزئیات udev(7) را ببینید.

واحدهای دستگاه هر زمان که دستگاه مربوطه یک رویداد "changed" ایجاد کند، توسط systemd مجدداً بارگذاری (reload) می‌شوند. سایر واحدها می‌توانند از ReloadPropagatedFrom= برای واکنش به آن رویداد استفاده کنند.

بسیاری از انواع واحدها به‌طور خودکار وابستگی‌هایی به واحدهای دستگاهِ دستگاه‌های مورد نیاز خود به دست می‌آورند. برای مثال، واحدهای .socket وابستگی‌هایی به واحدهای دستگاهِ رابط شبکه مشخص‌شده در BindToDevice= به دست می‌آورند. به طور مشابه، واحدهای swap و mount وابستگی‌هایی به واحدهای دربرگیرندهٔ دستگاه‌های بلوکی پشتیبان خود به دست می‌آورند.

هیچ وابستگی پیش‌فرضی برای واحدهای دستگاه وجود ندارد.

تنظیمات واحد برای واحدهای دستگاه می‌تواند از طریق فایل‌های واحد یا مستقیماً از پایگاه داده udev پیکربندی شود. ویژگی‌های دستگاه udev زیر توسط مدیر سرویس درک می‌شوند:

SYSTEMD_WANTS=, SYSTEMD_USER_WANTS=

وابستگی‌هایی از نوع Wants= از واحد دستگاه به واحدهای مشخص‌شده اضافه می‌کند. SYSTEMD_WANTS= توسط مدیر سرویس سیستم، و SYSTEMD_USER_WANTS= توسط نمونه‌های مدیر سرویس کاربر خوانده می‌شود. این ویژگی‌ها ممکن است برای فعال‌سازی واحدهای دلخواه هنگام در دسترس قرار گرفتن یک دستگاه خاص استفاده شوند.

توجه داشته باشید که این ویژگی و سایر ویژگی‌های دستگاه udev در نظر گرفته نمی‌شوند مگر اینکه دستگاه با برچسب "systemd" در پایگاه داده udev برچسب‌گذاری شده باشد، زیرا در غیر این صورت دستگاه به عنوان یک واحد systemd نمایش داده نمی‌شود (به بالا مراجعه کنید).

توجه داشته باشید که systemd تنها زمانی روی وابستگی‌های Wants= عمل می‌کند که دستگاه برای نخستین بار فعال شود. در صورتی که این وابستگی‌ها به دستگاه‌هایی که از قبل فعال هستند اضافه شوند، روی آن‌ها عمل نخواهد کرد. از SYSTEMD_READY= (به زیر مراجعه کنید) برای پیکربندی زمانی که یک دستگاه udev باید فعال در نظر گرفته شود و در نتیجه زمان فعال‌سازی وابستگی‌ها استفاده کنید.

مقدار مشخص‌شده برای ویژگی باید فهرستی از نام‌های معتبر واحدها باشد که با فاصله از هم جدا شده‌اند. اگر نام قالب واحد مشخص شده باشد (یعنی نام واحدی حاوی نویسهٔ "@" که نشان‌دهندهٔ نام واحدی برای استفاده در چند نمونه‌سازی است، اما با نام نمونهٔ خالی پس از "@")، به‌طور خودکار توسط مسیر "sysfs" دستگاه نمونه‌سازی می‌شود (به این معنی که: مسیر گریز داده شده و به عنوان نام نمونه در نام قالب واحد درج می‌شود). این امر برای نمونه‌سازی یک قالب واحد خاص برای هر دستگاهی که ظاهر می‌شود و با ویژگی‌های خاصی مطابقت دارد، به تعداد یک‌بار مفید است.

SYSTEMD_ALIAS=

یک نام مستعار اضافی به واحد دستگاه اضافه می‌کند. این باید یک مسیر مطلق باشد که به‌طور خودکار به نام واحد تبدیل می‌شود. (به بالا مراجعه کنید.)

SYSTEMD_READY=

اگر روی 0 تنظیم شود، systemd این دستگاه را قطع‌شده در نظر می‌گیرد، حتی اگر در درخت udev نشان داده شود. اگر این ویژگی تنظیم نشده باشد یا روی 1 تنظیم شود، در صورتی که در درخت udev قابل مشاهده باشد، دستگاه متصل در نظر گرفته خواهد شد.

این گزینه برای دستگاه‌هایی مفید است که در ابتدا در وضعیتی مقداردهی‌نشده در درخت ظاهر می‌شوند و به محض راه‌اندازی کامل، یک رویداد "changed" تولید می‌کنند. توجه داشته باشید که تا زمانی که SYSTEMD_READY=0 برای یک دستگاه تنظیم شده باشد، روی SYSTEMD_WANTS= (به بالا مراجعه کنید) اقدامی صورت نمی‌گیرد.

ID_MODEL_FROM_DATABASE=, ID_MODEL=

در صورت تنظیم، این ویژگی به عنوان رشتهٔ توضیحات برای واحد دستگاه استفاده می‌شود.

فایل‌های واحد دستگاه ممکن است شامل بخش‌های [Unit] و [Install] باشند که در systemd.unit(5) شرح داده شده‌اند. هیچ گزینه‌ای که مختص این نوع فایل باشد پشتیبانی نمی‌شود.

systemd(1), systemctl(1), systemd.unit(5), udev(7), systemd.directives(7)

systemd 261.2