DRACUT.CONF(5) dracut DRACUT.CONF(5)

dracut.conf - پرونده(های) پیکربندی برای dracut

/etc/dracut.conf /etc/dracut.conf.d/*.conf /usr/lib/dracut/dracut.conf.d/*.conf /run/initramfs/dracut.conf.d/*.conf

پرونده dracut.conf در طول مرحله مقداردهی اولیه dracut بارگذاری می‌شود.

پرونده‌های *.conf از مسیرهای /run/initramfs/dracut.conf.d، /usr/lib/dracut/dracut.conf.d و /etc/dracut.conf.d خوانده می‌شوند. پرونده‌های با نام یکسان در /etc/dracut.conf.d جایگزین پرونده‌های موجود در /usr/lib/dracut/dracut.conf.d خواهند شد.

سپس پرونده‌ها به ترتیب حروف الفبا و اعداد خوانده می‌شوند و پارامترهای تنظیم‌شده در /etc/dracut.conf را بازنویسی (override) می‌کنند. هر خط یک ویژگی و یک مقدار را مشخص می‌کند. نویسه '#' نشان‌دهنده آغاز یک توضیح (comment) است؛ نویسه‌های بعدی تا انتهای خط تفسیر نمی‌شوند.

گزینه‌های خط فرمان dracut هر مقداری را که در اینجا تنظیم شده باشد بازنویسی خواهند کرد.

پرونده‌های پیکربندی باید دارای پسوند .conf باشند؛ سایر پسوندها نادیده گرفته می‌شوند.

add_dracutmodules+=" <dracut modules> "

افزودن فهرستی از ماژول‌های dracut (جداشده با فاصله) برای فراخوانی هنگام ساخت initramfs. ماژول‌ها در مسیر /usr/lib/dracut/modules.d قرار دارند.

force_add_dracutmodules+=" <dracut modules> "

اجبار به افزودن فهرستی از ماژول‌های dracut (جداشده با فاصله) به مجموعه ماژول‌های پیش‌فرض، در زمانی که حالت host-only تعیین شده باشد. این پارامتر می‌تواند چندین بار مشخص شود.

omit_dracutmodules+=" <dracut modules> "

حذف فهرستی از ماژول‌های dracut (جداشده با فاصله) از فراخوانی هنگام ساخت initramfs. ماژول‌ها در مسیر /usr/lib/dracut/modules.d قرار دارند.

هشدار (Warning)

از حذف دستی ماژول‌های dracut خودداری کنید، چرا که ممکن است ناخواسته
ماژول‌های ضروری را حذف کنید که dracut نتواند تشخیص دهد یا درباره‌شان هشدار دهد. استفاده از این گزینه توصیه نمی‌شود و با مسئولیت خودتان است.

dracutmodules+=" <dracut modules> "

تعیین فهرستی از ماژول‌های dracut (جداشده با فاصله) برای فراخوانی هنگام ساخت initramfs. ماژول‌ها در مسیر /usr/lib/dracut/modules.d قرار دارند. این گزینه dracut را وادار می‌کند تا فقط ماژول‌های مشخص‌شده dracut را بگنجاند. در بیشتر موارد گزینه "add_dracutmodules" همان چیزی است که نیاز دارید. استفاده از این گزینه توصیه نمی‌شود (با مسئولیت خودتان استفاده کنید).

add_drivers+=" <kernel modules> "

تعیین فهرستی از ماژول‌های هسته (جداشده با فاصله) جهت افزودن به initramfs. ماژول‌های هسته باید بدون پسوند ".ko" مشخص شوند.

force_drivers+=" <list of kernel modules> "

مشابه add_drivers در بالا است، اما در این حالت اطمینان حاصل می‌شود که بارگذاری زودهنگام درایورها از طریق modprobe انجام می‌گیرد.

omit_drivers+=" <kernel modules> "

تعیین فهرستی از ماژول‌های هسته (جداشده با فاصله) که نباید به initramfs اضافه شوند. ماژول‌های هسته باید بدون پسوند ".ko" مشخص شوند.

drivers+=" <kernel modules> "

تعیین فهرستی از ماژول‌های هسته (جداشده با فاصله) برای گنجاندن انحصاری در initramfs. ماژول‌های هسته باید بدون پسوند ".ko" مشخص شوند. این گزینه dracut را وادار می‌کند تا فقط ماژول‌های هسته مشخص‌شده را بگنجاند. در بیشتر موارد گزینه "--add-drivers" همان چیزی است که به آن نیاز دارید. استفاده از این گزینه توصیه نمی‌شود (با مسئولیت خودتان استفاده کنید).

add_dlopen_features+=" <pattern>:<feature>[,<feature>...] ... "

تعیین فهرستی از باینری‌های منطبق بر pattern همراه با فهرستی از قابلیت‌ها (جداشده با کاما) برای نصب وابستگی‌های مربوطه. برای مثال، "libsystemd-shared-*.so:idn,ip4tc" وابستگی‌های مربوط به پشتیبانی نام دامنه بین‌المللی و iptables در systemd را نصب خواهد کرد. pattern باید با soname کتابخانه‌ها یا نام پرونده برنامه‌های اجرایی مطابقت داشته باشد.

omit_dlopen_features+=" <pattern>:<feature>[,<feature>...] ... "

تعیین فهرستی از باینری‌های منطبق بر pattern در مقابل فهرستی از قابلیت‌ها (جداشده با کاما) جهت صرف‌نظر کردن از نصب وابستگی‌های آن‌ها. برخی از ماژول‌های dracut قابلیت‌های معینی را به صورت پیش‌فرض اضافه می‌کنند. این گزینه نسبت به add_dlopen_features در بالا اولویت دارد.

filesystems+=" <filesystem names> "

تعیین فهرستی از ماژول‌های سیستم‌فایل هسته (جداشده با فاصله) برای گنجاندن انحصاری در initramfs عمومی.

drivers_dir="<kernel modules directory>"

تعیین پوشه‌ای که باید در آن به دنبال ماژول‌های هسته گشت.

fw_dir+=" :<dir>[:<dir> ...] "

تعیین فهرست دیگری از پوشه‌ها (جداشده با دونقطه) برای جستجوی پرونده‌های فِرم‌ور (firmware).

libdirs+=" <dir>[ <dir> ...] "

تعیین فهرستی از پوشه‌ها (جداشده با فاصله) جهت جستجوی کتابخانه‌ها.

install_items+=" <file>[ <file> ...] "

تعیین پرونده‌های اضافی جهت گنجاندن در initramfs، جداشده با فاصله.

remove_items+=" <file/dir>[ <file/dir> ...] "

تعیین پرونده‌ها یا پوشه‌های اضافی برای حذف از initramfs تولیدشده، جداشده با فاصله. این file/dirها الگوهای نویسه‌خوان شل (wildcard) هستند (نگاه کنید به glob(7)). هشدار: از حذف دستی پرونده‌ها یا پوشه‌ها خودداری کنید، چرا که ممکن است ناخواسته موارد ضروری را حذف کنید که dracut نتواند تشخیص دهد یا درباره‌شان هشدار دهد. استفاده از این گزینه توصیه نمی‌شود و با مسئولیت خودتان است.

install_optional_items+=" <file>[ <file> ...] "

تعیین پرونده‌های اضافی جهت گنجاندن در initramfs، جداشده با فاصله، در صورتی که موجود باشند.

compress="{cat|bzip2|lzma|xz|gzip|lzop|lz4|zstd|<compressor [args ...]>}"

فشرده‌سازی initramfs تولیدشده با استفاده از برنامه فشرده‌سازی ارائه‌شده.

اگر فقط نام یک برنامه فشرده‌سازی را ارسال کنید، آن برنامه را با آرگومان‌های شناخته‌شده و تست‌شده فراخوانی خواهد کرد.

اگر آرگومان‌ها را ارسال کنید، دقیقاً با همان آرگومان‌ها فراخوانی می‌شود.

بسته به آنچه ارسال می‌کنید، ممکن است به تولید یک initramfs بیانجامد که هسته نتواند آن را از حالت فشرده خارج سازد.

برای غیرفعال کردن فشرده‌سازی، از "cat" استفاده کنید.

compress_level_bzip2="{1-9}"

سطح فشرده‌سازی هنگام استفاده از فشرده‌سازی bzip2 (پیش‌فرض=9).

compress_level_gzip="{1-9}"

سطح فشرده‌سازی هنگام استفاده از فشرده‌سازی gzip (پیش‌فرض=9).

compress_level_lz4="{1-12}"

سطح فشرده‌سازی هنگام استفاده از فشرده‌سازی lz4 (پیش‌فرض=9).

compress_level_lzma="{0-9}"

سطح فشرده‌سازی هنگام استفاده از فشرده‌سازی lzma (پیش‌فرض=9).

compress_level_lzop="{1-9}"

سطح فشرده‌سازی هنگام استفاده از فشرده‌سازی lzop (پیش‌فرض=9).

compress_level_xz="{0-9}"

سطح فشرده‌سازی هنگام استفاده از فشرده‌سازی xz (پیش‌فرض=تنظیم‌نشده، یعنی استفاده از پیش‌فرض xz).

compress_level_zstd="{1-19}"

سطح فشرده‌سازی هنگام استفاده از فشرده‌سازی zstd (پیش‌فرض=15).

squash_compress="{<compressor [args ...]>}"

فشرده‌سازی تصویر squashfs با استفاده از فشرده‌ساز ارائه‌شده و گزینه‌های ویژه فشرده‌ساز برای mksquashfs. می‌توانید برای آگاهی از فشرده‌سازهای پشتیبانی‌شده و گزینه‌های ویژه به راهنمای mksquashfs مراجعه کنید.

اگر ماژول squash در هنگام ساخت initramfs فراخوانی نشود، این گزینه اعمال نخواهد شد.

do_strip="{yes|no}"

حذف نمادها و بخش‌های اضافی (strip) از باینری‌های موجود در initramfs (پیش‌فرض=yes).

aggressive_strip="{yes|no}"

حذف نمادها فراتر از صرفاً نمادها و بخش‌های اشکال‌زدایی، برای دستیابی به ساخت initramfs با حجم کمتر. گزینه "do_strip=yes" نیز باید مشخص شده باشد (پیش‌فرض=no).

do_hardlink="{yes|no}"

پیوند سخت دادن پرونده‌ها در initramfs (پیش‌فرض=yes).

prefix=" <directory> "

افزودن پیشوند <directory> به پرونده‌های initramfs.

hostonly="{yes|no}"

حالت مختص میزبان (Host-only): تنها مواردی را که برای بوت کردن میزبان محلی مورد نیاز است به جای یک میزبان عمومی نصب می‌کند و پیکربندی مختص به میزبان را ایجاد می‌نماید (پیش‌فرض=yes).

hostonly_mode="{sloppy|strict}"

تعیین حالت host-only مورد استفاده (پیش‌فرض=sloppy).

در حالت host-only شل (sloppy)، درایورها و ماژول‌های اضافی نصب خواهند شد، به طوری که تغییرات جزئی سخت‌افزار باعث غیرقابل بوت شدن تصویر نشود (مانند تغییر صفحه‌کلید)، و تصویر همچنان در میان میزبان‌های مشابه قابل‌حمل بماند.

با فعال بودن حالت سخت‌گیرانه (strict)، هر آنچه برای بوت میزبان محلی در وضعیت فعلی‌اش ضروری نباشد گنجانده نخواهد شد و ممکن است ماژول‌ها تلاش‌های بیشتری برای صرفه‌جویی در فضا انجام دهند. تغییرات جزئی در سخت‌افزار یا محیط می‌تواند تصویر را غیرقابل بوت کند.

hostonly_cmdline="{yes|no}"

در صورت تنظیم روی "yes"، آرگومان‌های خط فرمان هسته مورد نیاز در initramfs ذخیره می‌شوند. اگر hostonly="yes" باشد و این گزینه پیکربندی نشده باشد، به صورت خودکار روی "yes" تنظیم می‌شود. (پیش‌فرض=no)

hostonly_nics+=" [<nic>[ <nic> ...]] "

فقط فعال کردن کارت‌های شبکه (NIC) فهرست‌شده در initramfs. این فهرست می‌تواند خالی باشد، تا سایر ماژول‌ها بتوانند تنها درایورهای شبکه لازم را نصب کنند.

persistent_policy="<policy>"

استفاده از <policy> برای آدرس‌دهی دیسک‌ها و پارتیشن‌ها. ‏<policy> می‌تواند هر نام پوشه‌ای در مسیر /dev/disk باشد (مانند "by-uuid" یا "by-label")، یا "mapper" برای استفاده از نام‌های دستگاه در /dev/mapper (پیش‌فرض=mapper).

tmpdir="<temporary directory>"

تعیین پوشه موقت برای استفاده.

هشدار (Warning)

اگر به ریشه‌ای غیر از دستگاه ریشه واقعی chroot کرده‌اید، از
--fstab استفاده کنید و یک /etc/fstab معتبر ارائه دهید.

use_fstab="{yes|no}"

استفاده از /etc/fstab به جای /proc/self/mountinfo (پیش‌فرض=no).

add_fstab+=" <filename> "

افزودن مدخل‌های <filename> به /etc/fstab درون initramfs.

add_device+=" <device> "

بالا آوردن و آماده‌سازی <device> در initramfs؛ مقدار <device> باید نام دستگاه باشد. این گزینه می‌تواند در حالت host-only برای پشتیبانی از قابلیت resume در زمانی که swap روی یک پارتیشن رمزشده یا LVM است مفید باشد.

mdadmconf="{yes|no}"

گنجاندن /etc/mdadm.conf محلی (پیش‌فرض=no).

lvmconf="{yes|no}"

گنجاندن /etc/lvm/lvm.conf محلی (پیش‌فرض=no).

fscks=" <fsck tools> "

افزودن فهرستی از ابزارهای fsck جداشده با فاصله.

در صورتی که چیزی مشخص نشود، پیش‌فرض عبارت است از: umount mount /sbin/fsck* xfs_db xfs_check xfs_repair e2fsck jfs_fsck btrfsck.

نصب به صورت اختیاری و برحسب موجود بودن ابزار است (ابزارهایی که وجود ندارند نادیده گرفته می‌شوند).

nofscks="{yes|no}"

در صورت تعیین، از نصب هرگونه ابزار fsck جلوگیری می‌کند (پیش‌فرض=no).

ro_mnt="{yes|no}"

سوار کردن پیش‌فرض / و /usr به صورت فقط‌خواندنی (پیش‌فرض=no).

kernel_cmdline="parameters"

تعیین پارامترهای پیش‌فرض خط فرمان هسته. علی‌رغم نام آن، این دستور فقط پارامترهای initrd را تنظیم می‌کند.

kernel_only="{yes|no}"

فقط نصب درایورهای هسته و پرونده‌های فِرم‌ور (پیش‌فرض=no).

no_kernel="{yes|no}"

عدم نصب درایورهای هسته و پرونده‌های فِرم‌ور (پیش‌فرض=no).

acpi_override="{yes|no}"


احتیاط (Caution)

تنها در صورتی از این گزینه استفاده کنید که دقیقاً می‌دانید چه کاری انجام می‌دهید!

جایگزینی جدول‌های ACPI ارائه‌شده توسط BIOS. برای مستندات بیشتر پرونده Documentation/acpi/initrd_table_override.txt https://www.kernel.org/doc/Documentation/acpi/initrd_table_override.txt را در سورس هسته مطالعه فرمایید. جستجو برای پرونده‌های جدول ACPI (باید پسوند .aml داشته باشند) در پوشه acpi_table_dir= (در زیر ببینید) و افزودن آن‌ها به یک آرشیو cpio غیرفشرده جداگانه.

این آرشیو cpio به آرشیو cpio فشرده متصل می‌شود (concatenated، آرشیو غیرفشرده باید اولین باشد). آرشیو cpio اول و غیرفشرده برای داده‌هایی است که هسته باید بسیار زود (زمانی که هنوز قادر به استفاده از الگوریتم‌های decompress نیست) به آن‌ها دسترسی داشته باشد، مانند میکروکد یا جدول‌های ACPI

(پیش‌فرض=no).

acpi_table_dir="<dir>"

پوشه جهت جستجوی جدول‌های ACPI در صورتی که acpi_override= روی yes تنظیم شده باشد.

early_microcode="{yes|no}"

ترکیب میکروکد زودهنگام با دیسک رم (پیش‌فرض=yes).

stdloglvl="{0-6}"

تعیین سطح ثبت لاگ برای خطای استاندارد (stderr) (پیش‌فرض=3).

جدول ۱. سطوح ثبت وقایع (Logging Levels)

0 جلوگیری از نمایش هرگونه پیام
1 فقط خطاهای مهلک (fatal)
2 تمامی خطاها
3 هشدارها
4 اطلاعات (info)
5 اطلاعات اشکال‌زدایی (آغاز خروجی‌های مفصل)
6 اطلاعات ردگیری (trace، خروجی حتی بیشتر)

sysloglvl="{0-6}"

تعیین سطح ثبت لاگ برای syslog (پیش‌فرض=0).

fileloglvl="{0-6}"

تعیین سطح ثبت لاگ برای فایل گزارش (logfile) (پیش‌فرض=4).

logfile="<file>"

مسیر پرونده گزارش (logfile).

sshkey="<file>"

پرونده کلید SSH مورد استفاده با ماژول ssh-client.

show_modules="{yes|no}"

چاپ نام ماژول‌های گنجانده‌شده در خروجی استاندارد در طول فرآیند ساخت (پیش‌فرض=no).

i18n_vars="<variable mapping>"

نگاشت متغیرهای مختص توزیع. برای توضیحات دقیق به dracut/modules.d/10i18n/README مراجعه کنید.

i18n_default_font="<fontname>"

قلم <fontname> برای نصب، در صورتی که به گونه دیگری مشخص نشده باشد. پیش‌فرض "eurlatgr" است.

i18n_install_all="{yes|no}"

نصب همه موارد صرف‌نظر از حالت عمومی یا مختص میزبان (پیش‌فرض=no).

reproducible="{yes|no}"

ایجاد تصاویر بازتولیدپذیر (reproducible) (پیش‌فرض=no).

noimageifnotneeded="{yes|no}"

عدم ایجاد تصویر در حالت host-only، در صورتی که نیازی به درایور هسته نباشد و هیچ /etc/cmdline/*.conf در initramfs تولید نگردد (پیش‌فرض=no).

loginstall="<directory>"

ثبت گزارش تمام پرونده‌های نصب‌شده از میزبان در <directory>.

uefi="{yes|no}"

به جای ایجاد تصویر initramfs، برنامه dracut یک فایل اجرایی UEFI می‌سازد که می‌تواند توسط یک BIOS UEFI اجرا شود (پیش‌فرض=no).

نام پرونده خروجی پیش‌فرض عبارت است از: <EFI>/EFI/Linux/linux-$kernel$-<MACHINE_ID>-<BUILD_ID>.efi. مسیر <EFI> ممکن است بسته به محل سوار شدن پارتیشن ESP، برابر با /efi، /boot یا /boot/efi باشد. مقدار <BUILD_ID> از BUILD_ID در /usr/lib/os-release یا در صورت وجود /etc/os-release گرفته می‌شود و در صورت عدم وجود یا خالی بودن BUILD_ID، حذف می‌شود.

machine_id="{yes|no}"

بر نام پرونده خروجی پیش‌فرض فایل اجرایی UEFI اثر می‌گذارد، از جمله بخش <MACHINE_ID> (پیش‌فرض=yes).

uefi_stub="<file>"

لودر استاب UEFI را مشخص می‌کند که هسته ضمیمه‌شده، initramfs و خط فرمان هسته را بارگذاری کرده و هسته را بوت می‌کند. پیش‌فرض: /lib/systemd/boot/efi/linux<EFI-MACHINE-TYPE-NAME>.efi.stub.

uefi_splash_image="<file>"

تصویر آغازین (splash) لودر استاب UEFI را مشخص می‌کند. به قالب تصویر بیت‌مپ (.bmp) نیاز دارد.

uefi_secureboot_cert="<file>", uefi_secureboot_key="<file>"

گواهی و کلید متناظر را مشخص می‌کند که برای امضای فایل اجرایی UEFI ایجادشده استفاده می‌شوند. تعیین هر دو مورد گواهی و کلید الزامی است و بسته sbsign باید نصب باشد.

uefi_secureboot_engine="parameter"

موتور مورد استفاده برای امضای فایل اجرایی UEFI ایجادشده را مشخص می‌کند، مثلاً "pkcs11".

kernel_image="<file>"

تصویر هسته را جهت گنجاندن در فایل اجرایی UEFI مشخص می‌کند. پیش‌فرض /lib/modules/<KERNEL-VERSION>/vmlinuz یا /boot/vmlinuz-<KERNEL-VERSION> است.

sbat="parameters"

پارامترهای SBAT را برای گنجاندن در فایل اجرایی UEFI تعیین می‌کند. به طور پیش‌فرض رشته SBAT اضافه‌شده عبارت است از: sbat,1,SBAT Version,sbat,1,https://github.com/rhboot/shim/blob/main/SBAT.md.

enhanced_cpio="{yes|no}"

تلاش برای استفاده از باینری dracut-cpio، که ساخت آرشیو را برای سیستم‌فایل‌های کپی در هنگام نوشتن (copy-on-write) بهینه‌سازی می‌کند (پیش‌فرض=no).

در صورت تعیین این گزینه، آرشیوهای initramfs همچنین پدگذاری (pad) می‌شوند تا از تراز بهینه داده‌ها برای اشتراک‌گذاری اکستنت اطمینان حاصل گردد. برای حفظ مزایای حذف داده‌های تکراری reflink، این گزینه باید همراه با پارامترهای compress="cat" و do_strip="no" استفاده شود، به طوری که پرونده‌های منبع initramfs، فضای موقت tmpdir و مقصد همگی روی همان سیستم‌فایل با قابلیت کپی در هنگام نوشتن قرار داشته باشند.

parallel="{yes|no}"

اگر روی yes تنظیم شود، تلاش می‌کند وظایف را به صورت موازی اجرا کند (در حال حاضر فقط برای --regenerate-all پشتیبانی می‌شود).

initrdname="<filepattern>"

نام پرونده را برای initramfs ایجادشده تعیین می‌کند، در صورتی که به گونه دیگری مشخص نشده باشد.

گزینه پیکربندی initrdname ملزم است با الگوی پرونده initr*${kernel}* تطابق داشته باشد و تنها یک پرونده با این الگو باید در پوشه‌ای که initramfs از آن بارگذاری می‌شود وجود داشته باشد.

پیش‌فرض: initramfs-${kernel}.img.

dracut_rescue_image="{yes|no}"

به kernel-install اجازه می‌دهد یک تصویر نجات (rescue image) ایجاد کند (پیش‌فرض=no). این گزینه پیکربندی فقط در مورد kernel-install اعمال می‌شود.

/etc/dracut.conf

پرونده پیکربندی قدیمی. توصیه می‌شود از پرونده‌های جداگانه در /etc/dracut.conf.d/ استفاده شود.

/etc/dracut.conf.d/

هر پرونده /etc/dracut.conf.d/*.conf می‌تواند مقادیر موجود در /etc/dracut.conf را بازنویسی کند. پرونده‌های پیکربندی به ترتیب الفبایی و عددی خوانده می‌شوند. ترتیب توصیه‌شده برای پیکربندی‌های ارائه‌شده توسط توزیع یا کاربر در محدوده 50-59 است.

Harald Hoyer

dracut(8), dracut.cmdline(7)

2026-05-13 dracut