د بوټسټریپ v1.0 عکسونو رامینځته کول


د بوټسټریپ v1.0 عکسونو رامینځته کول

زه غواړم ستاسو پام ته یو چوکاټ وړاندې کړم چې د بوبسټریپ په نوم یادیږي، د POSIX شیل کې لیکل شوی، د GNU/Linux توزیع سره د بوټ عکسونو جوړولو لپاره. چوکاټ تاسو ته اجازه درکوي چې ټولې پروسې ته یوازې په دریو ساده مرحلو کې لاړشئ: په کروټ کې د سیسټم له مینځه وړلو څخه ، د initramfs عکس رامینځته کول چې د کروټ شوی سیسټم پکې شامل وي ، او په نهایت کې د بوټ وړ ISO عکس. boobstrap په ترتیب سره درې اسانتیاوې mkbootstrap، mkinitramfs او mkbootisofs لري.

mkbootstrap سیسټم په جلا لارښود کې نصبوي، د CRUX لپاره اصلي ملاتړ شتون لري، او د آرچ لینکس / مانجارو او دبیان پر بنسټ ویشونو کې، د دریمې ډلې اسانتیاوې pacstrap، basestrap او debootstrap باید په ترتیب سره وکارول شي.

mkinitramfs د initramfs انځور جوړوي، تاسو کولی شئ په ډایرکټر کې نصب شوي سیسټم د "اوورلي" په توګه وکاروئ، د SquashFS په کارولو سره کمپریس شوی، یا سیسټم ته د بوټ کولو وروسته، په مستقیم ډول په tmpfs کې کار وکړئ. نو د مثال په توګه، کمانډ mkinitramfs `mktemp -d` --overlay "arch-chroot/" --overlay "/home" --squashfs-xz --output initrd به د initrd فایل رامینځته کړي، په شمول د "arch- سره دوه پوښونه" chroot/" سیسټم او ستاسو "/home"، د SquashFS په کارولو سره کمپریس شوی، کوم چې تاسو کولی شئ د PXE له لارې په tmpfs کې بوټ کړئ، یا د دې initrd سره د بوټ وړ ISO عکس جوړ کړئ.

mkbootisofs د ټاکل شوي لارښود څخه د BIOS/UEFI بوټ وړ ISO عکس رامینځته کوي. یوازې /boot/vmlinuz او /boot/initrd په ډایرکټر کې واچوئ.

boobstrap busybox نه کاروي، او د initramfs کاري چاپیریال رامینځته کولو لپاره، د پروګرامونو لږترلږه سیټ د ldd په کارولو سره کاپي کیږي، سیسټم ته د بوټ کولو او بدلولو لپاره اړین دی. د کاپي کولو لپاره د پروګرامونو لیست، لکه د هر څه په څیر، د ترتیب کولو فایل /etc/boobstrap/boobstrap.conf له لارې تنظیم کیدی شي. همچنان ، تاسو کولی شئ هر ډول لږترلږه توزیع په جلا کروټ/ کې نصب کړئ ، له کوم څخه چې تاسو کولی شئ د بشپړ initramfs چاپیریال رامینځته کړئ. لکه څنګه چې لږ تر لږه، مګر په ورته وخت کې بشپړ چاپیریال، دا وړاندیز کیږي چې د "crux_gnulinux-embedded" ټیمپلیټ وکاروئ، کوم چې د xz وروسته د 37 MB سره جوړجاړی کوي. busybox، د هغې د اندازې سربیره، د 3-5 MB په مقابل کې د 30-50 MB بشپړ GNU/Linux چاپیریال، نور هیڅ ګټه نه وړاندې کوي، نو په پروژه کې د مصروف بکس کارول مناسب نه ښکاري.

څنګه په چټکۍ سره فعالیت وګورئ او پیل یې کړئ؟ نصب او چلول.

# git کلون https://github.com/sp00f1ng/boobstrap.git
# cd boobstrap
# نصب کړئ # boobstrap/tests/crux_gnulinux-download-and-build
# qemu-system-x86_64 -enable-kvm -m 1G -cdrom tmp.*/install.iso

تاسو د انحصارونو نصبولو ته هم اړتیا لرئ، یعنې: cpio، grub، grub-efi، dosfstools، xorriso. د squashfs-tools کارول اړین ندي؛ تاسو کولی شئ د مناسب مقدار سره په tmpfs کې کار وکړئ. که چیرې په سیسټم کې یو څه ورک وي، بوبسټراپ به دا د پیل په وخت کې راپور کړي.

د تشکیلاتو رامینځته کولو ساده کولو لپاره ، بوبسټراپ د "ټیمپلیټ" او "سیسټمونو" کارولو وړاندیز کوي ، د دې جوهر د فایل څخه د سیسټمونو ګړندي نصبولو لپاره د "ټیمپلیټونو" (بوټسټریپ-ټیمپلیټ/) کارول دي ، او مستقیم "سیسټمونه" (بوټسټریپ- سیسټمونه/) د وروستي تشکیلاتو تنظیم کولو لپاره کارول کیږي.

