Bootstrap v1.0 պատկերների ստեղծում


Bootstrap v1.0 պատկերների ստեղծում

Ցանկանում եմ ձեր ուշադրությանը ներկայացնել մի շրջանակ, որը կոչվում է boobstrap, որը գրված է POSIX կեղևում, GNU/Linux բաշխումներով boot պատկերներ ստեղծելու համար։ Շրջանակը թույլ է տալիս անցնել ամբողջ գործընթացը ընդամենը երեք պարզ քայլով՝ համակարգը տեղադրելուց chroot-ում, ստեղծելով initramfs պատկեր, որը ներառում է chrooted համակարգը և, ի վերջո, bootable ISO պատկեր: boobstrap-ը ներառում է համապատասխանաբար երեք կոմունալ mkbootstrap, mkinitramfs և mkbootisofs:

mkbootstrap-ը համակարգը տեղադրում է առանձին գրացուցակում, կա CRUX-ի բնիկ աջակցություն, իսկ Arch Linux/Manjaro-ի և Debian-ի վրա հիմնված բաշխումների դեպքում պետք է օգտագործվեն համապատասխանաբար երրորդ կողմի կոմունալ ծառայությունները՝ 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-ի մեջ կամ ստեղծել bootable ISO պատկեր այս initrd-ով:

mkbootisofs-ը ստեղծում է BIOS/UEFI bootable ISO պատկեր նշված գրացուցակից: Պարզապես գրացուցակում դրեք /boot/vmlinuz և /boot/initrd:

boobstrap-ը չի օգտագործում busybox, և աշխատանքային initramfs միջավայր ստեղծելու համար ծրագրերի նվազագույն փաթեթը պատճենվում է ldd-ի միջոցով, որն անհրաժեշտ է բեռնաթափելու և համակարգին անցնելու համար: Պատճենելու ծրագրերի ցանկը, ինչպես և մնացած ամեն ինչ, կարող է կազմաձևվել կազմաձևման ֆայլի /etc/boobstrap/boobstrap.conf-ի միջոցով: Բացի այդ, դուք կարող եք տեղադրել ցանկացած մինիմալիստական ​​բաշխում առանձին chroot/-ում, որից հետո կարող եք ստեղծել լիարժեք initramfs միջավայր: Որպես այդպիսի մինիմալիստական, բայց միևնույն ժամանակ լիարժեք միջավայր՝ առաջարկվում է օգտագործել «crux_gnulinux-embedded» կաղապարը, որը xz-ից հետո զբաղեցնում է 37 ՄԲ փոխզիջում։ busybox-ը, բացի իր չափից, 3-5 ՄԲ ընդդեմ լիարժեք GNU/Linux միջավայրի 30-50 ՄԲ-ի, այլևս որևէ առավելություն չի տալիս, ուստի նախագծում busybox օգտագործելը տեղին չի թվում:

Ինչպե՞ս արագ ստուգել ֆունկցիոնալությունը և սկսել: Տեղադրեք և գործարկեք:

# git կլոն https://github.com/sp00f1ng/boobstrap.git
# cd boobstrap
# make install# 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-ում համապատասխան քանակությամբ RAM-ով: Եթե ​​ինչ-որ բան բացակայում է համակարգում, boobstrap-ը կհայտնի այդ մասին գործարկման ժամանակ:

Կազմաձևերի ստեղծումը պարզեցնելու համար boobstrap-ն առաջարկում է օգտագործել «կաղապարներ» և «համակարգեր», որոնց էությունը կայանում է նրանում, որ օգտագործել «կաղապարներ» (bootstrap-templates/)՝ ֆայլից համակարգեր արագ տեղադրելու համար, և ուղղակիորեն «համակարգեր» (bootstrap- համակարգեր/) օգտագործվում է վերջնական կոնֆիգուրացիաներ ստեղծելու համար:

