Bootstrapi käivituspiltide loomine v1.0


Bootstrapi käivituspiltide loomine v1.0

Tutvustan teile raamistikku nimega boobstrap, mis on kirjutatud POSIX shellis, et luua käivitusarvutusi GNU/Linuxi distributsioonide jaoks. Raamistik võimaldab läbida kogu protsessi kolme lihtsa sammuga: alates süsteemi seadistamisest chrootis, initramfs-pildi loomisega, mis sisaldab chrootis olevat süsteemi, ja lõpuks käivitus-ISO-pildi loomisega. Boobstrap sisaldab kolme utiliiti: mkbootstrap, mkinitramfs ja mkbootisofs vastavalt.

mkbootstrap paigutab süsteemi eraldi katalooge, pakkudes kodumaist tuge CRUX-i jaoks, ning Arch Linuxi / Manjaro ja Debian-põhiste distributsioonide puhul tuleb kasutada kolmandate osapoolte utiliite pacstrap, basestrap ja debootstrap vastavalt.

mkinitramfs loob initramfs-pildi, mida saate kasutada paigaldatud süsteemi kataloogis kui "overlay", mis on SquashFS-iga kokku surutud, või laadides 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", kokku surutud SquashFS-iga, mida saate hiljem PXE kaudu tmpfs-i laadida või luua käivitatava ISO-pildi selle initrd-iga.

mkbootisofs loob BIOS / UEFI käivitatava ISO-pildi antud kataloogist. Katalooge piisab kui panna /boot/vmlinuz ja /boot/initrd.

boobstrap ei kasuta busybox'i ning töökeskkonna loomiseks kopeeritakse initramfs'i minimaalne programmide komplekt, mis on vajalik süsteemi käivitamiseks ja vahetamiseks. Kopeeritavate programmide nimekirja, nagu ka kõik muu, saab konfigureerida faili kaudu /etc/boobstrap/boobstrap.conf. Samuti saate installida mis tahes minimalistliku distributsiooni eraldi chroot/, mille põhjal luua täiustatud initramfs keskkond. Sellise minimalistliku, kuid samas täieliku keskkonnana soovitatakse kasutada mustrit „crux_gnulinux-embedded”, mis xz pärast kaalub kompromissitult 37mb. busybox'il ei paku oma suurusest, 3–5mb võrreldes 30–50mb täieliku GNU/Linux keskkonnaga, rohkem mingeid eeliseid, seetõttu ei tundu busybox'i kasutamine projektis mõistlik.

Kuidas kiiresti testida töövõimet 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
# qemu-system-x86_64 -enable-kvm -m 1G -cdrom tmp.*/install.iso

Samuti peab teil installima sõltuvused, nimelt: cpio, grub, grub-efi, dosfstools, xorriso. squashfs-tools'i kasutamine ei ole kohustuslik, saate töötada tmpfs-is, kui opsüsteemis on piisavalt mälu. Kui süsteemist puudub midagi, teavitab boobstrap selle käivitamisel.

Konfiguratsioonide loomise lihtsustamiseks pakub boobstrap „mallide” ja „süsteemide” kasutamist, mille olemus on kasutada „malle” (bootstrap-templates/) süsteemide kiireks installimiseks failist, ja otse „süsteeme” (bootstrap-systems/) lõplike konfiguratsioonide seadistamiseks.

Näiteks skripti boobstrap/bootstrap-templates/crux_gnulinux-embedded.bbuild käivitamine loob minimaalsete seadistustega CRUX GNU/Linux süsteemi ja salvestab selle faili crux_gnulinux-embedded.rootfs. Seejärel käivitate boobstrap/bootstrap-systems/default/crux_gnulinux.bbuild, mis laadib algse seadistuse eelmainitud failist, teeb kõik vajalikud seadistused ja valmistab ette käivitatava ISO. See on mugav, kui näiteks palju süsteeme kasutab sarnast konfiguratsiooni: et iga kord mitte kirjeldada sama pakettide komplekti, kasutate ühte mall, mille alusel loote käivitatavad süsteemi pilte lõppkonfiguratsiooniga.

Kus seda kõik kasutada?

Seadistate süsteemi failis ühe korra ja selle käivitamisega teete selle kokkuvõtte ja/või uuenduse. Süsteem töötab tmpfs-i all, mistõttu on see sisuliselt ühekordne. Kui süsteem rikke korral, siis ühe nupuvajutusega Reset naasete algsesse olekusse. Saate rahulikult käivitada rm -rf /.

Saate konfigureerida kõiki oma süsteeme kohapeal, luua pilte, testida neid virtuaalmasinas või eraldi «rauda» ning seejärel laadida need kaugserverisse ja kogu süsteemi uuendada vaid kahe käsuga kexec -l /vmlinuz —initrd=/initrd && kexec -e, taaskäivitades selle tmpfs-i.

Samamoodi saate migreerida kõik süsteemid, näiteks VDS-i, töötama tmpfs-is, kusjuures ketas /dev/vda on krüpteeritud ja kasutate seda ainult andmete jaoks, ilma vajaduseta hoida operatsioonisüsteemi sellel. Ainuke «teabe lekkimise» koht on sellisel juhul ainult teie virtuaalmasina «külm dump» mälu, ja süsteemi kompromiteerimisel (näiteks ssh parooli valimise või exim haavatavuse kaudu) saate laadida uue ISO oma teenusepakkuja «juhtpaneeli» kaudu, et taastada VDS, unustamata samas redigeerida süsteemi konfiguratsiooni, sulgedes kõik haavatavused. See on kiirem kui uuesti installimine, sellele järgnev seadistamine ja/või varukoopiast taastamine, kuna loodud ISO oma süsteemi kujul ongi teie varukoopia. «Seitsme häda - üks Reset.»

Lõppude lõpuks võite luua mis tahes distributsiooni vastavalt oma vajadustele, kirjutada selle USB-mäluseadmest ja töötada selle peal, uuendades seda vajadusel ja kirjutades selle uuesti USB-mälusele. Kõiki andmeid hoitakse „pilves”. Ei pea enam muretsema süsteemi turvalisuse pärast ega tegema selle varukoopiat, kui süsteem, nagu ma juba ütlesin, on põhimõtteliselt „ühekordne”.

Teie soovitused, ettepanekud ja märkused on teretulnud.

Repositooriumis lingil on üksikasjalik README-fail (ingliskeeles), kus on kirjas iga tööriista kirjeldus ja kasutusnäidised, samuti on olemas üksikasjalik dokumentatsioon vene keeles ja arengulugu, mis on saadaval lingil: Käivitusskripti kompleks boobstrap.

Allikas: linux.org.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster