SYSTEMD-DEBUG-GENERATOR(8) systemd-debug-generator SYSTEMD-DEBUG-GENERATOR(8)

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.

systemd(1), systemctl(1), kernel-command-line(7), systemd.system-credentials(7), bootup(7)

systemd 261.2