بوٹسٹریپ v1.2 امیجز بنانا


بوٹسٹریپ v1.2 امیجز بنانا

بعد میں صرف ایک ماہ سست ترقی کے بعد، بوبسٹریپ v1.2 جاری کیا گیا - بوٹ امیجز اور ڈرائیوز بنانے کے لیے POSIX شیل پر ٹولز کا ایک سیٹ۔

بوبسٹریپ آپ کو صرف ایک کمانڈ کرنے کی اجازت دیتا ہے:

  • ایک initramfs امیج بنائیں، بشمول اس میں کوئی GNU تقسیم/Linux.
  • کسی بھی GNU/Linux ڈسٹری بیوشن کے ساتھ بوٹ ایبل آئی ایس او امیجز بنائیں۔Linux.
  • کسی بھی GNU/Linux ڈسٹری بیوشن کے ساتھ بوٹ ایبل USB، HDD، SSD ڈرائیوز بنائیںLinux.

خاص بات یہ ہے کہ GNU/ لوڈ کرنے کے بعدLinux یہ یا تو مکمل طور پر خالص tmpfs ڈرائیو پر یا اوورلے FS اور SquashFS امیجز کا استعمال کرتے ہوئے، آپ کی پسند پر کام کرے گا۔ آپ کوئی بھی GNU/Linux ڈسٹری بیوشن انسٹال کر سکتے ہیں۔Linux ڈائرکٹری میں، تمام ضروری سیٹنگز بنائیں (آپ یہ الگ ڈائرکٹری میں کر سکتے ہیں)، اور پھر صرف ایک کمانڈ سے بوٹ ایبل ڈیوائس بنائیں، چاہے وہ آئی ایس او امیج ہو، USB، HDD، یا SSD ڈرائیو۔ آپ سسٹم کے ساتھ ایک initrd امیج بھی بنا سکتے ہیں۔ سسٹم ہمیشہ اسی حالت میں رہے گا، اور اگر کوئی چیز کریش ہو جاتی ہے، تو آپ اسے ری سیٹ بٹن کے ایک ہی پریس سے اس کی اصل حالت میں بحال کر سکتے ہیں۔ سسٹم کو دوسرے میزبان میں منتقل کرنا چاہتے ہیں یا موجودہ کنٹینر سے سسٹم بنانا چاہتے ہیں؟ بوبسٹریپ یہ کر سکتا ہے۔

اہم تبدیلیوں میں سے:

  • پہلے سے موجود grub2 کے علاوہ، syslinux بوٹ لوڈر کے لیے معاونت شامل کی گئی۔ اب آپ بالترتیب --legacy-boot syslinux اور --efi grub2 آپشنز کے ساتھ بوٹ ڈیوائس یا ISO امیج بناتے وقت grub2، syslinux، یا دونوں کو استعمال کرنے کا انتخاب کر سکتے ہیں، اور آپ یہ بھی منتخب کر سکتے ہیں کہ کون سے طریقوں سے ڈاؤن لوڈ آئی ایس او کو سپورٹ کرے گا۔ تصویر۔
  • شامل کیا گیا --bootable آپشن، جو کسی بھی بلاک ڈیوائس کو بوٹ ایبل بناتا ہے۔ ISO امیجز بنانے کے لیے، --iso-9660 آپشن کو استعمال کرنا چاہیے۔
  • تمام اوورلیز کے مواد کو tmpfs میں کاپی کرنے کے لیے boobs.use-shmfs، اوورلے FS کا استعمال کرتے ہوئے بوٹ کرنے کے لیے boobs.use-overlayfs، سسٹم کے ساتھ ذریعہ منتخب کرنے کے لیے boobs.search-rootfs، boobs.copy-to-ram شامل کیے گئے کرنل بوٹ آپشنز۔ سسٹم کو میموری میں کاپی کرنے کے لیے اور پھر ڈیوائس کو آف کرنا۔
  • بوبسٹریپ کے کام کرنے کے لیے صرف مطلوبہ انحصار cpio ہے۔ باقی انحصار اختیاری ہیں: grub2، syslinux - بوٹ ایبل میڈیا بنانے کے لیے درکار ہے، cdrkit یا xorriso میں سے انتخاب کرنے کے لیے - ISO بنانے کے لیے، squashfs-tools کو SquashFS بنانے کے لیے، لیکن کوئی چیز آپ کو -cpio آپشن کو استعمال کرنے سے نہیں روکتی ہے - squashfs آپ کی تقسیم کو آرکائیو میں پیک کرنے کے لیے۔ busybox صرف اس صورت میں استعمال کیا جائے گا جب یہ انسٹال ہو، لیکن اگر نہیں، تو آپ کے سسٹم سے تمام ضروری یوٹیلیٹیز کو کاپی کیا جائے گا۔ اس طرح، بوبسٹریپ تقریباً ہر جگہ کام کرنے کی ضمانت دیتا ہے۔