Այսպիսով, օրինակ, սկրիպտի boobstrap/bootstrap-templates/crux_gnulinux-embedded.bbuild գործարկումը կտեղադրի CRUX GNU/Linux համակարգի նվազագույն կոնֆիգուրացիան և կպահի այն crux_gnulinux-embedded.rootfs ֆայլում, այնուհետև գործարկեք boobstrap-sy/bootstrap: /default/crux_gnulinux.bbuild որը կբեռնի առաջնային կոնֆիգուրացիան նշված ֆայլից, կկատարի բոլոր անհրաժեշտ կոնֆիգուրացիան և կպատրաստի bootable ISO: Սա հարմար է, երբ, օրինակ, շատ համակարգեր օգտագործում են նույն տեսակի կոնֆիգուրացիա. որպեսզի ամեն անգամ նույն փաթեթները չնկարագրեն, դուք օգտագործում եք մեկ ձևանմուշ, որի հիման վրա ստեղծում եք վերջնական կոնֆիգուրացիայով համակարգերի բեռնման պատկերներ:

Որտեղ կարող եմ օգտագործել այս ամենը:

Դուք մեկ անգամ կարգավորում եք համակարգը ֆայլի մեջ և այն գործարկելով՝ կառուցում և/կամ թարմացնում եք այն: Համակարգն աշխատում է tmpfs-ով, ինչը այն հիմնականում միանգամյա օգտագործման է դարձնում: Եթե ​​համակարգը ձախողվի, կարող եք վերադառնալ իր սկզբնական վիճակին՝ «Վերականգնել» կոճակի մեկ սեղմումով: Դուք կարող եք ապահով գործարկել rm -rf /:

Դուք կարող եք կարգավորել ձեր բոլոր համակարգերի կոնֆիգուրացիաները տեղում, ստեղծել պատկերներ, փորձարկել դրանք վիրտուալ մեքենայում կամ առանձին սարքաշարում, այնուհետև վերբեռնել դրանք հեռավոր սերվեր և գործարկել ընդամենը երկու հրաման kexec -l /vmlinuz —initrd=/initrd && kexec -e: ամբողջ համակարգը թարմացնելու համար՝ այն վերագործարկելով tmpfs-ի:

Նույն կերպ կարող եք բոլոր համակարգերը, օրինակ VDS-ով, փոխանցել tmpfs-ով աշխատելու, և /dev/vda սկավառակը կոդավորել և օգտագործել միայն տվյալների համար՝ առանց օպերացիոն համակարգը դրա վրա պահելու անհրաժեշտության։ Միակ «տեղեկատվության արտահոսքի կետը» այս դեպքում կլինի միայն ձեր վիրտուալ մեքենայի հիշողության «սառը աղբը» և համակարգի խախտման դեպքում (օրինակ՝ գուշակելով ssh գաղտնաբառը կամ խոցելիությունը. Exim), կարող եք ներբեռնել նոր ISO ձեր մատակարարի «կառավարման վահանակի» միջոցով՝ VDS-ը նորից գործարկելու համար՝ չմոռանալով խմբագրել համակարգի կոնֆիգուրացիան՝ փակելու բոլոր խոցելիությունները: Սա ավելի արագ է, քան վերատեղադրումը, հետագա կազմաձևումը և/կամ կրկնօրինակից վերականգնումը, քանի որ, ըստ էության, ձեր համակարգի հետ ներբեռնվող ISO-ն ձեր կրկնօրինակն է: «Յոթ անախորժություն՝ մեկ զրոյացում»։

Ի վերջո, դուք կարող եք ստեղծել ցանկացած բաշխում ձեր կարիքների համար, գրել այն USB կրիչի վրա և աշխատել դրա մեջ՝ անհրաժեշտության դեպքում թարմացնելով այն և նորից գրել USB կրիչում: Բոլոր տվյալները պահվում են ամպերի մեջ: Այլևս կարիք չկա անհանգստանալու համակարգի անվտանգության մասին և կրկնօրինակում անել, երբ համակարգը, կրկնում եմ, ըստ էության դարձել է «մեկանգամյա օգտագործման»:

Ձեր ցանկությունները, առաջարկներն ու դիտողությունները ողջունելի են:

Ստորև բերված հղման պահոցում կա մանրամասն README ֆայլ (անգլերեն) յուրաքանչյուր օգտակար ծրագրի նկարագրությամբ և օգտագործման օրինակներով, կա նաև մանրամասն փաստաթղթեր ռուսերեն լեզվով և զարգացման պատմությունը հասանելի է հղումով. Boobstrap boot script համալիր.

Source: linux.org.ru

Добавить комментарий