'" t .TH "KERNEL\-INSTALL" "8" "" "systemd 261.2" "kernel-install" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" kernel-install \- افزودن و حذف ایمیج‌های هسته و initramfs در پارتیشن بوت .SH "خلاصه دستور (SYNOPSIS)" .HP \w'\fBkernel\-install\fR\ 'u \fBkernel\-install\fR [OPTIONS...] add \fIKERNEL\-VERSION\fR \fIKERNEL\-IMAGE\fR [\fIINITRD\-FILE\fR...] .HP \w'\fBkernel\-install\fR\ 'u \fBkernel\-install\fR [OPTIONS...] add\-all .HP \w'\fBkernel\-install\fR\ 'u \fBkernel\-install\fR [OPTIONS...] remove \fIKERNEL\-VERSION\fR .HP \w'\fBkernel\-install\fR\ 'u \fBkernel\-install\fR [OPTIONS...] inspect [\fIKERNEL\-VERSION\fR] [\fIKERNEL\-IMAGE\fR] [\fIINITRD\-FILE\fR...] .HP \w'\fBkernel\-install\fR\ 'u \fBkernel\-install\fR [OPTIONS...] list .SH "توضیحات (DESCRIPTION)" .PP دستور \fBkernel\-install\fR برای نصب و حذف ایمیج‌های هسته و initrd \&\s-2\u[1]\d\s+2 در و از پارتیشن بوت استفاده می‌شود که در اینجا با عنوان \fI$BOOT\fR به آن اشاره شده است\&. این پارتیشن معمولاً یکی از مسیرهای /boot/، /efi/ یا /boot/efi/ خواهد بود، به ادامه مراجعه کنید\&. .PP دستور \fBkernel\-install\fR فایل‌های اجرایی (با عنوان «پلاگین») موجود در دایرکتوری /usr/lib/kernel/install\&.d/ و دایرکتوری محلی مدیریتی /etc/kernel/install\&.d/ را اجرا می‌کند\&. تمام فایل‌ها بدون در نظر گرفتن دایرکتوری که در آن قرار دارند، به صورت سراسری مرتب شده و به ترتیب لغوی (lexicographic) اجرا می‌شوند\&. با این حال، فایل‌های با نام یکسان جایگزین یکدیگر می‌شوند\&. فایل‌های موجود در /etc/kernel/install\&.d/ نسبت به فایل‌های با نام یکسان در /usr/lib/kernel/install\&.d/ اولویت دارند\&. از این سازوکار می‌توان در صورت نیاز برای بازنویسی و جایگزینی فایل‌های اجرایی ارائه‌شده توسط سیستم با یک فایل محلی استفاده کرد؛ ایجاد یک پیوند نمادین در /etc/kernel/install\&.d/ هم‌نام با یک فایل اجرایی در /usr/lib/kernel/install\&.d/ که به /dev/null اشاره کند، آن فایل اجرایی را به طور کامل غیرفعال می‌کند\&. فایل‌های اجرایی باید دارای پسوند "\&.install" باشند؛ از سایر پسوندها صرف‌نظر می‌شود\&. .PP یک فایل اجرایی قرار داده شده در این دایرکتوری‌ها باید در صورت موفقیت مقدار \fB0\fR را برگرداند\&. همچنین ممکن است مقدار \fB77\fR را بازگرداند تا کل عملیات خاتمه یابد (فایل‌های اجرایی که بعداً در ترتیب لغوی قرار دارند نادیده گرفته خواهند شد)\&. .SH "دستورات (COMMANDS)" .PP دستورات زیر پشتیبانی می‌شوند: .PP \fBadd [[[\fR\fB\fIKERNEL\-VERSION\fR\fR\fB] \fR\fB\fIKERNEL\-IMAGE\fR\fR\fB] [\fR\fB\fIINITRD\-FILE\fR\fR\fB \&.\&.\&.]]\fR .RS 4 این دستور یک رشته نسخه هسته و یک مسیر به فایل ایمیج هسته را به عنوان آرگومان دریافت می‌کند\&. اگر آرگومان اول حذف شود، به عنوان یک رشته خالی یا به عنوان "\-" مشخص گردد، به طور پیش‌فرض نسخه فعلی هسته در نظر گرفته می‌شود، یعنی همان رشته‌ای که دستور \fBuname \-r\fR برمی‌گرداند\&. اگر آرگومان دوم حذف شود، به عنوان یک رشته خالی یا به عنوان "\-" مشخص گردد، مقدار پیش‌فرض آن /usr/lib/modules/\fIKERNEL_VERSION\fR/vmlinuz خواهد بود\&. به صورت اختیاری، یک یا چند ایمیج initrd نیز ممکن است مشخص شود (توجه داشته باشید که پلاگین‌ها ممکن است ایمیج‌های اضافی نیز تولید کنند)\&. .sp فایل‌های اجرایی از /usr/lib/kernel/install\&.d/*\&.install و /etc/kernel/install\&.d/*\&.install (یعنی همان پلاگین‌ها) با آرگومان‌های زیر فراخوانی می‌شوند: .sp .if n \{\ .RS 4 .\} .nf add \fIKERNEL\-VERSION\fR $BOOT/\fIENTRY\-TOKEN\fR/\fIKERNEL\-VERSION\fR/ \fIKERNEL\-IMAGE\fR [\fIINITRD\-FILE\fR \&.\&.\&.] .fi .if n \{\ .RE .\} .sp آرگومان سوم مستقیماً به مسیری اشاره دارد که ایمیج‌های هسته، ایمیج‌های initrd و سایر منابع برای ورودی‌های نوع اول (#1) \m[blue]\fBUAPI\&.1 Boot Loader Specification\fR\m[]\&\s-2\u[2]\d\s+2 در آن قرار می‌گیرند («دایرکتوری ورودی» یا entry directory)\&. اگر از سایر طرح‌های بارگذار بوت (boot loader) استفاده شود، این پارامتر ممکن است نادیده گرفته شود\&. .sp رشته \fIENTRY\-TOKEN\fR معمولاً همان شناسه ماشین (machine ID) است و قرار است نصب محلی روی سیستم را شناسایی کند\&. برای جزئیات به بخش‌های زیر مراجعه کنید\&. .sp دستور \fBkernel\-install\fR در صورت فعال بودن، مسیر $BOOT/\fIENTRY\-TOKEN\fR/\fIKERNEL\-VERSION\fR را ایجاد می‌کند (متغیر \fI$KERNEL_INSTALL_LAYOUT\fR را ببینید)\&. .sp سه پلاگین پیش‌فرض در این حالت عملیات زیر را اجرا می‌کنند: .PP 50\-depmod\&.install .RS 4 این پلاگین دستور \fBdepmod\fR(8) را برای \fIKERNEL\-VERSION\fR اجرا می‌کند\&. .RE .PP 90\-loaderentry\&.install .RS 4 این پلاگین \fIKERNEL\-IMAGE\fR را در مسیر $BOOT/\fIENTRY\-TOKEN\fR/\fIKERNEL\-VERSION\fR/linux کپی می‌کند\&. اگر \fIINITRD\-FILE\fRها ارائه شده باشند، آن‌ها را نیز در مسیر $BOOT/\fIENTRY\-TOKEN\fR/\fIKERNEL_VERSION\fR/\fIINITRD\-FILE\fR کپی می‌کند\&. همچنین می‌توان از این سازوکار برای قرار دادن میکروکد (microcode) قبل از initrd اصلی استفاده کرد\&. این پلاگین علاوه بر این، یک ورودی بارگذار بوت بر اساس \m[blue]\fBUAPI\&.1 Boot Loader Specification\fR\m[]\&\s-2\u[2]\d\s+2 (نوع ۱) در $BOOT/loader/entries/\fIENTRY\-TOKEN\fR\-\fIKERNEL\-VERSION\fR\&.conf ایجاد می‌کند\&. عنوان این ورودی پارامتر \fIPRETTY_NAME\fR مشخص‌شده در /etc/os\-release یا /usr/lib/os\-release (در صورت نبود اولی) است، یا در صورت تنظیم نشدن، "Linux \fIKERNEL\-VERSION\fR" خواهد بود\&. .sp اگر مقدار \fI$KERNEL_INSTALL_LAYOUT\fR برابر با "bls" نباشد، این پلاگین هیچ کاری انجام نمی‌دهد\&. .RE .PP 90\-uki\-copy\&.install .RS 4 اگر فایل \fI$KERNEL_INSTALL_STAGING_AREA/uki\&.efi\fR وجود داشته باشد، این پلاگین آن را در مسیر $BOOT/EFI/Linux/\fIENTRY\-TOKEN\fR\-\fIKERNEL\-VERSION\fR\&.efi کپی می‌کند\&. همچنین، فایل‌های موجود در $KERNEL_INSTALL_STAGING_AREA/uki\&.efi\&.extra\&.d"/ در مسیر $BOOT/EFI/Linux/\fIENTRY\-TOKEN\fR\-\fIKERNEL\-VERSION\fR\&.efi\&.extra\&.d/ کپی می‌شوند\&. .sp اگر فایل \fI$KERNEL_INSTALL_STAGING_AREA/uki\&.efi\fR وجود نداشته باشد و آرگومان \fIKERNEL\-IMAGE\fR دارای پسوند "\&.efi" باشد، پلاگین ایمیج را در مسیر $BOOT/EFI/Linux/\fIENTRY\-TOKEN\fR\-\fIKERNEL\-VERSION\fR\&.efi کپی می‌کند\&. همچنین، فایل‌های موجود در \fIKERNEL\-IMAGE\fR\&.extra\&.d/ و $KERNEL_INSTALL_STAGING_AREA/uki\&.efi\&.extra\&.d"/ در مسیر $BOOT/EFI/Linux/\fIENTRY\-TOKEN\fR\-\fIKERNEL\-VERSION\fR\&.efi\&.extra\&.d/ کپی می‌شوند\&. .sp اگر مقدار \fI$KERNEL_INSTALL_LAYOUT\fR برابر با "uki" نباشد، این پلاگین هیچ کاری انجام نمی‌دهد\&. .RE .sp افزوده‌شده در نسخه 198\&. .RE .PP \fBadd\-all\fR .RS 4 این دستور همانند \fBadd\fR است (به بالا مراجعه کنید)، اما عملیات را به صورت تکرارشونده برای هر هسته نصب‌شده در /usr/lib/modules/ فراخوانی می‌کند\&. این عملیات فقط در سیستم‌هایی پشتیبانی می‌شود که ایمیج هسته در مسیر /usr/lib/modules/\fIKERNEL\-VERSION\fR/vmlinuz نصب شده باشد\&. .sp افزوده‌شده در نسخه 255\&. .RE .PP \fBremove \fR\fB\fIKERNEL\-VERSION\fR\fR .RS 4 این دستور رشته نسخه هسته را به عنوان تنها آرگومان خود انتظار دارد\&. .sp فایل‌های اجرایی از /usr/lib/kernel/install\&.d/*\&.install و /etc/kernel/install\&.d/*\&.install (یعنی همان پلاگین‌ها) با آرگومان‌های زیر فراخوانی می‌شوند: .sp .if n \{\ .RS 4 .\} .nf remove \fIKERNEL\-VERSION\fR $BOOT/\fIENTRY\-TOKEN\fR/\fIKERNEL\-VERSION\fR/ .fi .if n \{\ .RE .\} .sp سپس، \fBkernel\-install\fR دایرکتوری ورودی $BOOT/\fIENTRY\-TOKEN\fR/\fIKERNEL\-VERSION\fR/ و محتویات آن را (در صورت وجود) حذف می‌کند\&. .sp سه پلاگین پیش‌فرض در این حالت عملیات زیر را اجرا می‌کنند: .PP 50\-depmod\&.install .RS 4 پلاگین، فایل‌های تولیدشده توسط \fBdepmod\fR برای این هسته را مجدداً حذف می‌کند\&. .RE .PP 90\-loaderentry\&.install .RS 4 پلاگین فایل $BOOT/loader/entries/\fIENTRY\-TOKEN\fR\-\fIKERNEL\-VERSION\fR\&.conf را حذف می‌کند\&. .RE .PP 90\-uki\-copy\&.install .RS 4 پلاگین فایل $BOOT/EFI/Linux/\fIENTRY\-TOKEN\fR\-\fIKERNEL\-VERSION\fR\&.efi و دایرکتوری $BOOT/EFI/Linux/\fIENTRY\-TOKEN\fR\-\fIKERNEL\-VERSION\fR\&.efi\&.extra\&.d/ شامل محتویات آن را حذف می‌کند\&. .RE .sp افزوده‌شده در نسخه 198\&. .RE .PP \fBinspect [[[\fR\fB\fIKERNEL\-VERSION\fR\fR\fB] \fR\fB\fIKERNEL\-IMAGE\fR\fR\fB] [\fR\fB\fIINITRD\-FILE\fR\fR\fB \&.\&.\&.]]\fR .RS 4 همان پارامترهای \fBadd\fR را می‌پذیرد\&. .sp مسیرها و پارامترهای گوناگون پیکربندی‌شده یا شناسایی‌شده خودکار را نمایش می‌دهد\&. به طور ویژه مقادیر متغیرهای محیطی مختلف \fI$KERNEL_INSTALL_*\fR فهرست‌شده در زیر را همان‌طور که به پلاگین‌ها ارسال می‌شوند نشان می‌دهد\&. می‌توان از گزینه \fB\-\-json\fR برای دریافت خروجی این زیردستور در قالب یک شیء JSON استفاده کرد\&. .sp افزوده‌شده در نسخه 251\&. .RE .PP \fBlist\fR .RS 4 هسته‌های مختلف نصب‌شده را نشان می‌دهد\&. این دستور زیردایرکتوری‌های /usr/lib/modules/ را شمارش کرده و نشان می‌دهد آیا ایمیج هسته در آنجا نصب شده است یا خیر\&. .sp افزوده‌شده در نسخه 255\&. .RE .SH "سازگاری با سامانه ساخت هسته (COMPATIBILITY WITH THE KERNEL BUILD SYSTEM)" .HP \w'\fBinstallkernel\fR\ 'u \fBinstallkernel\fR [OPTIONS...] VERSION VMLINUZ [MAP] [INSTALLATION\-DIR] .PP هنگامی که به صورت \fBinstallkernel\fR فراخوانی شود، این برنامه آرگومان‌ها را همان‌طور که توسط دستور \fBmake install\fR سامانه ساخت هسته مشخص شده است می‌پذیرد\&. پارامترهای \fIVERSION\fR و \fIVMLINUZ\fR نسخه هسته و باینری هسته را مشخص می‌کنند\&. دو پارامتر دیگر (\fIMAP\fR و \fIINSTALLATION\-DIR\fR) در حال حاضر نادیده گرفته می‌شوند\&. .SH "پارتیشن \FI$BOOT\FR (THE \FI$BOOT\FR PARTITION)" .PP پارتیشنی که هسته‌ها و قطعه‌کدهای \m[blue]\fBUAPI\&.1 Boot Loader Specification\fR\m[]\&\s-2\u[2]\d\s+2 در آن قرار دارند، \fI$BOOT\fR نامیده می‌شود\&. دستور \fBkernel\-install\fR موقعیت این پارتیشن را با بررسی به ترتیب مسیرهای /efi/، /boot/ و /boot/efi/ تعیین می‌کند\&. اولین مکانی که در آن $BOOT/loader/entries/ یا $BOOT/\fIENTRY\-TOKEN\fR/ وجود داشته باشد استفاده می‌شود\&. .SH "گزینه‌ها (OPTIONS)" .PP گزینه‌های زیر پشتیبانی می‌شوند: .PP \fB\-\-esp\-path=\fR .RS 4 مسیر به پارتیشن سیستمی EFI (موسوم به ESP)\&. اگر مشخص نشود، مسیرهای /efi/، /boot/ و /boot/efi/ به ترتیب بررسی می‌شوند\&. توصیه می‌شود در صورت امکان ESP در مسیر /efi/ سوار (mount) شود\&. .RE .PP \fB\-\-boot\-path=\fR .RS 4 مسیر به پارتیشن توسعه‌یافته بارگذار بوت (Extended Boot Loader partition)، همان‌طور که در \m[blue]\fBUAPI\&.1 Boot Loader Specification\fR\m[]\&\s-2\u[2]\d\s+2 تعریف شده است\&. اگر مشخص نشود، مسیر /boot/ بررسی می‌شود\&. توصیه می‌شود در صورت امکان پارتیشن توسعه‌یافته بارگذار بوت در مسیر /boot/ سوار شود\&. .RE .PP \fB\-\-make\-entry\-directory=yes|no|auto\fR .RS 4 ایجاد و حذف دایرکتوری ورودی نوع اول (#1) بر اساس \m[blue]\fBUAPI\&.1 Boot Loader Specification\fR\m[]\&\s-2\u[2]\d\s+2 را روی فایل‌سیستم حاوی منابعی مانند ایمیج‌های هسته و initrd به ترتیب در طول \fBadd\fR و \fBremove\fR کنترل می‌کند\&. نام این دایرکتوری بر اساس توکن ورودی (entry token) تعیین شده و بلافاصله در زیر دایرکتوری ریشه بوت قرار می‌گیرد\&. در حالت "auto"، این دایرکتوری تنها زمانی ایجاد یا حذف می‌شود که طرح‌بندی نصب برابر با "bls" باشد\&. مقدار پیش‌فرض "auto" است\&. .sp افزوده‌شده در نسخه 254\&. .RE .PP \fB\-\-entry\-type=type1|type2|all\fR .RS 4 نوع ورودی‌های پردازش‌شده توسط دستور را کنترل می‌کند\&. این گزینه معمولاً زمانی مفید است که چندین نوع ورودی بوت با نسخه یکسان هسته نصب شده باشند و فقط یکی از آن‌ها باید حذف شود\&. زمانی که "type1" یا "type2" مشخص شود، هر پلاگین با متغیر محیطی \fI$KERNEL_INSTALL_BOOT_ENTRY_TYPE\fR تنظیم‌شده روی مقدار مشخص‌شده فراخوانی می‌شود\&. زمانی که "all" مشخص شود، این متغیر محیطی تنظیم نخواهد شد\&. مقدار پیش‌فرض "all" است\&. .sp افزوده‌شده در نسخه 258\&. .RE .PP \fB\-\-entry\-token=\fR .RS 4 نحوه نام‌گذاری و شناسایی ورودی‌های بارگذار بوت را برای عملیات نصب یا حذف این هسته کنترل می‌کند\&. یکی از مقادیر "auto"، "machine\-id"، "os\-id"، "os\-image\-id" یا یک رشته دلخواه با پیشوند "literal:" را به عنوان آرگومان می‌پذیرد\&. .sp اگر روی \fBmachine\-id\fR تنظیم شود، ورودی‌ها بر اساس شناسه ماشین سیستم در حال اجرا نام‌گذاری می‌شوند (به عنوان مثال "b0e793a9baf14b5fa13ecbe84ff637ac")\&. برای جزئیات بیشتر درباره مفهوم و فایل شناسه ماشین، \fBmachine-id\fR(5) را ببینید\&. .sp اگر روی \fBos\-id\fR تنظیم شود، ورودی‌ها بر اساس شناسه سیستم‌عامل سیستم در حال اجرا نام‌گذاری می‌شوند، یعنی فیلد \fIID=\fR در \fBos-release\fR(5) (به عنوان مثال "fedora")\&. به طور مشابه، اگر روی \fBos\-image\-id\fR تنظیم شود، ورودی‌ها بر اساس شناسه ایمیج سیستم‌عامل در حال اجرا نام‌گذاری می‌شوند، یعنی فیلد \fIIMAGE_ID=\fR در os\-release (به عنوان مثال "vendorx\-cashier\-system")\&. .sp اگر روی \fBauto\fR (پیش‌فرض) تنظیم شود، فایل /etc/kernel/entry\-token (یا $KERNEL_INSTALL_CONF_ROOT/entry\-token) در صورت وجود خوانده شده و مقدار ذخیره‌شده در آن استفاده می‌شود\&. در غیر این صورت، اگر شناسه ماشین محلی مقداردهی شده باشد، از آن استفاده می‌شود\&. در غیر این صورت، مقدار \fIIMAGE_ID=\fR از os\-release در صورت تنظیم بودن استفاده خواهد شد\&. در غیر این صورت، مقدار \fIID=\fR از os\-release در صورت تنظیم بودن استفاده خواهد شد\&. در غیر این صورت، یک شناسه ماشین تصادفی ایجاد شده و استفاده می‌شود\&. .sp استفاده از شناسه ماشین برای نام‌گذاری ورودی‌ها عموماً ارجحیت دارد، با این حال مواردی وجود دارد که استفاده از سایر شناسه‌ها گزینه بهتری است\&. به طور مشخص: در صورتی که داده‌های هویتی حاصل از شناسه ماشین نباید در پارتیشن (رمزنگاری‌نشده) \fI$BOOT_ROOT\fR ذخیره شوند، یا در صورتی که شناسه باید در اولین بوت ایجاد شود و هنگام آماده‌سازی ورودی‌ها هنوز مشخص نیست\&. توجه داشته باشید که استفاده از شناسه ماشین این مزیت را دارد که چندین نصب موازی از یک سیستم‌عامل یکسان می‌توانند روی یک رسانه مشترک همزیستی داشته باشند و ورودی‌های بارگذار بوت خود را به طور مستقل به‌روزرسانی کنند\&. هنگام استفاده از شناسه‌ای دیگر (مانند شناسه سیستم‌عامل یا شناسه ایمیج سیستم‌عامل)، نصب‌های موازی از سیستم‌عامل یکسان تلاش خواهند کرد تا از همان نام ورودی استفاده کنند\&. برای پشتیبانی از نصب‌های موازی، برنامه نصب (installer) هنگام افزودن نصب دوم باید از توکن ورودی متفاوتی استفاده کند\&. .sp افزوده‌شده در نسخه 254\&. .RE .PP \fB\-v\fR, \fB\-\-verbose\fR .RS 4 خروجی اطلاعات اضافی درباره عملیات در حال انجام را چاپ می‌کند\&. .sp افزوده‌شده در نسخه 242\&. .RE .PP \fB\-\-root=\fR\fB\fIroot\fR\fR .RS 4 یک مسیر دایرکتوری را به عنوان آرگومان می‌پذیرد\&. تمام مسیرها با مسیر جایگزین \fIroot\fR مشخص‌شده پیشوند خواهند گرفت، از جمله مسیرهای جستجوی پیکربندی\&. این گزینه برای انجام عملیات روی یک ایمیج سیستمی که به جای سیستم میزبان در دایرکتوری مشخص‌شده سوار شده است کاربرد دارد\&. .sp افزوده‌شده در نسخه 255\&. .RE .PP \fB\-\-image=\fR\fB\fIimage\fR\fR .RS 4 یک مسیر به یک فایل ایمیج دیسک یا گره دستگاه بلاکی را می‌پذیرد\&. در صورت تعیین شدن، تمامی عملیات روی فایل‌سیستم موجود در ایمیج دیسک مشخص‌شده اعمال می‌شوند\&. این گزینه شبیه به \fB\-\-root=\fR است، اما روی فایل‌سیستم‌های ذخیره‌شده در ایمیج‌های دیسک یا دستگاه‌های بلاکی عمل می‌کند\&. ایمیج دیسک یا باید صرفاً شامل یک فایل‌سیستم باشد یا مجموعه‌ای از فایل‌سیستم‌ها در جدول پارتیشن GPT بر اساس \m[blue]\fBUAPI\&.2 Discoverable Partitions Specification\fR\m[]\&\s-2\u[3]\d\s+2\&. برای اطلاعات بیشتر در مورد ایمیج‌های دیسک پشتیبانی‌شده، سوییچ هم‌نام در \fBsystemd-nspawn\fR(1) را ببینید\&. .sp افزوده‌شده در نسخه 255\&. .RE .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 متن راهنمای کوتاهی را نمایش داده و خارج می‌شود\&. .RE .PP \fB\-\-version\fR .RS 4 اطلاعات کوتاه نسخه را چاپ کرده و خارج می‌شود\&. .RE .PP \fB\-\-no\-pager\fR .RS 4 خروجی را به یک صفحه‌بند (pager) هدایت نمی‌کند\&. .RE .PP \fB\-\-json=\fR\fB\fIMODE\fR\fR .RS 4 خروجی را در قالب JSON نمایش می‌دهد\&. یکی از مقادیر "short" (برای کوتاه‌ترین خروجی ممکن بدون فواصل اضافی یا شکست خط)، "pretty" (برای نسخه خوانا از همان خروجی همراه با تورفتگی و شکست خط) یا "off" (برای خاموش کردن خروجی JSON، که حالت پیش‌فرض است) را می‌پذیرد\&. .RE .PP \fB\-\-image\-policy=\fR\fB\fIpolicy\fR\fR .RS 4 یک رشته خط‌مشی ایمیج را به عنوان آرگومان می‌پذیرد، مطابق با \fBsystemd.image-policy\fR(7)\&. این خط‌مشی هنگام کار با ایمیج دیسک مشخص‌شده از طریق \fB\-\-image=\fR اعمال می‌شود، به بالا مراجعه کنید\&. در صورت مشخص نشدن، پیش‌فرض خط‌مشی "*" است، یعنی تمام فایل‌سیستم‌های شناخته‌شده در ایمیج استفاده می‌شوند\&. .RE .PP \fB\-\-no\-legend\fR .RS 4 راهنمای علائم (legend) را چاپ نمی‌کند، یعنی هدرهای ستون‌ها و پانوشت شامل راهنمایی‌ها نمایش داده نمی‌شوند\&. .RE .SH "محیط (ENVIRONMENT)" .SS "متغیرهای محیطی صادر شده برای پلاگین‌ها (Environment variables exported for plugins)" .PP اگر از گزینه \fB\-\-verbose\fR استفاده شود، متغیر \fI$KERNEL_INSTALL_VERBOSE=1\fR برای پلاگین‌ها صادر (export) خواهد شد\&. در این حالت پلاگین‌ها ممکن است گزارش‌های لاگ بیشتری ثبت کنند\&. .PP متغیر \fI$KERNEL_INSTALL_IMAGE_TYPE=uki|pe|unknown\fR برای پلاگین‌ها تنظیم می‌شود تا نوع ایمیج هسته را مشخص کند\&. .PP uki .RS 4 ایمیج یکپارچه هسته (Unified Kernel Image)\&. .sp افزوده‌شده در نسخه 254\&. .RE .PP pe .RS 4 باینری نوع PE\&. .sp افزوده‌شده در نسخه 254\&. .RE .PP unknown .RS 4 نوع نامشخص\&. .sp افزوده‌شده در نسخه 254\&. .RE .PP متغیر \fI$KERNEL_INSTALL_MACHINE_ID\fR برای پلاگین‌ها روی شناسه ماشین مورد نظر تنظیم می‌شود\&. این شناسه همیشه یک شناسه ۱۲۸ بیتی است\&. به طور معمول از /etc/machine\-id خوانده می‌شود، اما می‌تواند از طریق \fI$MACHINE_ID\fR نیز بازنویسی شود (به بخش زیر مراجعه کنید)\&. اگر از طریق این روش‌ها تعیین نشود، یک مقدار پشتیبان توسط \fBkernel\-install\fR ایجاد شده و تنها برای همان یک بار فراخوانی استفاده می‌شود\&. .PP متغیر \fI$KERNEL_INSTALL_ENTRY_TOKEN\fR برای پلاگین‌ها روی «توکن» ورودی مورد نظر تنظیم می‌شود\&. این مقداری هویتی است که برای شناسایی نصب محلی استفاده خواهد شد و اغلب همان شناسه ماشین است، یعنی معادل با \fI$KERNEL_INSTALL_MACHINE_ID\fR، اما می‌تواند نوع دیگری از شناسه نیز باشد، به عنوان مثال یک رشته ثابت یا مقادیر \fIID=\fR و \fIIMAGE_ID=\fR از /etc/os\-release\&. رشته ارائه‌شده در اینجا برای نام‌گذاری ورودی‌های مشخصات بارگذار بوت (Boot Loader Specification) یا دایرکتوری‌هایی که ایمیج هسته و ایمیج‌های دیسک رم اولیه (initial RAM disk) در آن‌ها قرار می‌گیرند، استفاده می‌شود\&. .PP توجه داشته باشید اگرچه \fI$KERNEL_INSTALL_ENTRY_TOKEN\fR و \fI$KERNEL_INSTALL_MACHINE_ID\fR اغلب روی مقادیر یکسان تنظیم می‌شوند، دومی تضمین شده است که یک شناسه معتبر ۳۲ کاراکتری در قالب هگزادسیمال حروف کوچک باشد، در حالی که اولی می‌تواند هر رشته کوتاهی باشد\&. توکن ورودی مورد استفاده در صورت وجود از /etc/kernel/entry\-token خوانده می‌شود\&. در غیر این صورت، چند نامزد احتمالی در زیر مسیر \fI$BOOT\fR برای دایرکتوری‌های ورودی نوع اول مشخصات بارگذار بوت بررسی می‌شوند و در صورت یافت شدن، توکن ورودی از آن استخراج می‌شود\&. اگر این کار موفقیت‌آمیز نباشد، مقدار \fI$KERNEL_INSTALL_MACHINE_ID\fR به عنوان مقدار پشتیبان (fallback) استفاده خواهد شد\&. .PP متغیر \fI$KERNEL_INSTALL_BOOT_ROOT\fR برای پلاگین‌ها روی مسیر مطلق دایرکتوری ریشه (معمولاً نقطه اتصال یا mount point) ساختاری که ورودی‌های بارگذار بوت، ایمیج‌های هسته و منابع مرتبط باید در آن قرار گیرند تنظیم می‌شود\&. این مسیر معمولاً همان مسیری است که پارتیشن XBOOTLDR یا ESP (پارتیشن سیستمی EFI) در آن سوار شده‌اند، و از نظر مفهومی نیز با نام \fI$BOOT\fR شناخته می‌شود\&. می‌توان آن را با تنظیم \fI$BOOT_ROOT\fR بازنویسی کرد (به بخش زیر مراجعه کنید)\&. .PP متغیر \fI$KERNEL_INSTALL_LAYOUT=auto|bls|uki|other|\&.\&.\&.\fR برای پلاگین‌ها تنظیم می‌شود تا طرح‌بندی نصب را مشخص کند\&. نام‌های طرح‌بندی اضافی را می‌توان بر اساس توافق تعریف کرد\&. اگر پلاگینی از طرح‌بندی خاصی استفاده می‌کند، توصیه می‌شود نام طرح‌بندی اختصاصی خود را اعلان کرده و در زمان نصب اولیه، مقدار \fIlayout=\fR را در install\&.conf پیکربندی کند\&. مقادیر زیر در حال حاضر پشتیبانی می‌شوند: .PP bls .RS 4 طرح‌بندی نوع اول (#1) استاندارد \m[blue]\fBUAPI\&.1 Boot Loader Specification\fR\m[]\&\s-2\u[2]\d\s+2، سازگار با \fBsystemd-boot\fR(7): ورودی‌ها در $BOOT/loader/entries/\fIENTRY\-TOKEN\fR\-\fIKERNEL\-VERSION\fR[+\fITRIES\fR]\&.conf و هسته و initrdها در زیر مسیر $BOOT/\fIENTRY\-TOKEN\fR/\fIKERNEL\-VERSION\fR/ قرار می‌گیرند\&. .sp پیاده‌سازی‌شده توسط 90\-loaderentry\&.install\&. .sp افزوده‌شده در نسخه 250\&. .RE .PP uki .RS 4 طرح‌بندی نوع دوم (#2) استاندارد \m[blue]\fBUAPI\&.1 Boot Loader Specification\fR\m[]\&\s-2\u[2]\d\s+2، سازگار با \fBsystemd-boot\fR(7): ایمیج‌های یکپارچه هسته در زیر مسیر $BOOT/EFI/Linux به صورت $BOOT/EFI/Linux/\fIENTRY\-TOKEN\fR\-\fIKERNEL\-VERSION\fR[+\fITRIES\fR]\&.efi\&. .sp پیاده‌سازی‌شده توسط 90\-uki\-copy\&.install\&. .sp افزوده‌شده در نسخه 253\&. .RE .PP other .RS 4 طرح‌بندی‌های دیگر که به صورت بومی توسط \fBkernel\-install\fR پشتیبانی نمی‌شوند\&. .sp افزوده‌شده در نسخه 250\&. .RE .PP auto .RS 4 طرح‌بندی را به صورت خودکار انتخاب می‌کند\&. اگر هسته از نوع UKI باشد، طرح‌بندی روی \fBuki\fR تنظیم می‌شود\&. اگر نباشد، در صورتی که فایل $BOOT/loader/entries\&.srel با محتوای "type1" یا مسیر $BOOT/\fIENTRY\-TOKEN\fR وجود داشته باشد، به طور پیش‌فرض روی \fBbls\fR قرار می‌گیرد؛ در غیر این صورت روی \fBother\fR تنظیم می‌شود\&. .sp خالی گذاشتن مقدار طرح‌بندی اثر یکسانی دارد\&. این حالت پیش‌فرض است\&. .sp افزوده‌شده در نسخه 254\&. .RE .PP متغیرهای \fI$KERNEL_INSTALL_INITRD_GENERATOR\fR و \fI$KERNEL_INSTALL_UKI_GENERATOR\fR برای پلاگین‌ها تنظیم می‌شوند تا تولیدکننده initrd و/یا UKI را انتخاب کنند\&. این مقدار می‌تواند به صورت \fIinitrd_generator=\fR و \fIuki_generator=\fR در install\&.conf پیکربندی شود، به ادامه مراجعه کنید\&. .PP متغیر \fI$KERNEL_INSTALL_STAGING_AREA\fR برای پلاگین‌ها روی مسیری به یک دایرکتوری تنظیم می‌شود\&. پلاگین‌ها می‌توانند فایل‌های خود را در این دایرکتوری قرار دهند، و این فایل‌ها بر اساس نام و پسوند فایل به عنوان بخشی از ورودی بارگذار بوت نصب خواهند شد: فایل‌هایی با نام initrd* به عنوان \fIINITRD\-FILE\fRها نصب می‌شوند، و فایل‌هایی با نام microcode* قبل از \fIINITRD\-FILE\fRها اضافه می‌شوند\&. .SS "متغیرهای محیطی قابل فهم برای kernel\-install (Environment variables understood by kernel\-install)" .PP متغیر \fI$KERNEL_INSTALL_CONF_ROOT\fR می‌تواند برای تغییر مکان فایل‌های پیکربندی خوانده‌شده توسط \fBkernel\-install\fR تنظیم شود\&. در صورت تنظیم، فایل‌های install\&.conf، entry\-token و سایر فایل‌ها فقط از این دایرکتوری خوانده خواهند شد\&. توجه داشته باشید که این مسیر نسبت به سیستم میزبان است، و به ویژه \fIپیوندهای نمادین در این دایرکتوری نسبت به میزبان تحلیل می‌شوند\fR، حتی اگر از \fB\-\-root=\fR\fB\fIroot\fR\fR استفاده شده باشد\&. این بدان معناست که در صورت وجود پیوندهای نمادین، عموماً درست \fIنیست\fR که از این متغیر برای تعیین یک دایرکتوری در زیر مسیر \fIroot\fR استفاده شود\&. .PP متغیر \fI$KERNEL_INSTALL_PLUGINS\fR می‌تواند برای لغو و بازنویسی فهرست پلاگین‌های اجراشده توسط \fBkernel\-install\fR تنظیم شود\&. آرگومان آن فهرستی از مسیرها است که با فاصله (whitespace) جدا شده‌اند\&. می‌توان از "KERNEL_INSTALL_PLUGINS=:" برای جلوگیری از اجرای تمامی پلاگین‌ها استفاده کرد\&. .PP متغیر \fI$MACHINE_ID\fR می‌تواند برای \fBkernel\-install\fR تنظیم شود تا شناسه ماشین \fI$KERNEL_INSTALL_MACHINE_ID\fR را بازنویسی کند\&. .PP متغیر \fI$BOOT_ROOT\fR می‌تواند برای \fBkernel\-install\fR تنظیم شود تا مکان نصب ورودی‌های بوت یعنی \fI$KERNEL_INSTALL_BOOT_ROOT\fR را بازنویسی کند\&. .PP دو متغیر آخر را می‌توان در فایل install\&.conf نیز تنظیم کرد\&. متغیرهای تنظیم‌شده در محیط بر مقادیر مشخص‌شده در فایل پیکربندی اولویت دارند\&. .SH "کدهای خروج (EXIT STATUS)" .PP اگر تمامی فایل‌های اجرایی مقدار 0 یا 77 را برگردانند، مقدار 0 برگردانده می‌شود؛ در غیر این صورت یک کد خطای غیر صفر برگردانده خواهد شد\&. .SH "فایل‌ها (FILES)" .PP /etc/kernel/install\&.d/*\&.install, /usr/lib/kernel/install\&.d/*\&.install .RS 4 فایل‌های پیکربندی افزونه‌ای (Drop\-in) که توسط \fBkernel\-install\fR اجرا می‌شوند\&. .sp افزوده‌شده در نسخه 198\&. .RE .PP /etc/kernel/cmdline, /usr/lib/kernel/cmdline, /proc/cmdline .RS 4 خط فرمان هسته (kernel command line) مورد استفاده را مشخص می‌کند\&. اولین فایلی که یافت شود استفاده خواهد شد\&. خطوطی که با نویسه "#" شروع می‌شوند نادیده گرفته می‌شوند\&. هنگام اجرا در یک کانتینر، فایل /proc/cmdline نادیده گرفته می‌شود\&. متغیر \fI$KERNEL_INSTALL_CONF_ROOT\fR می‌تواند برای تغییر مسیر جستجو استفاده شود؛ برای جزئیات به بخش‌های زیر مراجعه کنید\&. .sp افزوده‌شده در نسخه 198\&. .RE .PP /etc/kernel/devicetree, /usr/lib/kernel/devicetree .RS 4 مسیر نسبی به فایلی که شامل باینری درخت دستگاه (device tree blob یا dtb) است و باید همراه با هسته نصب شده و در زمان بوت استفاده شود را مشخص می‌کند\&. اولین فایلی که یافت شود استفاده خواهد شد\&. متغیر \fI$KERNEL_INSTALL_CONF_ROOT\fR می‌تواند برای تغییر مسیر جستجو استفاده شود؛ برای جزئیات به بخش‌های زیر مراجعه کنید\&. .sp فایل devicetree شامل یک مسیر است و این مسیر مکانی را نسبت به درخت نصب هسته مشخص می‌کند\&. مجموعه‌ای از مکان‌ها بررسی می‌شوند، به ویژه از جمله /usr/lib/modules/\fIKERNEL_VERSION\fR/dtb/ که مکان پیشنهادی برای قرار دادن فایل‌های dtb است\&. به عنوان مثال، با قرار دادن "broadcom/bcm2711\-rpi\-4\-b\&.dtb" در فایل devicetree، بلاب درخت دستگاه برای Raspberry Pi 4 Model B نصب خواهد شد و فایل واقعی /usr/lib/modules/\fIKERNEL_VERSION\fR/dtb/broadcom/bcm2711\-rpi\-4\-b\&.dtb خواهد بود\&. .sp افزوده‌شده در نسخه 255\&. .RE .PP /etc/kernel/tries .RS 4 توسط 90\-loaderentry\&.install و 90\-uki\-copy\&.install خوانده می‌شود\&. در صورت وجود این فایل، یک مقدار عددی از آن خوانده شده و نام‌گذاری فایل ورودی تولیدشده یا UKI تغییر می‌یابد تا به ترتیب شامل $BOOT/loader/entries/\fIENTRY\-TOKEN\fR\-\fIKERNEL\-VERSION\fR+\fITRIES\fR\&.conf یا $BOOT/EFI/Linux/\fIENTRY\-TOKEN\fR\-\fIKERNEL\-VERSION\fR+\fITRIES\fR\&.efi باشد\&. این سازوکار برای بارگذارهای بوتی مانند \fBsystemd-boot\fR(7) که شمارش دفعات تلاش برای بوت را از طریق شمارنده تعبیه‌شده در نام فایل ورودی پیاده‌سازی می‌کنند، بسیار کاربردی است\&. متغیر \fI$KERNEL_INSTALL_CONF_ROOT\fR می‌تواند برای تغییر مسیر جستجو استفاده شود؛ برای جزئیات به بخش‌های زیر مراجعه کنید\&. .sp افزوده‌شده در نسخه 240\&. .RE .PP /etc/kernel/entry\-token .RS 4 در صورت وجود این فایل، خوانده شده و به عنوان «توکن ورودی» برای این سیستم استفاده می‌شود، یعنی برای نام‌گذاری ورودی‌های مشخصات بارگذار بوت به کار می‌رود\&. برای جزئیات بیشتر \fI$KERNEL_INSTALL_ENTRY_TOKEN\fR در بالا را ببینید\&. متغیر \fI$KERNEL_INSTALL_CONF_ROOT\fR می‌تواند برای تغییر مسیر جستجو استفاده شود؛ برای جزئیات به بخش‌های زیر مراجعه کنید\&. .sp افزوده‌شده در نسخه 251\&. .RE .PP /etc/machine\-id .RS 4 محتوای این فایل شناسه شناسایی ماشین \fIMACHINE\-ID\fR را مشخص می‌کند\&. .sp افزوده‌شده در نسخه 198\&. .RE .PP /etc/os\-release, /usr/lib/os\-release .RS 4 توسط 90\-loaderentry\&.install خوانده می‌شود\&. در صورت در دسترس بودن، \fIPRETTY_NAME=\fR از این فایل‌ها خوانده شده و به عنوان عنوان ورودی منوی بوت استفاده می‌شود\&. در غیر این صورت، "Linux \fIKERNEL\-VERSION\fR" استفاده خواهد شد\&. .sp افزوده‌شده در نسخه 198\&. .RE .PP /etc/kernel/install\&.conf, /run/kernel/install\&.conf, /usr/local/lib/kernel/install\&.conf, /usr/lib/kernel/install\&.conf, /etc/kernel/install\&.conf\&.d/*\&.conf, /run/kernel/install\&.conf\&.d/*\&.conf, /usr/local/lib/kernel/install\&.conf\&.d/*\&.conf, /usr/lib/kernel/install\&.conf\&.d/*\&.conf .RS 4 فایل پیکربندی حاوی گزینه‌ها برای \fBkernel\-install\fR، به عنوان مجموعه‌ای از انتساب‌های \fIKEY=\fR\fIVALUE\fR، سازگار با نحو شل، با پیروی از همان قوانینی که در \fBos-release\fR(5) توصیف شده است\&. اولین فایلی که یافت شود استفاده خواهد شد\&. متغیر \fI$KERNEL_INSTALL_CONF_ROOT\fR می‌تواند برای تغییر مسیر جستجو استفاده شود؛ برای جزئیات به بخش‌های زیر مراجعه کنید\&. همچنین فایل‌های تکمیلی (Drop\-in) را می‌توان برای گسترش پیکربندی و بازنویسی مقادیر استفاده کرد، \fBsystemd.unit\fR(5) را ببینید\&. .sp در حال حاضر کلیدهای زیر پشتیبانی می‌شوند: \fIMACHINE_ID=\fR، \fIBOOT_ROOT=\fR، \fIlayout=\fR، \fIinitrd_generator=\fR، \fIuki_generator=\fR\&. برای جزئیات بیشتر بخش متغیرهای محیطی در بالا را ببینید\&. .sp افزوده‌شده در نسخه 250\&. .RE .PP /etc/kernel/uki\&.conf .RS 4 فایل پیکربندی با سبک Ini برای \fBukify\fR(1) که تنها زمانی اعمال می‌شود که مقدار \fI$KERNEL_INSTALL_LAYOUT\fR یا \fIlayout=\fR در install\&.conf روی \fBuki\fR تنظیم شده باشد و متغیر \fI$KERNEL_INSTALL_UKI_GENERATOR\fR یا \fIuki_generator=\fR در install\&.conf روی \fBukify\fR تنظیم شده باشد یا تنظیم نشده باشد\&. متغیر \fI$KERNEL_INSTALL_CONF_ROOT\fR می‌تواند برای تغییر مسیر جستجو استفاده شود؛ برای جزئیات به بخش‌های زیر مراجعه کنید\&. .sp افزوده‌شده در نسخه 255\&. .RE .PP /usr/lib/modules/\fIKERNEL\-VERSION/\fR .RS 4 مکان ماژول‌های هسته نصب‌شده و سایر منابع مرتبط با هسته\&. برای هر هسته نصب‌شده به صورت محلی، یک دایرکتوری با نام نسخه هسته (\fBuname \-r\fR) نگهداری می‌شود\&. .sp افزوده‌شده در نسخه 255\&. .RE .PP /usr/lib/modules/\fIKERNEL\-VERSION/vmlinuz\fR .RS 4 مکان ایمیج‌های هسته نصب‌شده\&. این مکان پیشنهادی برای مدیر بسته‌های سیستم‌عامل جهت نصب ایمیج‌های هسته است (در صورت لزوم)، که دستور \fBkernel\-install add\fR سپس آن را در پارتیشن بوت نهایی کپی می‌کند\&. .sp افزوده‌شده در نسخه 255\&. .RE .PP در موارد مختلف فهرست‌شده در بالا، اگر متغیر محیطی \fI$KERNEL_INSTALL_CONF_ROOT\fR تنظیم شده باشد، مسیر جستجو را بازنویسی می‌کند\&. فایل‌ها \fIتنها\fR از دایرکتوری مشخص‌شده توسط این متغیر محیطی بارگذاری خواهند شد\&. هنگامی که این متغیر تنظیم نشده باشد، مسیرهای فهرست‌شده به نوبت بررسی می‌شوند و اولین فایلی که وجود داشته باشد استفاده می‌شود\&. .SH "همچنین ببینید (SEE ALSO)" .PP \fBmachine-id\fR(5), \fBos-release\fR(5), \fBdepmod\fR(8), \fBsystemd-boot\fR(7), \fBukify\fR(1), \m[blue]\fBUAPI\&.1 Boot Loader Specification\fR\m[]\&\s-2\u[2]\d\s+2 .SH "نکات (NOTES)" .IP " 1." 4 امروزه در واقع به جای "initrd" از آرشیوهای CPIO با عنوان "initramfs" استفاده می‌شود\&. برای توضیحات بیشتر، \fBbootup\fR(7) را ببینید\&. .IP " 2." 4 مشخصات بارگذار بوت UAPI.1 (UAPI.1 Boot Loader Specification) .RS 4 \%https://uapi-group.org/specifications/specs/boot_loader_specification .RE .IP " 3." 4 مشخصات پارتیشن‌های قابل کشف UAPI.2 (UAPI.2 Discoverable Partitions Specification) .RS 4 \%https://uapi-group.org/specifications/specs/discoverable_partitions_specification .RE