مثال کے طور پر، درج ذیل کمانڈ ایک initrd امیج بنائے گی جس میں ایک gentoo-chroot/ اسکواش ایف ایس امیج کے طور پر پیک کیا گیا سسٹم شامل ہے، جو initrd کے خود لوڈ ہونے کے بعد کامیابی سے بوٹ ہو جائے گا۔ میں آپ کو یاد دلاتا ہوں کہ اوورلے ایف ایس کو اسکواش ایف ایس کے ساتھ استعمال کرنے کے لیے، آپ کو boobs.use-overlayfs کرنل آپشن کو پاس کرنا ہوگا، ورنہ سسٹم کو tmpfs میں کھول دیا جائے گا۔ تمام اضافی ترتیبات ایک علیحدہ ڈائرکٹری میں بنائی جا سکتی ہیں، مثال کے طور پر gentoo-settings/

# mkdir initramfs/
# mkinitramfs initramfs/ --overlay gentoo-chroot/ --overlay gentoo-settings/ --squashfs > initrd

ایک initrd امیج جس میں سسٹم کے اندر موجود ہے اس وقت آسان ہوتا ہے جب آپ کو فوری طور پر کسی سسٹم کو تعینات کرنے کی ضرورت ہوتی ہے، مثال کے طور پر، PXE کے ذریعے، یا لوڈڈ سسٹم سوئچ پر initrd میں kexec -l /boot/vmlinuz-* -initrd=./initrd کمانڈ کا استعمال کرتے ہوئے && kexec -e، ٹھیک ہے یا، QEMU ورچوئل مشین انٹرفیس میں ہونے کی وجہ سے (ممکنہ طور پر Proxmox بھی)، تین IPXE کمانڈز کا استعمال کرتے ہوئے ریموٹ سورس سے بوٹ کریں: کرنل http://[...]/vmlinuz، initrd http://[ ...]/initrd، بوٹ۔ جیسا کہ آپ دیکھ سکتے ہیں، یہاں تک کہ آپ کے سسٹم کے اندر ایک باقاعدہ initrd کے بہت سے استعمال ہوتے ہیں۔

بوٹ ایبل ڈرائیوز اور امیجز بنانے کے لیے، mkbootisofs کمانڈ استعمال کی جاتی ہے، مثال کے طور پر، -iso-9660 آپشن کے ساتھ ISO امیج بنانا ایسا لگتا ہے جیسے Legacy-mode (BIOS) میں بوٹ کرنے کے لیے syslinux اور EFI- میں بوٹ کرنے کے لیے grub2 کا استعمال کریں۔ موڈ (UEFI)۔

# mkdir initrd/
# mkinitramfs initrd/ > initrd
# mkdir isoimage/
# mkdir isoimage/boot
# cp /boot/vmlinuz-* isoimage/boot/vmlinuz
# cp initrd isoimage/boot/initrd
# mkbootisofs isoimage/ —iso-9660 —legacy-boot syslinux —efi grub2 —آؤٹ پٹ boot.iso
--overlay gentoo-chroot/ --overlay gentoo-settings/ --squashfs

آپ بوٹ موڈ میں سے کسی ایک کی وضاحت کر سکتے ہیں، یا ان کی بالکل بھی وضاحت نہیں کر سکتے، متعلقہ ISO امیج کامیابی کے ساتھ بن جائے گی۔

کسی بھی ڈرائیو پر انسٹالیشن اور اس سے بعد میں بوٹنگ --bootable آپشن کا استعمال کرتے ہوئے کی جاتی ہے۔ آپ کو خود ڈرائیو پر پارٹیشنز بنانے کی ضرورت ہے (fdisk) اور انہیں فارمیٹ کرنا (mkdosfs، mke2fs، وغیرہ)، اور پھر ڈیوائس کو ڈائرکٹری میں ماؤنٹ کرنا ہے۔

# mount /dev/sdb1 /mnt/drive/
# mkbootisofs /mnt/drive/ --bootable --legacy-boot grub2 --efi grub2
--overlay gentoo-chroot/ --overlay gentoo-settings/ --squashfs

احتیاط --bootable آپشن اس بات کا تعین کرتا ہے کہ ڈائرکٹری کس بلاک ڈیوائس سے نصب ہے اور اس ڈیوائس پر بوٹ لوڈر انسٹال کرتا ہے۔ اگر آپ ڈیوائس کو ماؤنٹ کرنا بھول جاتے ہیں یا غلطی سے ایک ڈائرکٹری بتا دیتے ہیں جو واقع ہے، مثال کے طور پر، /dev/sda پر، /dev/sda پر بوٹ لوڈر اسی کے مطابق اوور رائٹ ہو جائے گا۔ --bootable احتیاط کے ساتھ استعمال کریں۔

کوئی بھی GNU انسٹال کرنا/Linux سسٹم کو صرف ایک کمانڈ سے انسٹال کیا جا سکتا ہے۔ تنصیب کسی بھی HDD، SSD، وغیرہ پر کی جا سکتی ہے۔ یہ بات قابل غور ہے کہ یہ اب بھی ایک ایسا نظام ہے جو اوورلے FS/SquashFS سے چلتا ہے، یا آپ کی ترجیح کے لحاظ سے مکمل طور پر tmpfs پر چلتا ہے۔

دوسری چیزوں کے علاوہ، بوبسٹریپ میں متعدد دلچسپ خصوصیات اور اضافی صلاحیتیں ہیں!

مثال کے طور پر، آپ mkinitramfs `mktemp -d` > /boot/initrd کمانڈ کے ساتھ ایک ملکیتی بوبسٹریپ initrd بنا سکتے ہیں اور اس initrd کے ساتھ اپنے سسٹم میں بوٹ کر سکتے ہیں، کرنل کے اختیارات boobs.use-overlayfs boobs.search-rootfs=/dev بتاتے ہوئے /sda1۔ اس صورت میں، /dev/sda1، جہاں آپ کا ہوم سسٹم انسٹال ہے، صرف پڑھنے کے لیے اوورلے FS پرت کے طور پر منسلک ہو جائے گا، اور آپ کی تمام تبدیلیاں صرف عارضی طور پر tmpfs میں لکھی جائیں گی۔ آپ boobs.copy-to-ram کا آپشن شامل کر سکتے ہیں اور پھر آپ کا پورا سسٹم RAM میں کاپی ہو جائے گا، اور ہارڈ ڈرائیو کو کمپیوٹر سے منقطع کیا جا سکتا ہے۔ جب آپ کو کسی چیز کو توڑنے کی ضرورت ہو تو آسان، اور آپ صرف ریبوٹ کرکے تبدیلیوں کو واپس لے سکتے ہیں۔ 🙂

لیکن اگر آپ کو اب بھی سسٹم میں ہونے والی تمام تبدیلیوں کو بچانے کی ضرورت ہے تو کیا ہوگا؟ مثال کے طور پر، آپ نے سافٹ ویئر انسٹال کیا یا کوئی اور چیز۔ خالص tmpfs میں کام کرتے وقت، یہ بدقسمتی سے ناممکن ہے، لیکن اگر آپ اوورلے FS کا استعمال کرتے ہوئے بوٹ کرتے ہیں، تو سسٹم میں ہونے والی تمام تبدیلیاں ایک علیحدہ tmpfs ڈائریکٹری میں محفوظ کی جاتی ہیں: /mnt/overlayfs/rootfs-changes! استعمال کا منظر نامہ بہت آسان ہے۔ آپ نے USB ڈیوائس سے اپنے سسٹم میں بوٹ کیا، کچھ کام کیا، اور ہر وہ چیز محفوظ کرنا چاہتے تھے جو تبدیل ہوئی تھی، پھر ایک cpio آرکائیو بنائیں اور اسے اسی USB ڈیوائس پر یہاں رکھ دیں۔

# cd /mnt/overlayfs/rootfs- تبدیلیاں
# مل ۔ -print0 | cpio --create --format "newc" --null --quiet > /mnt/drive/rootfs-changes.cpio
# cd $OLDPWD

آپ آرکائیو کو دیگر SquashFS اور cpio "لیئرز" کے آگے رکھ سکتے ہیں، پھر بعد میں لوڈ ہونے پر آرکائیو صرف پڑھنے کے لیے ایک اور پرت کے طور پر منسلک ہو جائے گا۔ تبدیلیوں کے ساتھ کام جاری رکھنے کے لیے، boobs.rootfs-changes=/rootfs-changes.cpio اپ لوڈ آپشن استعمال کریں۔ boobs.rootfs-changes آپشن تبدیلی تک رسائی کے ساتھ مخصوص پرت کو فعال کرتا ہے۔ پرت ایک بلاک ڈیوائس ہو سکتی ہے، مثال کے طور پر آپ /dev/sdb1 کی وضاحت کر سکتے ہیں، پھر اوورلے FS میں کی گئی تمام تبدیلیاں آسانی سے /dev/sdb1 میں محفوظ ہو جائیں گی۔

بوبسٹریپ، دستیاب وسیع امکانات کے باوجود، ترقی کے مرحلے پر ہے، آپ کے تمام تبصروں اور تجاویز کو مدنظر رکھا جاتا ہے!

ماخذ: linux.org.ru

DDoS تحفظ، VPS VDS سرورز والی سائٹوں کے لیے قابل اعتماد ہوسٹنگ خریدیں۔ DDoS تحفظ، VPS VDS سرورز کے ساتھ قابل اعتماد ویب سائٹ ہوسٹنگ خریدیں۔ ProHoster