Boobstrap v1.0 įkrovos vaizdų kūrimas


Boobstrap v1.0 įkrovos vaizdų kūrimas

Norėčiau jūsų dėmesiui pristatyti sistemą, vadinamą boobstrap, parašytą POSIX apvalkale, skirtą įkrovos atvaizdams kurti naudojant GNU/Linux paskirstymus. Sistema leidžia atlikti visą procesą tik trimis paprastais žingsniais: pradedant sistemos diegimu chroot, sukuriant initramfs vaizdą, kuriame yra chroot sistema, ir galiausiai paleidžiamo ISO atvaizdo. „boobstrap“ apima atitinkamai tris programas mkbootstrap, mkinitramfs ir mkbootisofs.

„mkbootstrap“ įdiegia sistemą atskirame kataloge, yra vietinis CRUX palaikymas, o „Arch Linux / Manjaro“ ir „Debian“ pagrindu sukurtų paskirstymų atveju turi būti atitinkamai naudojamos trečiųjų šalių paslaugos pacstrap, basestrap ir debootstrap.

mkinitramfs sukuria initramfs atvaizdą, galite naudoti įdiegtą sistemą kataloge kaip "perdangą", suspaustą naudojant SquashFS arba paleidę sistemą, dirbti tiesiogiai tmpfs. Pavyzdžiui, komanda mkinitramfs `mktemp -d` --overlay "arch-chroot/" --overlay "/home" --squashfs-xz --output initrd sukurs initrd failą, įskaitant dvi perdangas su "arch- chroot/" sistemą ir savo "/home", suglaudintą naudojant SquashFS, kurį galite paleisti per PXE į tmpfs arba sukurti įkrovos ISO atvaizdą naudodami šį initrd.

mkbootisofs sukuria BIOS/UEFI įkrovos ISO atvaizdą iš nurodyto katalogo. Tiesiog įdėkite /boot/vmlinuz ir /boot/initrd į katalogą.

boobstrap nenaudoja busybox, o norint sukurti veikiančią initramfs aplinką, naudojant ldd nukopijuojamas minimalus programų rinkinys, reikalingas paleisti ir perjungti į sistemą. Kopijuotinų programų sąrašas, kaip ir visa kita, gali būti sukonfigūruotas naudojant konfigūracijos failą /etc/boobstrap/boobstrap.conf. Be to, bet kokį minimalistinį platinimą galite įdiegti į atskirą chroot/, iš kurio galėsite sukurti visavertę initramfs aplinką. Kaip tokią minimalistinę, bet kartu ir pilnavertę aplinką, siūloma naudoti šabloną „crux_gnulinux-embedded“, kuris po xz užima 37 MB kompromisą. Busybox, be savo dydžio, 3-5 MB, palyginti su 30-50 MB visavertėje GNU/Linux aplinkoje, nebeteikia jokių pranašumų, todėl busybox naudojimas projekte neatrodo tinkamas.

Kaip greitai patikrinti funkcionalumą ir pradėti? Įdiekite ir paleiskite.

# git klonas 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

Taip pat turite įdiegti priklausomybes, būtent: cpio, grub, grub-efi, dosfstools, xorriso. Naudoti squashfs-tools nebūtina; galite dirbti su tmpfs su atitinkamu RAM kiekiu. Jei sistemoje kažko trūksta, „boobstrap“ apie tai praneš paleidus.

Norėdami supaprastinti konfigūracijų kūrimą, „boobstrap“ siūlo naudoti „šablonus“ ir „sistemas“, kurių esmė yra naudoti „šablonus“ (bootstrap-templates/), norint greitai įdiegti sistemas iš failo, ir tiesiogiai „sistemas“ (bootstrap- sistemos/), naudojamos galutinėms konfigūracijoms nustatyti.

Pavyzdžiui, paleidus scenarijų boobstrap/bootstrap-templates/crux_gnulinux-embedded.bbuild bus įdiegta minimali CRUX GNU/Linux sistemos konfigūracija ir išsaugoma faile crux_gnulinux-embedded.rootfs, tada paleisite boobstrap/bootstrap-systems /default/crux_gnulinux.bbuild kuri įkels pirminę konfigūraciją iš minėto failo, atliks visą reikiamą konfigūraciją ir paruoš įkrovos ISO. Tai patogu, kai, pavyzdžiui, daugelis sistemų naudoja to paties tipo konfigūraciją: kad kiekvieną kartą nebūtų aprašomas tas pats paketų rinkinys, naudojamas vienas šablonas, pagal kurį sukuriami sistemos įkrovos vaizdai su galutine konfigūracija.

Kur galiu visa tai panaudoti?

Sistemą konfigūruojate faile vieną kartą ir ją paleisdami kuriate ir (arba) atnaujinate. Sistema veikia tmpfs, todėl ji iš esmės yra vienkartinė. Jei sistema sugenda, vienu mygtuko Reset spustelėjimu galite grįžti į pradinę būseną. Galite saugiai paleisti rm -rf /.

Galite konfigūruoti visų savo sistemų konfigūracijas vietoje, kurti vaizdus, ​​išbandyti juos virtualioje mašinoje arba atskiroje aparatinėje įrangoje, tada įkelti juos į nuotolinį serverį ir paleisti tik dvi komandas kexec -l /vmlinuz —initrd=/initrd && kexec -e Norėdami atnaujinti visą sistemą, iš naujo paleiskite ją į tmpfs.

Lygiai taip pat galite perkelti visas sistemas, pavyzdžiui, VDS, kad veiktų tmpfs, o /dev/vda diską užšifruoti ir naudoti tik duomenims, nereikės jame laikyti operacinės sistemos. Vienintelis „informacijos nutekėjimo taškas“ šiuo atveju bus tik jūsų virtualios mašinos atminties „šaltas iškrovimas“ ir sistemos pažeidimo atveju (pavyzdžiui, atspėjus ssh slaptažodį ar pažeidžiamumą Exim), galite atsisiųsti naują ISO per savo teikėjo „valdymo skydelį“, kad VDS vėl pradėtų veikti, nepamirštant redaguoti sistemos konfigūracijos, kad uždarytumėte visas pažeidžiamumas. Tai greičiau nei iš naujo įdiegti, vėliau konfigūruoti ir (arba) atkurti iš atsarginės kopijos, nes iš esmės atsisiunčiamas ISO su jūsų sistema yra jūsų atsarginė kopija. „Septynios bėdos – vienas atstatymas“.

Galų gale galite sukurti bet kokį platinimą pagal savo poreikius, įrašyti jį į USB diską ir dirbti jame, atnaujindami jį pagal poreikį ir vėl perrašydami į USB diską. Visi duomenys saugomi debesyse. Jums nebereikia nerimauti dėl sistemos saugumo ir daryti atsarginės kopijos, kai sistema, kartoju, iš esmės tapo „vienkartinė“.

Laukiame Jūsų pageidavimų, pasiūlymų ir pastabų.

Žemiau esančioje nuorodoje esančioje saugykloje yra išsamus README failas (anglų kalba) su kiekvienos programos aprašymu ir naudojimo pavyzdžiais, taip pat yra išsami dokumentacija rusų kalba ir kūrimo istorija, kurią rasite nuorodoje: Boobstrap įkrovos scenarijaus kompleksas.

Šaltinis: linux.org.ru

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