| grub-btrfs(8) | System Manager's Manual | grub-btrfs(8) |
نام (NAME)
grub-btrfs - تولید خودکار ورودیهای منوی GRUB برای اسنپشاتهای Btrfs
خلاصه دستور (SYNOPSIS)
/etc/grub.d/41_snapshots-btrfs [-V, --version]
توضیحات (DESCRIPTION)
با افزودن «اسنپشاتهای btrfs» به منوی grub، کارایی آن را بهبود میبخشد.
میتوانید سیستم خود را از طریق منوی grub از روی یک «اسنپشات» راهاندازی (بوت) کنید. از اسنپشاتهای دستی، snapper و timeshift پشتیبانی میکند. ویژگیهای grub-btrfs:
- —
- فهرست کردن خودکار اسنپشاتهای موجود در پارتیشن ریشه (btrfs).
- —
- تشخیص خودکار در صورتی که /boot در یک پارتیشن مجزا باشد.
- —
- تشخیص خودکار هسته، initramfs و ریزکدهای intel/amd در دایرکتوری /boot واقع در اسنپشاتها.
- —
- ایجاد خودکار «menuentry» متناظر در grub.cfg.
- —
- تشخیص خودکار نوع/برچسبها و توضیحات/یادداشتهای اسنپشاتهای snapper/timeshift.
- —
- تولید خودکار grub.cfg در صورت استفاده از سرویس systemd ارائهشده.
پیکربندی (CONFIGURATION)
ابزار grub-btrfs از طریق فایل /etc/default/grub-btrfs/config پیکربندی میشود. گزینههای ممکن عبارتند از:
عمومی (GENERAL)
GRUB_BTRFS_DISABLE
در صورت تنظیم روی true، ابزار grub-btrfs غیرفعال میشود.
- —
- پیشفرض: “false”
- —
- مثال: GRUB_BTRFS_DISABLE="true"
GRUB_BTRFS_TITLE_FORMAT
ورودیهای زیرمنوی اسنپشات در Grub بر اساس این خط اضافه میشوند. تغییر ترتیب فیلدها امکانپذیر است.
- —
- پیشفرض: (“date” “snapshot” “type” “description”)
- —
- مثال: GRUB_BTRFS_TITLE_FORMAT=("date" "snapshot" "type" "description")
GRUB_BTRFS_LIMIT
حداکثر تعداد اسنپشاتها در زیرمنوی اسنپشاتهای GRUB.
- —
- پیشفرض: “50”
- —
- مثال: GRUB_BTRFS_LIMIT="50"
GRUB_BTRFS_SUBVOLUME_SORT
مرتبسازی زیرحجمهای پیداشده بر اساس «ogeneration» یا «generation» یا «path» یا «rootid».
- —
- بخش مرتبسازی را در btrfs-subvolume(8) ببینید.
مقدار «-rootid» به معنی فهرست کردن اسنپشاتها از موارد جدیدتر است.
- —
- پیشفرض: “-rootid”
- —
- مثال: GRUB_BTRFS_SUBVOLUME_SORT="+ogen,-gen,path,rootid"
GRUB_BTRFS_SHOW_SNAPSHOTS_FOUND
نمایش اسنپشاتهای یافتشده در حین اجرای «grub-mkconfig».
- —
- پیشفرض: “true”
- —
- مثال: GRUB_BTRFS_SHOW_SNAPSHOTS_FOUND="false"
GRUB_BTRFS_ROOTFLAGS
گزینههای اتصال (mount options) جداشده با کاما برای استفاده هنگام راهاندازی (بوت) یک اسنپشات. میتوان آنها را در اینجا و همچنین در خط «/» درون فایلهای «/etc/fstab» مربوط به هر اسنپشات تعریف کرد. گزینههای اتصال یافتشده در هر دو مکان ترکیب میشوند و این متغیر نسبت به مدخلهای fstab اولویت دارد. توجه: هرگز «...=subvol» یا «...=subvolid» را در اینجا قرار ندهید.
- —
- پیشفرض: “”
- —
- مثال: GRUB_BTRFS_ROOTFLAGS="space_cache,commit=10,norecovery"
GRUB_BTRFS_OVERRIDE_BOOT_PARTITION_DETECTION
بهطور پیشفرض «grub-btrfs» پارتیشن بوت شما را چه در ریشه سیستم قرار داشته باشد، چه روی یک پارتیشن مجزا و چه در یک زیرحجم، بهطور خودکار تشخیص میدهد. اگر پارتیشن بوت شما به عنوان پارتیشن مجزا تشخیص داده نشد، مقدار آن را به «true» تغییر دهید.
- —
- پیشفرض: “false”
- —
- مثال: GRUB_BTRFS_OVERRIDE_BOOT_PARTITION_DETECTION="true"
GRUB_BTRFS_ENABLE_CRYPTODISK
فعالسازی راهاندازی (بوت) از روی اسنپشاتهای ذخیرهشده روی دستگاههای رمزنگاریشده با LUKS.
- —
- پیشفرض: “false”
- —
- مثال: GRUB_BTRFS_ENABLE_CRYPTODISK="true"
هستههای سفارشی (CUSTOM KERNELS)
GRUB_BTRFS_NKERNEL / GRUB_BTRFS_NINIT / GRUB_BTRFS_CUSTOM_MICROCODE
بهطور پیشفرض، «grub-btrfs» اکثر هستهها، initramfs و ریزکدهای موجود را بهطور خودکار تشخیص میدهد. هستهها، initramfs و ریزکدهای سفارشی که شناسایی نمیشوند را میتوان در این متغیرها اضافه کرد.
- —
- پیشفرض: (“”)
- —
- مثال: GRUB_BTRFS_NKERNEL=("kernel-5.19.4-custom" "vmlinux-5.19.4-custom") GRUB_BTRFS_NINIT=("initramfs-5.19.4-custom.img" "initrd-5.19.4-custom.img" "otherinit-5.19.4-custom.gz") GRUB_BTRFS_CUSTOM_MICROCODE=("custom-ucode.img" "custom-uc.img "custom_ucode.cpio")
GRUB_BTRFS_SNAPSHOT_KERNEL_PARAMETERS
پارامترهای خط فرمان اضافی هسته که باید هنگام راهاندازی (بوت) یک اسنپشات به هسته ارسال شوند. برای توزیعهای مبتنی بر dracut، این متغیر میتواند جهت ارسال «rd.live.overlay.overlayfs=1» یا «rd.live.overlay.readonly=1» به هسته برای راهاندازی اسنپشاتهای فقطخواندنی مفید باشد.
- —
- پیشفرض: “”
- —
- مثال: GRUB_BTRFS_SNAPSHOT_KERNEL_PARAMETERS="rd.live.overlay.overlayfs=1"
فیلتر کردن اسنپشاتها (SNAPSHOT FILTERING)
GRUB_BTRFS_IGNORE_SPECIFIC_PATH
نادیده گرفتن مسیری مشخص در حین اجرای «grub-mkconfig». فقط مسیرهای کاملاً یکسان نادیده گرفته میشوند. برای مثال: اگر «مسیر مشخص» برابر با @ باشد، فقط اسنپشات «@» نادیده گرفته خواهد شد.
- —
- پیشفرض: (“@”)
- —
- مثال: GRUB_BTRFS_IGNORE_SPECIFIC_PATH=("@home")
GRUB_BTRFS_IGNORE_PREFIX_PATH
نادیده گرفتن پیشوند مسیر در حین اجرای «grub-mkconfig». هر مسیری که با رشته مشخصشده آغاز شود نادیده گرفته خواهد شد. برای مثال: اگر «پیشوند مسیر» برابر با @ باشد، تمامی اسنپشاتهایی که با «.../@» آغاز میشوند نادیده گرفته خواهند شد.
- —
- پیشفرض: (“var/lib/docker” “@var/lib/docker” “@/var/lib/docker”)
- —
- مثال: GRUB_BTRFS_IGNORE_PREFIX_PATH=("var/lib/docker" "@var/lib/docker" "@/var/lib/docker")
GRUB_BTRFS_IGNORE_SNAPSHOT_TYPE
نادیده گرفتن نوع/برچسب خاصی از اسنپشات در حین اجرای «grub-mkconfig». برای snapper: نوع = single, pre, post. برای Timeshift: برچسب = boot, ondemand, hourly, daily, weekly, monthly.
- —
- پیشفرض: (“”)
- —
- مثال: GRUB_BTRFS_IGNORE_SNAPSHOT_TYPE=("ondemand")
GRUB_BTRFS_IGNORE_SNAPSHOT_DESCRIPTION
نادیده گرفتن توضیحی مشخص از اسنپشات در حین اجرای «grub-mkconfig».
- —
- پیشفرض: (“”)
- —
- مثال: GRUB_BTRFS_IGNORE_SNAPSHOT_DESCRIPTION=("timeline")
تنظیمات وابسته به توزیع (DISTRIBUTION DEPENDENT SETTINGS)
GRUB_BTRFS_BOOT_DIRNAME
محل قرارگیری هستهها/initramfs/ریزکدها. توسط «grub-btrfs» برای تشخیص پارتیشن بوت و محل هستهها، initramfs و ریزکدها استفاده میشود.
- —
- پیشفرض: “/boot”
- —
- مثال: GRUB_BTRFS_BOOT_DIRNAME="/"
GRUB_BTRFS_GRUB_DIRNAME
محل پوشه حاوی فایل «grub.cfg». در برخی سیستمها ممکن است grub2 باشد. برای مثال، در فدورا با EFI: «/boot/efi/EFI/fedora»
- —
- پیشفرض: “/boot/grub”
- —
- مثال: GRUB_BTRFS_GRUB_DIRNAME="/boot/grub2"
GRUB_BTRFS_GBTRFS_DIRNAME
محلی که grub-btrfs.cfg باید در آن ذخیره شود. برخی توزیعها (مانند OpenSuSE) این فایلها را به جای boot در دایرکتوری اسنپشات ذخیره میکنند. توجه داشته باشید که این دایرکتوری باید در زمان راهاندازی سیستم برای grub در دسترس باشد.
- —
- پیشفرض: $GRUB_BTRFS_GRUB_DIRNAME
- —
- مثال: GRUB_BTRFS_GBTRFS_DIRNAME="/.snapshots"
GRUB_BTRFS_GBTRFS_SEARCH_DIRNAME
محل دایرکتوریای که Grub در آن به دنبال فایل grub-btrfs.cfg میگردد. برخی توزیعها (مانند OpenSuSE) این فایلها را به جای boot در دایرکتوری اسنپشات ذخیره میکنند. توجه داشته باشید که این دایرکتوری باید در زمان راهاندازی سیستم برای grub در دسترس باشد.
- —
- پیشفرض: “\${prefix}” (این یک متغیر grub است که به محل نصب grub مانند /boot/grub یا /boot/efi/grub اشاره دارد)
- —
- نکته: در صورت استفاده از متغیرهای grub در اینجا مانند ${prefix}، آنها باید با درج یک علامت \ پیش از $ اسکیپ شوند.
- —
- مثال: GRUB_BTRFS_GBTRFS_SEARCH_DIRNAME="\${prefix}"
GRUB_BTRFS_MKCONFIG
نام/مسیر دستور جهت تولید منوی grub، استفادهشده توسط «grub-btrfs.service». ممکن است در برخی سیستمها (مانند فدورا) ’grub2-mkconfig’ باشد. مسیرهای پیشفرض عبارتند از: /sbin:/bin:/usr/sbin:/usr/bin ؛ اگر مسیر شما وجود ندارد، آن را در پروژه بالادستی گزارش دهید. میتوانید تنها از نام دستور یا مسیر کامل استفاده کنید.
- —
- پیشفرض: grub-mkconfig
- —
- مثال: GRUB_BTRFS_MKCONFIG=/sbin/grub2-mkconfig
GRUB_BTRFS_SCRIPT_CHECK
نام دستور grub-script-check که توسط «grub-btrfs» استفاده میشود. ممکن است در برخی سیستمها (مانند فدورا) ’grub2-script-check’ باشد.
- —
- پیشفرض: grub-script-check
- —
- مثال: GRUB_BTRFS_SCRIPT_CHECK=grub2-script-check
GRUB_BTRFS_MKCONFIG_LIB
مسیر فایل grub-mkconfiglib که توسط «grub-btrfs» استفاده میشود. ممکن است در برخی سیستمها (مانند OpenSUSE) ’/usr/share/grub2/grub-mkconfiglib’ باشد.
- —
- پیشفرض: /usr/share/grub/grub-mkconfiglib
- —
- مثال: GRUB_BTRFS_MKCONFIG_LIB=/usr/share/grub2/grub-mkconfig_lib
امنیت (SECURITY)
GRUB_BTRFS_PROTECTION_AUTHORIZED_USERS
مدیریت محافظت با گذرواژه برای زیرمنو و اسنپشاتها. به مستندات Grub در https://www.gnu.org/software/grub/manual/grub/grub.html#Authentication-and-authorisation و این دیدگاه در https://github.com/Antynea/grub-btrfs/issues/95#issuecomment-682295660 مراجعه کنید. نامهای کاربری مجاز را با کاما جدا کنید (userfoo,userbar). هنگامی که محافظت با گذرواژه در Grub فعال باشد، کاربر ارشد (superuser) بهطور پیشفرض مجاز است و نیازی به افزودن آن نیست.
- —
- پیشفرض: “”
- —
- مثال: GRUB_BTRFS_PROTECTION_AUTHORIZED_USERS="userfoo,userbar"
GRUB_BTRFS_DISABLE_PROTECTION_SUBMENU
غیرفعالسازی پشتیبانی از احراز هویت فقط برای زیرمنوی Grub-btrfs (--unrestricted). در صورتی که GRUB_BTRFS_PROTECTION_AUTHORIZED_USERS خالی نباشد، کار نخواهد کرد.
- —
- پیشفرض: “false”
- —
- مثال: GRUB_BTRFS_DISABLE_PROTECTION_SUBMENU="true"
فایلها (FILES)
/etc/default/grub-btrfs/config
همچنین ببینید (SEE ALSO)
btrfs(8)، btrfs-subvolume(8)، grub-btrfsd(8)، grub-mkconfig(8)
حق نشر (COPYRIGHT)
حق نشر (c) 2022 متعلق به Pascal Jäger