systemd-sysinstall, systemd-sysinstall.service -
نصبکننده
ساده
سیستمعامل
systemd-sysinstall [OPTIONS...] [BLOCKDEVICE]
systemd-sysinstall.service
systemd-sysinstall یک
ابزار ساده
نصب
سیستمعامل
مبتنی بر
ترمینال و
خط فرمان
است. کاربرد
اصلی آن،
عملکرد به
عنوان یک
رابط
تعاملی با
شروع
خودکار
هنگام بوت
شدن از یک
رسانه نصب
(مانند یک
حافظه USB) به
منظور نصب
سیستمعامل
بر روی دیسک
هدف است. با
این حال،
میتواند
مستقیماً
از درون یک
شل نیز
فراخوانی
شود. این
ابزار
مراحل زیر
را اجرا
میکند:
1.از
کاربر دیسک
هدف را برای
نصب
سیستمعامل
درخواست
میکند. (مگر
اینکه
دستگاه
بلوکی از
قبل در خط
فرمان مشخص
شده باشد.)
2.مناسب
بودن دیسک
(یعنی به
اندازه
کافی بزرگ
بودن و
داشتن فضای
آزاد/پارتیشنبندینشده
کافی) را
برای نصب
سیستمعامل
اعتبارسنجی
میکند. اگر
دیسک در
حالت کلی
مناسب
باشد، از
کاربر
پرسیده
میشود که
آیا
میخواهد
قبل از نصب
دیسک را پاک
کند، یا
سیستمعامل
باید به
پارتیشنهای
موجود روی
دیسک اضافه
شود (مورد
دوم تنها در
صورتی که
فضای دیسک
آزاد/پارتیشنبندینشده
کافی در
دسترس
باشد).
3.از
کاربر
میپرسد که
آیا
سیستمعامل
تازه
نصبشده در
منوی
گزینههای
بوت
سفتافزار
ثبت شود یا
خیر.
4.پس از
نمایش
خلاصهای
از نصب
برنامهریزیشده
سیستمعامل،
از کاربر
تاییدیه
درخواست
میکند.
5.دستور
encrypt از
systemd-creds(1) را
فراخوانی
میکند تا
فایلهای
اعتبارنامه
سیستمی
رمزنگاریشده
(قفلشده با
TPM، در صورت
وجود) را
برای چند
تنظیم
بسیار
پایهای
سیستمِ در
حال حاضر
بوتشده
(زبان و
محلیسازی،
نگاشت
کلیدها،
منطقه
زمانی)
تولید کند،
که آنها را
روی دیسک
هدف نصب
کرده و هسته
فراخوانیشده
را
پارامتربندی
مینماید.
(به عبارت
دیگر،
تمهیداتی
فراهم
میکند تا
برخی
تنظیماتی
که
هماکنون
روی سیستم
نصبکننده
اعمال
شدهاند،
به صورت امن
به نصب جدید
منتقل
شوند.)
6.دستور
systemd-repart(8) را با
دایرکتوری
تعاریف /usr/lib/repart.sysinstall.d/
فراخوانی
میکند
(تنها در
صورتی که
این مسیر پر
باشد – در
غیر این
صورت از
مسیر
پیشفرض /usr/lib/repart.d/
استفاده
خواهد کرد).
این مرحله
وظیفه دارد
ساختار
پایهای
پارتیشن
سیستمعامل
را روی دیسک
هدف ایجاد
کند و
پارتیشنهای
اصلی
سیستمعامل
(بهویژه
ساختار
سلسلهمراتبی
/usr/ ) را کپی
نماید.
7.دستور
link
از
bootctl(1) را
فراخوانی
میکند تا
یک ایمیج
هسته
سیستمعامل
را همراه با
فایلهای
اعتبارنامه
که پیشتر
آماده
شدهاند،
بر روی ESP/XBOOTLDR
دیسک هدف
نصب کند.
9.پس از
دریافت
تاییدیه،
سیستم را
بازراهاندازی
میکند.
توجه
داشته
باشید که
پرسشها/تاییدیه
میتوانند
از طریق خط
فرمان
غیرفعال
شوند که این
امر امکان
نصب کاملاً
خودکار و
غیرتعاملی
را فراهم
میکند؛ به
بخش زیر
مراجعه
کنید.
توجه
داشته
باشید که
این ابزار
از کاربر به
صورت
تعاملی
درباره
ایجاد
کاربر جدید
یا تعیین
گذرواژه
ریشه (root) در
سیستم هدف
سوالی
نمیپرسد،
با این فرض
که این
پرسشها
بهتر است در
طول فرآیند
اولین بوت
سیستم تازه
نصبشده
مطرح شوند؛
به عنوان
مثال از
طریق
مؤلفههای
systemd-firstboot(1) یا
systemd-homed-firstboot.service. توجه
داشته
باشید که در
صورت نیاز،
چنین
تنظیماتی
میتوانند
صریحاً از
طریق سوییچ
--load-credential= در زیر
منتقل
شوند.
گزینههای
زیر
پشتیبانی
میشوند:
--definitions=
مسیر
دایرکتوریای
که
systemd-repart
تعاریف
پارتیشن
خود را از
آنجا
میخواند،
بازنویسی
میکند و به
جای مسیر
پیشفرض
/usr/lib/repart.sysinstall.d/ قرار
میدهد.
در نسخه 261
اضافه شده
است.
--welcome=
یک
آرگومان
بولی
میگیرد.
نمایش یا
عدم نمایش
متن
خوشآمدگویی
کوتاه که
معمولاً در
ابتدای نصب
نشان داده
میشود را
کنترل
میکند.
مقدار
پیشفرض true
است.
در نسخه 261
اضافه شده
است.
--chrome=
یک
آرگومان
بولی
میگیرد.
نمایش
نوارهای
رنگی در
بالا و
پایین رابط
ترمینال را
کنترل
میکند.
مقدار
پیشفرض true
است.
در نسخه 261
اضافه شده
است.
--erase=
یک
آرگومان
بولی
میگیرد.
پاک کردن یا
نکردن
محتویات
فعلی دیسک
هدف را
کنترل
میکند. اگر
از این
سوییچ
استفاده
نشود، از
کاربر سوال
پرسیده
میشود.
در نسخه 261
اضافه شده
است.
--confirm=
یک
آرگومان
بولی
میگیرد.
کنترل
میکند که
آیا قبل از
شروع نصب
سیستمعامل،
تاییدیه به
صورت
تعاملی از
کاربر
پرسیده شود
یا خیر.
مقدار
پیشفرض true
است.
در نسخه 261
اضافه شده
است.
--reboot=
یک
آرگومان
بولی
میگیرد.
راهاندازی
مجدد سیستم
پس از تکمیل
نصب را
کنترل
میکند.
مقدار
پیشفرض false
است.
در نسخه 261
اضافه شده
است.
--variables=
یک
آرگومان
بولی
میگیرد.
ثبت
بوتلودر
نصبشده در
پایگاهداده
گزینههای
بوت
سفتافزار
را کنترل
میکند. در
صورت عدم
تعیین، از
کاربر
پرسیده
خواهد شد.
در نسخه 261
اضافه شده
است.
--summary=
یک
آرگومان
بولی
میگیرد.
کنترل
میکند که
آیا قبل از
درخواست
تایید برای
ادامه نصب
سیستمعامل،
خلاصهای
از
گزینههای
انتخابشده
نشان داده
شود یا خیر.
مقدار
پیشفرض true
است.
در نسخه 261
اضافه شده
است.
--kernel=
مسیری به
یک ایمیج
هسته
یکپارچه (UKI)
میگیرد. به
طور صریح
ایمیج هسته
را برای نصب
روی دیسک
هدف انتخاب
میکند. اگر
مشخص نشود،
ایمیج هسته
بوتشده
فعلی روی
دیسک هدف
نصب میشود.
در نسخه 261
اضافه شده
است.
--set-credential=id:value
یک
اعتبارنامه
سیستمی
اضافی را
میپذیرد
تا
رمزنگاری
شود (با
کلیدی که
روی TPM محلی
تولید شده
در صورت
وجود، و در
غیر این
صورت کلید
تهی/null) و در
کنار ایمیج
هسته
نصبشده در ESP
قرار گیرد.
این گزینه
میتواند
برای
پارامتربندی
هسته
نصبشده با
اعتبارنامههای
دلخواه
سیستم
استفاده
شود. از این
سوییچ برای
دادههای
حساس (مانند
گذرواژهها)
استفاده
نکنید؛ در
عوض از
--load-credential=
استفاده
کنید، به
بخش زیر
مراجعه
نمایید. این
گزینه
میتواند
چند بار
برای
پیکربندی
چندین
اعتبارنامه
استفاده
شود.
توجه
داشته
باشید که سه
اعتبارنامه
سیستمی به
روشی مشابه
به سیستم
هدف منتقل
میشوند:
محلیسازی
(locale)، نگاشت
کلیدها (keymap) و
منطقه
زمانی (timezone).
این رفتار
میتواند
توسط
گزینههای
مربوطه
--copy-locale=، --copy-keymap= و
--copy-timezone= در زیر
کنترل شود.
برای
فهرستی از
اعتبارنامههای
سیستمی
شناختهشده
که
میتوانند
از این طریق
منتقل
شوند، به
systemd.system-credentials(7)
مراجعه
کنید. (توجه
داشته
باشید که
میتوانید
اعتبارنامههای
اضافی
دلخواه را
از این طریق
منتقل کنید
که
میتوانند
توسط هر
سرویس
انتخابی
شما از طریق
منطق معمول
اعتبارنامههای
سیستم مصرف
شوند.)
در نسخه 261
اضافه شده
است.
--load-credential=id:path
مشابه
--set-credential= است اما
مقدار
اعتبارنامه
را از یک
فایل روی
دیسک یا یک
سوکت
AF_UNIX در
سیستم فایل
میخواند.
این گزینه
معمولاً
برای
دادههای
حساس،
مانند
گذرواژهها،
ترجیح داده
میشود.
در نسخه 261
اضافه شده
است.
--copy-locale=, --copy-keymap=,
--copy-timezone=
این
گزینهها
پارامترهای
بولی
میپذیرند.
آنها
کنترل
میکنند که
آیا
تنظیمات
سیستمی
مشخصشده
باید از
سیستم در
حال اجرای
فعلی به نصب
جدید
سیستمعامل
هدف منتقل
شوند یا خیر.
پیشفرض
این
گزینهها true
است.
به طور
معمول، این
سه تنظیم
حداقل
تنظیماتی
هستند که
باید در
مراحل
اولیه بوت
یک رسانه
نصب
پیکربندی
شوند تا
ابزار نصب
برای کاربر
قابل
دسترسی
باشد. ابزار
systemd-firstboot(1)
میتواند
هنگام بوت
شدن رسانه
نصب
سیستمعامل
برای این
خصوصیات،
از کاربر به
صورت
تعاملی
سوال بپرسد.
با انتقال
این
تنظیمات به
نصب هدف از
طریق
اعتبارنامههای
سیستم،
نیازی به
پرسش مجدد
آنها در
اولین بوت
نصب جدید
نیست.
در نسخه 261
اضافه شده
است.
--mute-console=
یک
آرگومان
بولی
میگیرد.
کنترل
میکند که
آیا خروجی
لاگ هسته و
مدیر سرویس
به کنسولی
که
نصبکننده
روی آن
فراخوانی
شده در حین
اجرا
موقتاً
غیرفعال
شود تا از
تداخل
خروجیها
جلوگیری
گردد یا خیر.
مقدار
پیشفرض false
است.
در نسخه 261
اضافه شده
است.
-h, --help
یک متن
راهنمای
کوتاه را
چاپ کرده و
خارج
میشود.
--version
یک رشته
نگارش
کوتاه را
چاپ کرده و
خارج
میشود.
در صورت
موفقیت 0 و در
غیر این
صورت یک کد
خطای غیر
صفر
برگردانده
میشود.
مثال 1. فراخوانی
ابزار برای
یک نصب
کاملاً
خودکار و
غیرتعاملی
سیستمعامل
systemd-sysinstall \
/dev/disk/by-id/nvme-Micron_MTFDKBA1T0TFH_214532D0CDA5 \
--erase=yes \
--confirm=no \
--variables=yes \
--load-credential=ssh.authorized_keys.root:my-ssh-key
این دستور
سیستمعامل
را روی دیسک
انتخابشده
نصب
میکند،
محتویات
قبلی را
بدون
تاییدیه
پاک
مینماید،
آن را در
سفتافزار
ثبت میکند
و کلید SSH را
برای کاربر
root که از فایل
my-ssh-key در
دایرکتوری
جاری
خوانده
شده، مستقر
میسازد.