Soovin tutvustada teile raamistikku nimega boobstrap, mis on kirjutatud POSIX shellis ning mĂ”eldud GNU/Linux jaotiste bootable piltide loomiseks. Raamistik vĂ”imaldab lĂ€bida kogu protsessi kolme lihtsa sammuga: alates sĂŒsteemi seadistamisest chrootis, initramfs-pildi loomisest, mis sisaldab sĂŒsteemi chrootist, kuni bootable ISO-pildi loomisega. Boobstrap sisaldab kolme utiliiti: mkbootstrap, mkinitramfs ja mkbootisofs vastavalt.
mkbootstrap paigaldab sĂŒsteemi eraldi katalooge, omades natiivset tuge CRUXile, ning Arch Linuxi / Manjaro ja Debianil pĂ”hinevate jaotiste puhul tuleb kasutada sĂ”ltumatuid utiliite pacstrap, basestrap ja debootstrap vastavalt.
mkinitramfs loob initramfs-pildi; saate kasutada paigaldatud sĂŒsteemi kataloogis kui "overlay", mis on SquashFSiga tihendatud, vĂ”i laadida sĂŒsteemi otse tmpfs-i. NĂ€iteks kĂ€sk mkinitramfs `mktemp -d` âoverlay "arch-chroot/" âoverlay "\/home" âsquashfs-xz âoutput initrd loob initrd faili, mis sisaldab kahte overlayd "arch-chroot/" sĂŒsteemist ja teie "\/home"'ist, mis on SquashFSiga tihendatud ja mida saab seejĂ€rel PXE kaudu tmpfs-i laadida vĂ”i luua bootable ISO pilt koos selle initrd-iga.
mkbootisofs loob BIOSi / UEFI bootable ISO-pildi antud kataloogist. Katalooge piisab, kui panna sinna \/boot\/vmlinuz ja \/boot\/initrd.
boobstrap ei kasuta busyboxi ning initramfs'i töötamiseks kopeeritakse minimaalne programmide kogum koos ldd abil, mis on vajalikud sĂŒsteemi laadimiseks ja vahetamiseks. Programmide kopeerimise nimekiri, nagu kĂ”ik muu, on seadistatav konfiguratsioonifailis \/etc\/boobstrap\/boobstrap.conf. Samuti saate paigaldada ĂŒkskĂ”ik millise minimalistliku jaotuse eraldi chrooti, mille kaudu on vĂ”imalik luua tĂ€ielik initramfs keskkond. Tootena sellisest minimalistlikust, kuid samas funktsionaalsetest keskkondadest, soovitatakse kasutada malli "crux_gnulinux-embedded", mis xz pĂ€rast jÀÀb 37MB kaaluga. Busybox, vĂ€lja arvatud oma suurus, 3-5MB vĂ”rreldes 30-50MB tĂ€isfunktsionaalse GNU/Linux keskkonnaga, ei paku rohkem mingeid eeliseid, seega ei nĂ€e ma busyboxi kasutamine projektis mĂ”istlikku.
Kuidas kiiresti kontrollida töövalmidust ja alustada tööd? Paigaldage ja kÀivitage.
# git clone https://github.com/sp00f1ng/boobstrap.git
# cd boobstrap
# make install# boobstrap/tests/crux_gnulinux-download-and-build
Samuti peate installima sĂ”ltuvused, nimelt: cpio, grub, grub-efi, dosfstools, xorriso. squashfs-tools'i kasutamine ei ole kohustuslik, saate töötada tmpfs keskkonnas, kui teie sĂŒsteemis on piisavalt RAM-i. Kui midagi sĂŒsteemist puudub, teavitab boobstrap teid sellest kĂ€ivitamisel.
Konfiguratsioonide loomist lihtsustamiseks pakub boobstrap kasutada "mallide" ja "sĂŒsteemide" mĂ”istet, mis tĂ€hendavad, et saate kasutada "mallde" (bootstrap-templates/) sĂŒsteemide kiireks paigaldamiseks failist, ja otseselt "sĂŒsteeme" (bootstrap-systems/) kasutada lĂ”plikeks konfiguratsioonide seadistamiseks.
NĂ€iteks skripti kĂ€ivitamine boobstrap/bootstrap-templates/crux_gnulinux-embedded.bbuild installib minimaalsete konfiguratsioonidega CRUX GNU/Linux sĂŒsteemi ja salvestab selle faili crux_gnulinux-embedded.rootfs. Edasi kĂ€ivitate boobstrap/bootstrap-systems/default/crux_gnulinux.bbuild, mis laadib algkonfiguratsiooni nimetatud failist, teostab kogu vajalikud seadistused ja valmistab ette bootitava ISO. See on mugav, kui nĂ€iteks mitmed sĂŒsteemid kasutavad ĂŒhesugust konfiguratsiooni: et mitte iga kord sama paketide komplekti kirja panna, kasutate ĂŒhte malle, mille alusel loote bootitavad sĂŒsteemide kujundid koos lĂ”pliku konfiguratsiooniga.
Kus seda kasutada?
Seate sĂŒsteemi failis ĂŒhe korra ja selle kĂ€ivitamisega saate seda koostada ja/vĂ”i uuendada. SĂŒsteem töötab tmpfs-is, mistĂ”ttu on see pĂ”himĂ”tteliselt ĂŒhekordne. Kui sĂŒsteem ebaĂ”nnestub, tagastate ĂŒhe nupuvajutusega Reset algolekusse. VĂ”ite rahulikult tĂ€ita rm -rf /.
Saate seadistada kĂ”igi oma sĂŒsteemide konfiguratsioonid kohalikult, luua kujundeid, testida neid virtuaalmasinas vĂ”i eraldi "raua" peal, seejĂ€rel laadige need kaugserverisse ja kĂ€ivitades ainult kaks kĂ€sku kexec -l /vmlinuz âinitrd=/initrd && kexec -e uuendada kogu sĂŒsteemi tervikuna, taaskĂ€ivitades selle tmpfs-i.
Sama moodi saate tĂ”lkida kĂ”iki sĂŒsteeme, nĂ€iteks VDS-i, rakendama tmpfs-i ning krĂŒpteerima ketta /dev/vda ja kasutama seda ainult andmete hoidmiseks, ilma et oleks vaja operatsioonisĂŒsteemi seal hoida. Ainus "teabe lekke koht" sellisel juhul on teie virtuaalse masina âkĂŒlm mĂ€ludumpingâ, ning sĂŒsteemi kompromiteerimise korral (nĂ€iteks SSH parooli katse vĂ”i Eximi haavatavuse tĂ”ttu) saate laadida uue ISO lĂ€bi oma teenusepakkuja âjuhtpaneeliâ, et taastada VDS taas tööle, unustamata samas sĂŒsteemi konfiguratsiooni redigeerida, sulgedes kĂ”ik haavatavused. See on kiirem kui uuesti installimine, jĂ€rgnev seadistamine ja/vĂ”i varukoopiatest taastamine, sest laaditav ISO teie sĂŒsteemiga on teie varukoopia. âSeitsme mure â ĂŒks Reset.â
LĂ”ppkokkuvĂ”ttes saate luua mis tahes distributsiooni oma vajaduste jaoks, kirjutada selle USB-mĂ€lupulgale ja töötada sellel, uuendades seda vajadusel ja kirjutades selle taas USB-mĂ€lupulgale. KĂ”ik andmed hoida âpilvedesâ. Ei ole enam vaja muretseda sĂŒsteemi sĂ€ilitamise ja varukoopia tegemise pĂ€rast, kui sĂŒsteem, nagu ma juba ĂŒtlesin, on pĂ”himĂ”tteliselt saanud âĂŒhekordseksâ kasutamiseks.
Teie soovitused, ettepanekud ja mÀrkused on teretulnud.
Repo alloleval lingil on ĂŒksikasjalik README-fail (inglise keeles), mis kirjeldab iga utiliidi ja kasutusnĂ€iteid, samuti on olemas ĂŒksikasjalik dokumentatsioon vene keeles ja arengulugu, mis on saadaval jĂ€rgmise lingi kaudu: KĂ€ivitusskriptide kompleks boobstrap.
Allikas: linux.org.ru

