SYSTEMD-SYSINSTALL(8) systemd-sysinstall SYSTEMD-SYSINSTALL(8)

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 دیسک هدف نصب کند.
8.دستور install از bootctl(1) را فراخوانی می‌کند تا بوت‌لودر systemd-boot(7) را روی ESP دیسک هدف نصب نماید.
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 در دایرکتوری جاری خوانده شده، مستقر می‌سازد.

systemd(1), systemd-creds(1), systemd-repart(8), bootctl(1), systemd-firstboot(1), systemd-boot(7), systemd.system-credentials(7)

systemd 261.2