Vytváření obrázků bootstrap v1.0


Vytváření obrázků bootstrap v1.0

Rád bych vám představil framework s názvem boobstrap, napsaný v POSIX shellu, pro vytváření bootovatelných obrazů s distribucemi GNU/Linux.LinuxFramework umožňuje dokončit celý proces ve třech jednoduchých krocích: od nasazení systému v chrootu, přes vytvoření obrazu initramfs obsahujícího chrootovaný systém, až po nakonec bootovací ISO obraz. Boostrap obsahuje tři utility: mkbootstrap, mkinitramfs a mkbootisofs.

mkbootstrap instaluje systém do samostatného adresáře, existuje nativní podpora pro CRUX a v případě Archu Linux / Manjaro и дистрибутивов на основе Debian должны быть использованы сторонние утилиты pacstrap, basestrap и debootstrap соответственно.

mkinitramfs vytvoří obraz initramfs, můžete použít nainstalovaný systém v adresáři jako „overlay“, komprimovaný pomocí SquashFS, nebo po nabootování do systému pracovat přímo v tmpfs. Takže například příkaz mkinitramfs `mktemp -d` --overlay "arch-chroot/" --overlay "/home" --squashfs-xz --output initrd vytvoří soubor initrd, včetně dvou překryvů s "arch- chroot/" systém a váš "/home", komprimovaný pomocí SquashFS, který pak můžete nabootovat přes PXE do tmpfs, nebo vytvořit bootovatelný ISO obraz pomocí tohoto initrd.

mkbootisofs vytvoří zaváděcí ISO obraz BIOS/UEFI ze zadaného adresáře. Stačí do adresáře vložit /boot/vmlinuz a /boot/initrd.

Boobstrap nepoužívá busybox. Pro vytvoření funkčního prostředí initramfs kopíruje pomocí ldd minimální sadu programů, které jsou nezbytné pro spuštění a přihlášení do systému. Seznam programů ke kopírování, stejně jako vše ostatní, lze nakonfigurovat pomocí konfiguračního souboru /etc/boobstrap/boobstrap.conf. Můžete také nainstalovat libovolnou minimalistickou distribuci do samostatného chroot/, ze kterého pak můžete vytvořit plnohodnotné prostředí initramfs. Pro takové minimalistické, ale plnohodnotné prostředí se doporučuje šablona „crux_gnulinux-embedded“; po xz zabírá kompromisních 37 MB. Busybox má naopak 3-5 MB, oproti 30-50 MB pro plnohodnotné GNU/.Linux prostředí nenabízí žádné další výhody, takže použití busyboxu v projektu se nezdá vhodné.

Jak rychle zkontrolovat funkčnost a začít? Nainstalujte a spusťte.

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

Musíte také nainstalovat závislosti, konkrétně: cpio, grub, grub-efi, dosfstools, xorriso. Použití squashfs-tools není nutné, můžete pracovat v tmpfs s odpovídajícím množstvím paměti RAM. Pokud v systému něco chybí, boobstrap to oznámí při spuštění.

Pro zjednodušení vytváření konfigurací navrhuje boobstrap používat „šablony“ a „systémy“, jejichž podstatou je používat „šablony“ (bootstrap-templates/) k rychlé instalaci systémů ze souboru a přímo „systémy“ (bootstrap- systémy/) používané k nastavení finálních konfigurací.

Například spuštění skriptu boobstrap/bootstrap-templates/crux_gnulinux-embedded.bbuild nainstaluje minimální konfiguraci systému CRUX GNU/Linux a uloží jej do souboru crux_gnulinux-embedded.rootfs. Poté spustíte příkaz bootstrap/bootstrap-systems/default/crux_gnulinux.bbuild, který načte počáteční konfiguraci z výše uvedeného souboru, provede veškerou potřebnou konfiguraci a připraví bootovací ISO soubor. To je výhodné například v případě, že více systémů používá stejnou konfiguraci: abyste se vyhnuli nutnosti pokaždé popisovat stejnou sadu balíčků, použijete jednu šablonu, na jejímž základě pak vytvoříte bootovací obrazy systémů s finální konfigurací.

Kde to všechno mohu použít?

Systém jednou nakonfigurujete v souboru a jeho spuštěním jej sestavíte a/nebo aktualizujete. Systém běží v tmpfs, díky čemuž je v podstatě na jedno použití. Pokud systém selže, můžete se vrátit do původního stavu jedním kliknutím na tlačítko Reset. Můžete bezpečně spustit rm -rf /.

Můžete konfigurovat konfigurace všech svých systémů lokálně, vytvářet obrazy, testovat je na virtuálním počítači nebo samostatném hardwaru, poté je nahrát na vzdálený server a spustit pouze dva příkazy kexec -l /vmlinuz —initrd=/initrd && kexec -e aktualizovat celý systém a restartovat jej do tmpfs.

Stejně tak můžete všechny systémy např. na VDS přenést do práce v tmpfs a zašifrovat disk /dev/vda a používat jej pouze pro data, aniž byste na něm museli mít operační systém. Jediným „bodem úniku informací“ bude v tomto případě pouze „studený výpis“ paměti vašeho virtuálního stroje a v případě kompromitace systému (například uhodnutím hesla ssh nebo zranitelností v Exim), můžete si stáhnout nový ISO prostřednictvím „ovládacího panelu“ vašeho poskytovatele, abyste uvedli VDS zpět do provozu, aniž byste zapomněli upravit konfiguraci systému, abyste uzavřeli všechny zranitelnosti. Je to rychlejší než přeinstalace, následná konfigurace a/nebo obnova ze zálohy, protože v podstatě ISO ke stažení s vaším systémem je vaší zálohou. "Sedm problémů - jeden reset."

Nakonec si můžete vytvořit libovolnou distribuci pro své potřeby, zapsat ji na USB disk a pracovat v ní, aktualizovat ji podle potřeby a znovu ji přepsat na USB disk. Všechna data jsou uložena v cloudu. Už se nemusíte starat o bezpečnost systému a zálohovat, když se systém, opakuji, stal v podstatě „na jedno použití“.

Vaše přání, návrhy a připomínky jsou vítány.

V úložišti na níže uvedeném odkazu je podrobný soubor README (v angličtině) s popisem každého nástroje a příklady použití, na odkazu je také podrobná dokumentace v ruštině a historie vývoje: Komplex spouštěcích skriptů Boobstrap.

Zdroj: linux.org.ru

Kupte si spolehlivý hosting pro stránky s DDoS ochranou, VPS VDS servery 🔥 Kupte si spolehlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster