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 grub-btrfs(8)