SYSTEMD-BLESS-BOOT.SERVICE(8) systemd-bless-boot.service SYSTEMD-BLESS-BOOT.SERVICE(8)

systemd-bless-boot.service, systemd-bless-boot - علامت‌گذاری بوت جاری به عنوان بوت موفق

systemd-bless-boot.service

/usr/lib/systemd/systemd-bless-boot

systemd-bless-boot.service یک سرویس سیستمی است که فرآیند بوت جاری را به عنوان موفق علامت‌گذاری می‌کند. این سرویس به صورت خودکار به تراکنش اولیه کشانده می‌شود هنگامی که systemd-bless-boot-generator(8) تشخیص دهد که شمارش بوت به سبک systemd-boot(7) استفاده شده است.

درونی، این سرویس بر اساس متغیر EFI با نام LoaderBootCountPath (با شناسه UUID سازنده 4a67b082-0a4c-41cf-b6c7-440b29bb8c4f) عمل می‌کند که از بوت‌لودر به سیستم‌عامل منتقل می‌شود. این متغیر شامل یک مسیر فایل‌سیستمی (نسبت به پارتیشن سیستمی EFI) از فایل مدخل بوت‌لودر یا فایل تصویر هسته یکپارچه (unified kernel image) سازگار با UAPI.1 Boot Loader Specification[1] است که برای راه‌اندازی سیستم استفاده شده بود. systemd-bless-boot.service دو شمارنده عددی بوت «تلاش‌های انجام‌شده» (tries done) و «تلاش‌های باقی‌مانده» (tries left) را از نام فایل حذف می‌کند، که این امر به اجراهای بعدی بوت‌لودر نشان می‌دهد که این مدخل حداقل یک بار با موفقیت راه‌اندازی شده است. (بنابراین این سرویس در اولین بوت موفقیت‌آمیز، نام فایل مدخل بوت‌لودر یا فایل تصویر هسته یکپارچه را تغییر می‌دهد.)

فایل اجرایی /usr/lib/systemd/systemd-bless-boot همچنین می‌تواند از خط فرمان با یکی از آرگومان‌های دستوری زیر فراخوانی شود:

status

وضعیت فعلی فایل مدخل بوت‌لودر یا فایل تصویر هسته یکپارچه نمایش داده می‌شود. این دستور بسته به وضعیت و فراخوانی‌های قبلی، یکی از مقادیر "good", "bad", "indeterminate", "clean", "dirty" را خروجی می‌دهد. رشته "indeterminate" در ابتدا پس از بوت و پیش از آنکه به عنوان "good" یا "bad" علامت‌گذاری شود نمایش داده می‌شود. رشته "good" پس از آنکه بوت با دستور good در زیر به عنوان "good" علامت‌گذاری شد نمایش می‌یابد، و برعکس رشته "bad" پس از فراخوانی دستور bad نشان داده می‌شود. رشته "clean" زمانی برگردانده می‌شود که شمارش بوت در حال حاضر فعال نباشد (که شامل حالتی نیز می‌شود که مدخل جاری قبلاً به عنوان همواره خوب علامت‌گذاری شده باشد). رشته "dirty" زمانی برگردانده می‌شود که سیستم با یک هسته مشخصاً معیوب (یعنی هسته‌ای که شمارنده تلاش‌های باقی‌مانده آن قبلاً به صفر رسیده است) بوت شده باشد.

در صورتی که هیچ آرگومان دستوری مشخص نشود، این دستور به صورت ضمنی در نظر گرفته می‌شود.

افزوده شده در نگارش 240.

good

هنگام فراخوانی، فایل مدخل بوت‌لودر یا فایل تصویر هسته یکپارچه جاری به عنوان "good" علامت‌گذاری می‌شود و عملیات تغییر نام فایل که در بالا شرح داده شد را اجرا می‌کند. این دستور برای فراخوانی در پایان یک بوت موفق در نظر گرفته شده است. واحد systemd-bless-boot.service این دستور را فراخوانی می‌کند.

افزوده شده در نگارش 240.

bad

هنگام فراخوانی، شمارنده «تلاش‌های باقی‌مانده» (tries left) در نام فایل مدخل بوت‌لودر یا نام فایل تصویر هسته یکپارچه روی صفر تنظیم می‌شود و مدخل بوت‌لودر یا تصویر هسته را به عنوان "bad" علامت‌گذاری می‌کند، تا بوت‌لودر در بوت‌های بعدی دیگر آن را مد نظر قرار ندهد (حداقل تا زمانی که مدخل‌های دیگری در دسترس باشند که هنوز به عنوان "bad" علامت‌گذاری نشده‌اند). این دستور معمولاً اجرا نمی‌شود، اما می‌تواند در صورت تشخیص یک مشکل، برای پایان دادن فوری به منطق شمارش بوت و علامت‌گذاری دائمی مدخل بوت به عنوان خراب استفاده شود.

افزوده شده در نگارش 240.

indeterminate

این دستور هرگونه علامت‌گذاری فایل مدخل بوت‌لودر یا فایل تصویر هسته یکپارچه جاری به عنوان خوب یا بد را لغو می‌کند. این کار با تغییر نام فایل مدخل بوت‌لودر یا فایل تصویر هسته یکپارچه به همان مسیری که در متغیر EFI با نام LoaderBootCountPath کدگذاری شده است انجام می‌شود. توجه داشته باشید که اگر هسته جاری با فعال بودن شمارش بوت راه‌اندازی نشده باشد (یعنی اگر متغیر EFI تنظیم نشده باشد)، این عملیات با شکست مواجه خواهد شد. اگر شمارنده بوت قبلاً در یک بوت قبلی به صفر تلاش باقی‌مانده رسیده باشد نیز این عملیات ناموفق خواهد بود: هنگامی که یک مدخل به عنوان bad علامت‌گذاری شود، فقط می‌توان مجدداً آن را به good بازنشانی کرد، نه به indeterminate.

افزوده شده در نگارش 240.

-h, --help

یک متن راهنمای کوتاه چاپ کرده و خارج می‌شود.

--version

اطلاعات نگارش برنامه را چاپ کرده و خارج می‌شود.

systemd(1), systemd-boot(7), systemd.special(7)

1.
UAPI.1 Boot Loader Specification
systemd 261.2