Vytváranie obrazov bootstrap v1.0


Vytváranie obrazov bootstrap v1.0

Rád by som vám predstavil rámec s názvom boobstrap, napísaný v shell POSIX, na vytváranie zavádzacích obrazov s distribúciami GNU/Linux. Rámec vám umožňuje prejsť celým procesom len v troch jednoduchých krokoch: od nasadenia systému v chroot, vytvorenie obrazu initramfs, ktorý obsahuje chrootovaný systém, a nakoniec bootovateľný obraz ISO. boobstrap obsahuje tri nástroje mkbootstrap, mkinitramfs a mkbootisofs.

mkbootstrap nainštaluje systém do samostatného adresára, existuje natívna podpora pre CRUX av prípade distribúcií založených na Arch Linux / Manjaro a Debiane musia byť použité nástroje tretích strán pacstrap, basestrap a debootstrap.

mkinitramfs vytvorí obraz initramfs, nainštalovaný systém v adresári môžete použiť ako “overlay”, komprimovaný pomocou SquashFS, alebo po zavedení do systému pracovať priamo v tmpfs. Takže napríklad príkaz mkinitramfs `mktemp -d` --overlay "arch-chroot/" --overlay "/home" --squashfs-xz --output initrd vytvorí súbor initrd vrátane dvoch prekrytí s "arch- chroot/" systém a váš "/home", komprimovaný pomocou SquashFS, ktorý potom môžete nabootovať cez PXE do tmpfs, alebo vytvoriť bootovateľný ISO obraz pomocou tohto initrd.

mkbootisofs vytvorí bootovací ISO obraz BIOS/UEFI zo zadaného adresára. Stačí do adresára vložiť /boot/vmlinuz a /boot/initrd.

boobstrap nepoužíva busybox a na vytvorenie fungujúceho prostredia initramfs sa pomocou ldd skopíruje minimálna sada programov, ktoré sú potrebné na zavedenie a prepnutie do systému. Zoznam programov na kopírovanie, rovnako ako všetko ostatné, je možné nakonfigurovať prostredníctvom konfiguračného súboru /etc/boobstrap/boobstrap.conf. Taktiež si môžete nainštalovať akúkoľvek minimalistickú distribúciu do samostatného chroot/, z ktorého potom vytvoríte plnohodnotné prostredie initramfs. Ako také minimalistické, no zároveň plnohodnotné prostredie sa navrhuje použiť šablónu „crux_gnulinux-embedded“, ktorá po xz zaberá kompromisných 37 MB. busybox okrem svojej veľkosti, 3-5 MB oproti 30-50 MB plnohodnotného prostredia GNU/Linux, už neponúka žiadne výhody, takže použitie busyboxu v projekte sa nezdá vhodné.

Ako rýchlo skontrolovať funkčnosť a začať? Nainštalujte a spustite.

# git klon https://github.com/sp00f1ng/boobstrap.git
#cd popruh na prsia
# make install# boobstrap/tests/crux_gnulinux-download-and-build
# qemu-system-x86_64 -enable-kvm -m 1G -cdrom tmp.*/install.iso

Musíte tiež nainštalovať závislosti, a to: cpio, grub, grub-efi, dosfstools, xorriso. Používanie squashfs-tools nie je potrebné, môžete pracovať v tmpfs s príslušným množstvom pamäte RAM. Ak v systéme niečo chýba, boobstrap to nahlási pri spustení.

Na zjednodušenie vytvárania konfigurácií navrhuje boobstrap používať „šablóny“ a „systémy“, ktorých podstatou je použiť „šablóny“ (bootstrap-templates/) na rýchlu inštaláciu systémov zo súboru a priamo „systémy“ (bootstrap- systémy/) používané na nastavenie konečných konfigurácií.

Takže napríklad spustením skriptu boobstrap/bootstrap-templates/crux_gnulinux-embedded.bbuild sa nainštaluje minimálna konfigurácia systému CRUX GNU/Linux a uloží sa do súboru crux_gnulinux-embedded.rootfs, potom spustíte boobstrap/bootstrap-systems /default/crux_gnulinux.bbuild, ktorý zo spomínaného súboru načíta primárnu konfiguráciu, spraví všetku potrebnú konfiguráciu a pripraví bootovacie ISO. Je to výhodné, keď napríklad veľa systémov používa rovnaký typ konfigurácie: aby ste nepopisovali zakaždým rovnakú sadu balíkov, použijete jednu šablónu, na základe ktorej vytvoríte bootovacie obrazy systémov s finálnou konfiguráciou.

Kde toto všetko môžem použiť?

Systém nakonfigurujete v súbore raz a jeho spustením ho zostavíte a/alebo aktualizujete. Systém beží v tmpfs, vďaka čomu je v podstate jednorazový. Ak systém zlyhá, jedným kliknutím na tlačidlo Reset sa môžete vrátiť do pôvodného stavu. Môžete bezpečne spustiť rm -rf /.

Môžete konfigurovať konfigurácie všetkých svojich systémov lokálne, vytvárať obrazy, testovať ich vo virtuálnom počítači alebo samostatnom hardvéri, potom ich nahrať na vzdialený server a spustiť iba dva príkazy kexec -l /vmlinuz —initrd=/initrd && kexec -e aktualizovať celý systém a reštartovať ho do tmpfs.

Rovnakým spôsobom môžete všetky systémy, napríklad na VDS, preniesť na prácu v tmpfs a zašifrovať disk /dev/vda a použiť ho len na dáta, bez toho, aby ste na ňom museli držať operačný systém. Jediným „bodom úniku informácií“ bude v tomto prípade iba „studený výpis“ pamäte vášho virtuálneho stroja a v prípade kompromitácie systému (napríklad uhádnutím hesla ssh alebo zraniteľnosti v Exim), môžete si stiahnuť nový ISO cez „ovládací panel“ vášho poskytovateľa, aby ste VDS opäť uviedli do prevádzky, bez toho, aby ste zabudli upraviť konfiguráciu systému, aby ste zatvorili všetky zraniteľnosti. Je to rýchlejšie ako preinštalovanie, následná konfigurácia a/alebo obnova zo zálohy, pretože v podstate ISO na stiahnutie s vaším systémom je vaša záloha. "Sedem problémov - jeden reset."

Nakoniec si môžete vytvoriť ľubovoľnú distribúciu pre svoje potreby, zapísať ju na USB disk a pracovať v nej, aktualizovať ju podľa potreby a znova ju prepísať na USB disk. Všetky dáta sú uložené v cloude. Už sa nemusíte starať o bezpečnosť systému a robiť zálohu, keď sa systém, opakujem, stal v podstate „na jedno použitie“.

Vaše priania, návrhy a pripomienky sú vítané.

V úložisku na nižšie uvedenom odkaze sa nachádza podrobný súbor README (v angličtine) s popisom každého nástroja a príkladmi použitia, na tomto odkaze je k dispozícii aj podrobná dokumentácia v ruštine a história vývoja: Komplex spúšťacích skriptov Boobstrap.

Zdroj: linux.org.ru

Pridať komentár