systemd-debug-generator -
تولیدکننده
فعالسازی
شل
اشکالزدایی
و تنظیمات
دیباگ در
زمان بوت
/usr/lib/systemd/system-generators/systemd-debug-generator
systemd-debug-generator
تولیدکنندهای
است که برخی
قابلیتهای
اشکالزدایی
(دیباگ) را
فراهم
میکند.
systemd-debug-generator از
systemd.generator(7) پیروی
و آن را
پیادهسازی
میکند.
systemd-debug-generator
پارامترهای
خط فرمان
هسته (کرنل)
زیر را درک
میکند:
systemd.mask=, rd.systemd.mask=
این
گزینهها
نام یک واحد
(unit) را به
عنوان
آرگومان
دریافت
میکنند.
واحد
مشخصشده
برای زمان
اجرا (یعنی
برای این
نشست — از
زمان بوت تا
خاموش شدن
سیستم) ماسک
(غیرفعال)
میشود،
مشابه با
اثری که
دستور
mask در
systemctl(1) دارد. این
ویژگی برای
بوت کردن
سیستم در
حالی که
برخی
واحدها به
منظور
اشکالزدایی
راهاندازی
سیستم از
تراکنش
اولیه بوت
حذف
شدهاند
مفید است.
این گزینه
میتواند
بیش از یک
بار مشخص
شود.
گزینهای
که دارای
پیشوند "rd."
است فقط در initrd
اعمال
میشود، در
حالی که
گزینه بدون
پیشوند
تنها روی
سیستم
میزبان
اعمال
میگردد.
افزودهشده
در نسخه 215.
systemd.wants=, rd.systemd.wants=
این
گزینهها
نام یک واحد
را به عنوان
آرگومان
دریافت
میکنند. یک
کار شروع (start job)
برای این
واحد به
تراکنش
اولیه
اضافه
میشود. این
ویژگی برای
راهاندازی
یک یا چند
واحد اضافی
هنگام بوت
مفید است.
این گزینه
میتواند
بیش از یک
بار مشخص
شود.
گزینهای
که با
پیشوند "rd."
مشخص شده
است فقط در initrd
اعمال
میشود، در
حالی که
گزینه بدون
پیشوند
تنها روی
سیستم
میزبان
اعمال
میگردد.
افزودهشده
در نسخه 215.
systemd.debug_shell, rd.systemd.debug_shell,
systemd.default_debug_tty=, rd.systemd.default_debug_tty=
اگر
گزینه
systemd.debug_shell
یا
rd.systemd.debug_shell
مشخص شود،
سرویس شل
اشکالزدایی
"debug-shell.service" به
داخل
تراکنش بوت
آورده
میشود و یک
شل
اشکالزدایی
در مراحل
اولیه بوت
اجرا خواهد
شد. بهطور
پیشفرض، /dev/tty9
استفاده
میشود،
اما یک tty خاص
نیز
میتواند
با پیشوند /dev/
یا بدون آن
مشخص شود.
برای تنظیم tty
مورد
استفاده
بدون
فعالسازی
شل
اشکالزدایی،
میتوان از
گزینه
systemd.default_debug_tty=
استفاده
کرد که آن
نیز یک tty را
با پیشوند /dev/
یا بدون آن
دریافت
میکند.
توجه داشته
باشید که
این شل را
میتوان با
فعالسازی
از طریق
دستور
enable در
systemctl(1) بهصورت
دائمی نیز
فعال کرد.
گزینههای
دارای
پیشوند "rd."
فقط در initrd
اعمال
میشوند،
در حالی که
گزینههای
بدون
پیشوند
تنها روی
سیستم
میزبان
معتبر
هستند.
افزودهشده
در نسخه 215.
systemd.break=, rd.systemd.break=
یکی از
مقادیر
pre-udev،
pre-basic،
pre-mount یا
pre-switch-root (مقدار
پیشفرض
برای گزینه
"rd.") را
میپذیرد.
همچنین
چندین
مقدار
جداشده با
کاما (",") را
نیز
میپذیرد.
این
گزینهها
امکان
متوقف کردن
موقت
فرآیند بوت
در یک نقطه
مشخص و
اجرای یک شل
اشکالزدایی
را فراهم
میکنند. پس
از خروج از
این شل،
سیستم
فرآیند بوت
را ادامه
خواهد داد.
گزینه
دارای
پیشوند "rd."
تنها در initrd
اعمال
میشود، در
حالی که
گزینه بدون
پیشوند فقط
روی سیستم
میزبان
معتبر است.
جدول 1. نقاط
توقف (Breakpoints)
موجود
| نقاط توقف
(Breakpoints) |
توضیحات |
قابل
استفاده در
initrd |
قابل
استفاده
روی سیستم
میزبان |
| pre-udev |
پیش از
آغاز
پردازش
رویدادهای
uevent هسته،
یعنی پیش از
شروع systemd-udevd.service. |
✓ |
✓ |
| pre-basic |
پیش از
خروج از
مراحل
اولیه بوت و
آغاز
سرویسهای
عادی، یعنی
پیش از
رسیدن به
basic.target. |
✓ |
✓ |
| pre-mount |
پیش از
سوار شدن (mount)
فایلسیستم
ریشه، یعنی
پیش از شروع
sysroot.mount. |
✓ |
✗ |
| pre-switch-root |
پیش از
جابهجایی
و تغییر از initrd
به ریشه
اصلی
سیستم. |
✓ |
✗ |
افزودهشده
در نسخه 258.
systemd.extra-unit.*
اعتبارنامههایی
با پیشوند
"systemd.extra-unit."
واحدهای
اضافی را
برای
افزودن به
سیستم
نهایی مشخص
میکنند.
توجه داشته
باشید که
این
واحدهای
اضافی هم به
initrd و هم به
سیستم
نهایی
اضافه
میشوند.
ConditionPathExists=!/etc/initrd-release
میتواند
برای
اطمینان از
این که واحد
در initrd نادیده
گرفته
میشود (شرط
آن برقرار
نیست)
استفاده
شود. توجه
داشته
باشید که با
مشخص کردن
یک مقدار
خالی،
میتوان از
این ویژگی
برای ماسک
کردن
واحدها نیز
استفاده
کرد.
افزودهشده
در نسخه 256.
systemd.unit-dropin.*
اعتبارنامههایی
با پیشوند
"systemd.unit-dropin."
فایلهای drop-in
را برای
واحدهای
متناظر در
سیستم
نهایی
اضافه
میکنند. هر
اعتبارنامه
باید با نام
کامل واحد
شامل پسوند
واحد
پسوندگذاری
شود. محتوای
آن باید یک
فایل معتبر
drop-in واحد باشد.
بهطور
اختیاری،
نام واحد
میتواند
با "~"، و به
دنبال آن
نام drop-in بدون
پسوند ".conf"
بیاید. اگر
مشخص نشود،
نام drop-in
تولیدشده
"50-credential.conf" خواهد
بود. توجه
داشته
باشید که
این drop-inهای
اضافی هم به
initrd و هم به
سیستم
نهایی
اضافه
میشوند.
افزودهشده
در نسخه 256.