| BINFMT.D(5) | binfmt.d | BINFMT.D(5) |
نام (NAME)
binfmt.d - پیکربندی فرمتهای اجرایی در زمان بوت
خلاصه دستور (SYNOPSIS)
توضیحات (DESCRIPTION)
در زمان بوت، systemd-binfmt.service(8) فایلهای پیکربندی را از دایرکتوریهای بالا میخواند تا فرمتهای باینری اضافی را برای فایلهای اجرایی در هسته ثبت کند.
فرمت پیکربندی (CONFIGURATION FORMAT)
هر فایل شامل فهرستی از قوانین فرمت باینری binfmt_misc هسته است. برای اطلاعات بیشتر در مورد ثبت فرمتهای باینری اضافی و نحوه نگارش قوانین، به فایل مستندات Kernel Support for miscellaneous Binary Formats (binfmt_misc)[1] هسته مراجعه کنید.
خطوط خالی و خطوطی که با ";" و "#" شروع میشوند نادیده گرفته میشوند. توجه داشته باشید که این بدان معناست که نمیتوانید از این نمادها به عنوان جداکننده در قوانین فرمت باینری استفاده کنید.
دایرکتوریهای پیکربندی و اولویتبندی (CONFIGURATION DIRECTORIES AND PRECEDENCE)
فایلهای پیکربندی به ترتیب اولویت، همانطور که در بخش خلاصه دستور در بالا ذکر شده است، از دایرکتوریهای /etc/، /run/، /usr/local/lib/ و /usr/lib/ خوانده میشوند. فایلها باید پسوند ".conf" داشته باشند. فایلهای موجود در /etc/ فایلهای همنام در /run/، /usr/local/lib/ و /usr/lib/ را بازنویسی میکنند. فایلهای موجود در /run/ فایلهای همنام در /usr/ را بازنویسی میکنند.
تمام فایلهای پیکربندی بدون توجه به اینکه در کدامیک از دایرکتوریها قرار دارند، بر اساس نام فایل خود به ترتیب واژهنگاری (حروف الفبا) مرتب میشوند. اگر چند فایل یک گزینه یکسان را مشخص کنند، ورودی موجود در فایلی که نام آن از نظر الفبایی مؤخرتر است اولویت خواهد داشت. بنابراین، پیکربندی یک فایل را میتوان بهطور کامل جایگزین کرد (با قرار دادن فایلی با همان نام در دایرکتوری با اولویت بالاتر)، یا میتوان تنظیمات جداگانه را تغییر داد (با تعیین تنظیمات بیشتر در فایلی با نام دیگر که از نظر ترتیبی بعدتر قرار میگیرد).
بستهها باید فایلهای پیکربندی خود را در /usr/lib/ (بستههای توزیع) یا /usr/local/lib/ (نصبهای محلی) [2] نصب کنند. فایلهای موجود در /etc/ برای مدیر محلی سیستم رزرو شدهاند، که میتواند از این منطق برای بازنویسی فایلهای پیکربندی نصبشده توسط بستههای توزیعکننده (vendor) استفاده کند.
توصیه میشود برای سادهتر کردن ترتیب، نام همه فایلها با یک عدد دورقمی و یک خط تیره شروع شود. توصیه میشود از محدوده 10-40 برای فایلهای پیکربندی در /usr/ و از محدوده 60-90 برای فایلهای پیکربندی در /etc/ و /run/ استفاده شود، تا اطمینان حاصل شود که فایلهای پیکربندی محلی و موقت همیشه بر فایلهای پیکربندی عرضهشده توسط توزیعکننده سیستمعامل اولویت خواهند داشت.
اگر مدیر سیستم بخواهد یک فایل پیکربندی عرضهشده توسط توزیعکننده را غیرفعال کند، راهکار توصیهشده قرار دادن یک پیوند نمادین (symlink) به /dev/null در دایرکتوری پیکربندی در /etc/ با همان نام فایل پیکربندی توزیعکننده است. اگر فایل پیکربندی توزیعکننده در تصویر initrd گنجانده شده باشد، آن تصویر باید دوباره بازسازی شود.
مثالها (EXAMPLES)
مثال 1. نمونه فایل /etc/binfmt.d/wine.conf:
# Start WINE on Windows executables :DOSWin:M::MZ::/usr/bin/wine:
همچنین ببینید (SEE ALSO)
systemd(1), systemd-binfmt.service(8), systemd-delta(1), wine(8)
نکات (NOTES)
- 1.
- Kernel Support for miscellaneous Binary Formats (binfmt_misc)
- 2.
- 💣💥🧨💥💥💣 لطفاً توجه داشته باشید که این فایلهای پیکربندی باید همیشه در دسترس باشند. اگر /usr/local/ یک پارتیشن جداگانه باشد، ممکن است در مراحل اولیه بوت در دسترس نباشد و نباید برای پیکربندی استفاده شود.
| systemd 261.2 |