Stvaranje bootstrap v1.0 slika


Stvaranje bootstrap v1.0 slika

Želio bih vam predstaviti okvir pod nazivom boobstrap, napisan u POSIX ljusci, za stvaranje slika za pokretanje s GNU/Linux distribucijama. Framework vam omogućuje da prođete kroz cijeli proces u samo tri jednostavna koraka: od postavljanja sustava u chroot, kreiranja initramfs slike koja uključuje chroot sustav i na kraju ISO slike za pokretanje. boobstrap uključuje tri pomoćna programa mkbootstrap, mkinitramfs i mkbootisofs.

mkbootstrap instalira sustav u poseban direktorij, postoji izvorna podrška za CRUX, a u slučaju distribucija temeljenih na Arch Linuxu / Manjaru i Debianu, moraju se koristiti uslužni programi trećih strana pacstrap, basestrap i debootstrap.

mkinitramfs stvara initramfs sliku, možete koristiti instalirani sustav u direktoriju kao "overlay", komprimiran pomoću SquashFS-a, ili nakon dizanja sustava, raditi izravno u tmpfs. Na primjer, naredba mkinitramfs `mktemp -d` --overlay "arch-chroot/" --overlay "/home" --squashfs-xz --output initrd stvorit će initrd datoteku, uključujući dva sloja s "arch- chroot/" sustav i vaš "/home", komprimiran korištenjem SquashFS-a, koji zatim možete pokrenuti putem PXE-a u tmpfs ili stvoriti ISO sliku za pokretanje s ovim initrd-om.

mkbootisofs stvara BIOS/UEFI ISO sliku za pokretanje iz navedenog direktorija. Samo stavite /boot/vmlinuz i /boot/initrd u direktorij.

boobstrap ne koristi busybox, a za stvaranje radnog initramfs okruženja, minimalni skup programa se kopira pomoću ldd-a, potrebnih za pokretanje i prebacivanje na sustav. Popis programa za kopiranje, kao i sve ostalo, može se konfigurirati putem konfiguracijske datoteke /etc/boobstrap/boobstrap.conf. Također, možete instalirati bilo koju minimalističku distribuciju u zasebnu chroot/, iz koje onda možete kreirati punopravno initramfs okruženje. Kao takvo minimalističko, ali u isto vrijeme punopravno okruženje, predlaže se korištenje predloška “crux_gnulinux-embedded”, koji nakon xz zauzima kompromis od 37 MB. busybox, osim svoje veličine, 3-5 MB naspram 30-50 MB potpunog GNU/Linux okruženja, više ne nudi nikakve prednosti, pa se korištenje busyboxa u projektu ne čini prikladnim.

Kako brzo provjeriti funkcionalnost i započeti? Instalirajte i pokrenite.

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

Također morate instalirati ovisnosti, naime: cpio, grub, grub-efi, dosfstools, xorriso. Korištenje squashfs-alata nije potrebno; možete raditi u tmpfs-u s odgovarajućom količinom RAM-a. Ako nešto nedostaje u sustavu, boobstrap će to prijaviti nakon pokretanja.

Za pojednostavljenje izrade konfiguracija, boobstrap predlaže korištenje "predložaka" i "sustava", čija je bit korištenje "predložaka" (bootstrap-templates/) za brzu instalaciju sustava iz datoteke, i izravno "sustava" (bootstrap- sustavi/) koji se koristi za postavljanje konačnih konfiguracija.

Na primjer, pokretanje skripte boobstrap/bootstrap-templates/crux_gnulinux-embedded.bbuild će instalirati minimalnu konfiguraciju CRUX GNU/Linux sustava i spremiti je u datoteku crux_gnulinux-embedded.rootfs, a zatim ćete pokrenuti boobstrap/bootstrap-systems /default/crux_gnulinux.bbuild koji će učitati primarnu konfiguraciju iz spomenute datoteke, napraviti svu potrebnu konfiguraciju i pripremiti bootable ISO. To je zgodno kada, na primjer, mnogi sustavi koriste istu vrstu konfiguracije: kako ne biste svaki put opisivali isti skup paketa, koristite jedan predložak na temelju kojeg stvarate slike za pokretanje sustava s konačnom konfiguracijom.

Gdje sve to mogu iskoristiti?

Sustav konfigurirate jednom u datoteci i pokretanjem ga gradite i/ili ažurirate. Sustav radi u tmpfs, što ga čini u biti jednokratnim. Ako sustav zakaže, možete se vratiti u prvobitno stanje jednim klikom na gumb Reset. Možete sigurno pokrenuti rm -rf /.

Možete konfigurirati konfiguracije svih svojih sustava lokalno, kreirati slike, testirati ih u virtualnom stroju ili zasebnom hardveru, zatim ih učitati na udaljeni poslužitelj i pokrenuti samo dvije naredbe kexec -l /vmlinuz —initrd=/initrd && kexec -e za ažuriranje cijelog cijelog sustava, ponovno pokretanje u tmpfs.

Na isti način možete sve sustave, npr. na VDS-u, prebaciti da rade u tmpfs, a /dev/vda disk kriptirati i koristiti samo za podatke, bez potrebe da na njemu držite operativni sustav. Jedina "točka curenja informacija" u ovom slučaju bit će samo "hladni deponij" memorije vašeg virtualnog stroja, au slučaju kompromitacije sustava (primjerice, pogađanjem ssh lozinke ili ranjivosti u Exim), možete preuzeti novi ISO putem "upravljačke ploče" vašeg pružatelja usluga, kako biste vratili VDS u rad, a da ne zaboravite urediti konfiguraciju sustava kako biste zatvorili sve ranjivosti. Ovo je brže od ponovne instalacije, naknadne konfiguracije i/ili vraćanja iz sigurnosne kopije, jer je u biti ISO koji možete preuzeti s vašim sustavom vaša sigurnosna kopija. "Sedam problema - jedan reset."

Na kraju, možete kreirati bilo koju distribuciju za svoje potrebe, zapisati je na USB pogon i raditi u njemu, ažurirati ga po potrebi i ponovno ga prepisati na USB pogon. Svi podaci pohranjeni su u oblaku. Ne morate više brinuti o sigurnosti sustava i izraditi sigurnosnu kopiju kada je sustav, ponavljam, u biti postao “za jednokratnu upotrebu”.

Vaše želje, prijedlozi i komentari su dobrodošli.

U repozitoriju na poveznici ispod nalazi se detaljna datoteka README (na engleskom) s opisom svakog uslužnog programa i primjerima korištenja, tu je i detaljna dokumentacija na ruskom jeziku i povijest razvoja dostupna na poveznici: Složena skripta za pokretanje Boobstrapa.

Izvor: linux.org.ru

Dodajte komentar