نو د مثال په توګه، د سکریپټ چلول boobstrap/bootstrap-templates/crux_gnulinux-embedded.bbuild به د CRUX GNU/Linux سیسټم لږترلږه ترتیب نصب کړي او په crux_gnulinux-embedded.rootfs فایل کې به یې خوندي کړي، بیا به تاسو boobstrapsybootstep/boobstrap. /default/crux_gnulinux.bbuild کوم چې به د ذکر شوي فایل څخه لومړني تشکیلات پورته کړي، ټول اړین ترتیبات ترسره کړي او د بوټ وړ ISO چمتو کړي. دا مناسبه ده کله چې، د بیلګې په توګه، ډیری سیسټمونه ورته ترتیب کاروي: د دې لپاره چې هر ځل د پیکجونو ورته سیټ تشریح نه کړي، تاسو یو ټیمپلیټ کاروئ، چې پر بنسټ یې تاسو د وروستي ترتیب سره د سیسټمونو بوټ انځورونه جوړ کړئ.

زه دا ټول چیرته کارولی شم؟

تاسو سیسټم یو ځل په فایل کې تنظیم کړئ او په چلولو سره یې تاسو جوړ او / یا تازه کړئ. سیسټم په tmpfs کې پرمخ ځي، کوم چې دا په لازمي ډول د ضایع کیدو وړ کوي. که سیسټم ناکام شي، تاسو کولی شئ د ری سیٹ تڼۍ په یوه کلیک سره خپل اصلي حالت ته راستانه شئ. تاسو کولی شئ په خوندي ډول rm -rf / چل کړئ.

تاسو کولی شئ د خپلو ټولو سیسټمونو ترتیب په محلي توګه تنظیم کړئ، انځورونه جوړ کړئ، په مجازی ماشین یا جلا هارډویر کې یې و ازموئ، بیا یې په ریموټ سرور کې اپلوډ کړئ او یوازې دوه کمانډونه چل کړئ kexec -l /vmlinuz —initrd=/initrd && kexec -e. د ټول سیسټم تازه کولو لپاره، دا په tmpfs کې ریبوټ کړئ.

په ورته ډول، تاسو کولی شئ ټول سیسټمونه انتقال کړئ، د بیلګې په توګه په VDS کې، په tmpfs کې کار کول، او /dev/vda ډیسک کوډ کړئ او دا یوازې د ډیټا لپاره وکاروئ، پرته له دې چې عملیاتي سیسټم وساتئ. پدې حالت کې به د معلوماتو لیکیدو یوازینۍ نقطه یوازې ستاسو د مجازی ماشین حافظې "کولډ ډمپ" وي ، او د سیسټم سره د جوړجاړي په حالت کې (د مثال په توګه ، د ssh پاسورډ اټکل کول یا د زیان مننې له لارې. Exim)، تاسو کولی شئ د خپل چمتو کونکي د "کنټرول پینل" له لارې یو نوی ISO ډاونلوډ کړئ، ترڅو VDS بیرته فعالیت ته راوړي، پرته له دې چې د ټولو زیانونو د بندولو لپاره د سیسټم ترتیب ترمیم کول هیر کړي. دا د بیا انسټالولو، وروسته ترتیب کولو او/یا د بیک اپ څخه بیا رغولو څخه ګړندی دی، ځکه چې په حقیقت کې، ستاسو د سیسټم سره د ډاونلوډ وړ ISO ستاسو بیک اپ دی. "اوه ستونزې - یو بیا ځای پرځای کول."

په نهایت کې ، تاسو کولی شئ د خپلو اړتیاو لپاره هر ډول توزیع رامینځته کړئ ، دا په USB ډرایو کې ولیکئ او په هغې کې کار وکړئ ، د اړتیا سره سم یې تازه کړئ او بیا یې USB ډرایو ته بیا ولیکئ. ټول معلومات په بادل کې زیرمه شوي. تاسو نور اړتیا نلرئ د سیسټم خوندیتوب په اړه اندیښنه ولرئ او بیک اپ جوړ کړئ کله چې سیسټم ، زه تکراروم ، په لازمي ډول "دسپوز وړ" شو.

ستاسو هیلې، وړاندیزونه او نظرونه ښه راغلاست.

په لاندې لینک کې په ذخیره کې د هر کارونې توضیحاتو او د کارولو مثالونو سره یو مفصل README فایل (په انګلیسي کې) شتون لري ، په روسی کې تفصيلي اسناد هم شتون لري او په لینک کې د پراختیا تاریخ شتون لري: د بوبسټریپ بوټ سکریپټ پیچلتیا.

سرچینه: linux.org.ru

Add a comment