گراب رو با دستور زیر نصب کنید.
apt-get install grub
grub-install /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg
برای سیستمهای legacy، باید بسته grub-pc نصب بشه. تا جایی که میدونم اصلا بستهای به اسم grub توی مخازن دبیان موجود نیست. شاید یه بسته مجازی باشه، مطمئن نیستم.
توی دبیان میشه به جای grub-mkconfig از دستور update-grub یا update-grub2 استفاده کرد. اولی یه لینک به دومی هست.
update-grub2 یه اسکریپت خیلی ساده هست که تنها کاری که میکنه، اجرا و جایگزین کردن grub-mkconfig با خودش هست.
فقط همین یه خط رو داره که کاری انجام میده:
exec grub-mkconfig -o /boot/grub/grub.cfg
اشتباهم کجا بود که گرابو نمیذاشت نصب کنم خود نصاب دبیان و به ارور میخورد ؟
فکر کنم چون bios boot partition رو نداشتید.
توی سیستمهایی که توی حالت legacy بوت میشن و پارتیشنتیبل دیسک بوت اونها gpt هست، به این پارتیشن نیاز دارید.
هدرهای پارتیشنتیبل gpt فضای زیادی باقی نمیذارند تا گراب core.img خودش رو اونجا بذاره. به خاطر همین به bios boot partition نیاز هست.
اینجا منظورم برای btrfs بود راستش ، چون رفتیم سراغ این بجای zfs 😅 شرمنده
توی btrfs قضیه یکم فرق داره.
به طور پیشفرض snapahot ها توی btrfs قابل نوشتن و خوندن هستند. به خاطر همین ممکنه چیزی اونها رو تغییر بده. البته میتونید snapshot فقط خواندنی هم ایجاد کنید ولی اونها رو هم میشه به snapshot خوندنی و نوشتنی تبدیل کرد.
root@debian:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 385M 1 loop /usr/lib/live/mount/rootfs/filesystem.squashfs
/run/live/rootfs/filesystem.squashfs
sda 8:0 0 74.5G 0 disk
sr0 11:0 1 1024M 0 rom
root@debian:~# blkid
/dev/loop0: TYPE="squashfs"
/dev/sda: PTUUID=<ptuuid> PTTYPE="gpt"
با نگاه کردن به صفحه نوشتمش ، امیدوارم اشتباهی نداشته باشم ! ptuuid رو هم تنبلیم شد دونه دونه بنویسمش ، لازمه ؟
و امادم که بریم واسه نصب expert دبیان و پیکربندی btrfs تو پوسته ای که میده به کاربر ، اگه میشه با همین روش راهنمایی کنید که فقط با یه ایزوی دبیان راحت بتونم همه جا دبیان با btrfs نصب کنم 😁
وقتی خروجی این دستورات رو فرستادید، هنوز جایی رو با btrfs فرمت نکرده بودید. درسته؟
اینجا لازم نیست partuuid رو مشخص کنید.
این برای سیستمهایی جواب میده که توی حالت uefi بوت میشن. اصلا وقتی گراب رو برای حالت uefi نصب میکنید، مسیر دیسکی که میدید نادیده گرفته میشه. به جاش باید مسیر به جایی که ESP سوار شده هست رو بدید.
پس چرا برای ایشون دستور قبلی خطا داد؟
خروجی که فرستاده بودند رو درست ندیدم. دلیل خطا هم این بوده که به یه bios boot partition نیاز بوده.
نه نه ! منظورم اینه apt install grub2 زدم !
چون همیشه نصاب های توزیع ها برای من گراب دو رو نصب کردن فک کردم ۲ بزارم منم اخر دستور 🤷🏻♂️
بسته grub2 توی دبیان یه بسته dummy هست. هیچ چیز خاصی همراهش نیست.
معمولا وقتی یه بسته جایگزین یه بسته دیگه میشه، بسته قبلی رو به یه بسته dummy تبدیل میکنند.
اینجور بستهها به بستههای جدید وابسته هستند، خودشون فایل خاصی ندارند و فقط به این خاطر موجودند تا بستههای جایگزین شده نصب بشن.
این بستهها رو میشه بدون مشکل پاک کرد.
تنها فایلهایی که ممکنه یه بسته dummy داشته باشه، معمولا داخل مسیر زیر قرار میگیرن:
/usr/share/doc/PACKAGENAME
/usr/share/bug/PACKAGENAME
به جای PACKAGENAME اسم اون بسته قرار میگیره.
( جناب دراگون من الان دیدم تو یه ویدیو ، zfs انحصاریه ؟ شما که حتی کلید های uefi ( یا یه همچنین چیزی ) رو خودتون دوباره امضا میگنید چون اعتماد ندارید به اصلیاش ، چرا از zfs استفاده میکنید که آزاد نیس ؟
اگه انحصاریه من رو همین btrfs میمونم 😅 )
توسعه zfs از سال ۲۰۰۱ میلادی توسط دو مهندس توی شرکت sun microsystems شروع شد.
توی سال ۲۰۰۴ شرکت sun این فایلسیستم رو با مجوز cddl منتشر کرد.
سال ۲۰۰۰۸ توسعه نسخه بومی برای لینوکس شروع شد.
توی سال ۲۰۱۰، اوراکل شرکت sun رو خرید و سیستمعامل opensolaris به همراه متعلقاتش از جمله zfs رو انحصاری کرد. به همین دلیل قسمتی از کارمدهای sun به عنوان اعتراض، استعفا داند. از جمله یکی از دوتا سازنده اصلی zfs.
توی همون سال، پروژه illumos از فورک کردن opensolaris بوجود اومد.
بین ۲۰۱۰ تا ۲۰۱۳ یه سری توسعهها به صورت جدا انجام شد تا اینکه توی ۲۰۱۳، پروژه openzfs بوجود اومد.
از ۲۰۱۳ تا حالا بیشتر توسعه نسخه آزاد zfs به مرکزیت پروژه openzfs رفته. نسخههای بومی لینوکس و freebsd مستقیم توی همین پروژه انجام میشه. اون مهندسی هم که استعفا داده بود، توی توسعه همین پروژه مشارکت داره.
به این دلیل که zfs با مجوز cddl منتشر شده و این مجوز با مجوزهای خانواده gpl ناسازگاره و بیشتر کد کرنل لینوکس با مجوز gpl2 منتشر میشه، zfs وارد شاخه اصلی کرنل لینوکس نشده.
تغییر مجوز از cddl به gpl2 به همین راحتی نیست. مجوز cddl یه سری شرایط خاص داره که برای تغییر مجوز، باید همه کسایی که توی توسعه نقش داشتند، رضایت خودشون رو اعلام کنند. به عبارتی اوراکل هم باید رضایت خودش رو برای اینکار اعلام کنه.
اون نسخه zfs که توسط اوراکل منتشر میشه و باید بابتش پول بدید انحصاری هست. اون نسخهای که توی توزیعها پیدا میشه، در واقع openzfs هست و هیچ قسمت انحصاری نداره. همه کدهای اون، اینجا دردسترس هست.
https://github.com/openzfs/zfsچیزی مثل firmware انحصاری و اینجور چیزها هم نداره.
openzfs آزاده ولی مجوزش بده. مجوز cddl اجازه میده که برنامه رو کلا انحصاری کنید. ولی اجازه نمیده به راحتی مجوز اون رو به چیز دیگهای تغییر بدید.
الان من snapshot بگیرم از ریشه یعنی ( / ) اون ساب ولوم /File که زیرشه هم ازش ( به قول ابوالفضل ) عکس فوری گرفنه میشه ؟
وقتی توی btrfs از یه subvolume یه snapshot ایجاد میکنید، فقط از همون subvolume یه snapshot ایجاد میشه. از بقیه subvolume ها نه. حتی اگه اون subvolume ها زیر subvolume مورد نظر باشن.