Erstellt Bootstrap v1.0 Biller


Erstellt Bootstrap v1.0 Biller

Ech wéilt Iech e Kader mam Numm boobstrap presentéieren, geschriwwen an der POSIX Shell, fir Bootbilder mat GNU/Linux Verdeelungen ze kreéieren. De Kader erlaabt Iech de ganze Prozess an nëmmen dräi einfache Schrëtt duerchzegoen: vum System an engem Chroot z'installéieren, en Initramfs Bild ze kreéieren deen de chrooted System enthält, a schlussendlech e bootbar ISO Image. boobstrap enthält dräi Utilities mkbootstrap, mkinitramfs a mkbootisofs respektiv.

mkbootstrap installéiert de System an engem getrennten Verzeechnes, et gëtt gebierteg Ënnerstëtzung fir CRUX, an am Fall vun Arch Linux / Manjaro an Debian-baséiert Verdeelungen, Drëtt Partei Utilities pacstrap, basestrap an debootstrap musse respektiv benotzt ginn.

mkinitramfs erstellt en initramfs-Bild, Dir kënnt den installéierten System am Verzeechnes als "Iwwerlagerung" benotzen, kompriméiert mat SquashFS, oder nom Boot an de System direkt an tmpfs schaffen. Also zum Beispill, de Kommando mkinitramfs `mktemp -d` --overlay "arch-chroot/" --overlay "/home" --squashfs-xz --output initrd wäert eng initrd Datei erstellen, dorënner zwee Iwwerlagerungen mat "arch- chroot/" System an Ärem "/home", kompriméiert mat SquashFS, deen Dir dann iwwer PXE an tmpfs boote kënnt, oder e bootbar ISO-Bild mat dësem Initrd erstellen.

mkbootisofs erstellt e BIOS / UEFI bootbar ISO Bild aus dem spezifizéierte Verzeichnis. Gitt einfach /boot/vmlinuz an /boot/initrd am Verzeechnes.

boobstrap benotzt keng Busybox, a fir e funktionnéierend Initramfs Ëmfeld ze kreéieren, gëtt e minimale Set vu Programmer mat ldd kopéiert, néideg fir ze booten an op de System ze wiesselen. D'Lëscht vun de Programmer fir ze kopéieren, wéi alles anescht, kann duerch d'Konfiguratiounsdatei /etc/boobstrap/boobstrap.conf konfiguréiert ginn. Och kënnt Dir all minimalistesch Verdeelung an eng separat Chroot / installéieren, aus deem Dir dann e vollwäertegt Initramfs Ëmfeld erstellt. Als esou e minimalistescht, awer gläichzäiteg vollwäertegt Ëmfeld, gëtt proposéiert d'"crux_gnulinux-embedded" Schabloun ze benotzen, déi no xz e Kompromëss vun 37 MB ophëlt. busybox, Nieft senger Gréisst, 3-5 MB versus 30-50 MB vun engem voll-vollwäerteg GNU / Linux Ëmwelt, bitt keng Virdeeler méi, sou datt Busybox an engem Projet benotzen schéngt net passend.

Wéi séier d'Funktionalitéit ze kontrolléieren an unzefänken? Installéieren a lafen.

# git Klon https://github.com/sp00f1ng/boobstrap.git
#cd boobstrap
# installéieren # boobstrap/tests/crux_gnulinux-download-and-build
# qemu-system-x86_64 -enable-kvm -m 1G -cdrom tmp.*/install.iso

Dir musst och Ofhängegkeeten installéieren, nämlech: cpio, grub, grub-efi, dosfstools, xorriso. Squashfs-Tools benotzen ass net néideg; Dir kënnt an tmpfs mat der entspriechender Quantitéit vum RAM schaffen. Wann eppes am System fehlt, mellt boobstrap dëst beim Startup.

Fir d'Erstelle vu Konfiguratiounen ze vereinfachen, proposéiert boobstrap "Schablounen" a "Systemer" ze benotzen, d'Essenz vun deem ass "Schablounen" (bootstrap-Templates/) ze benotzen fir séier Systemer aus enger Datei z'installéieren, an direkt "Systemer" (bootstrap- Systemer/) benotzt fir endgülteg Konfiguratiounen opzestellen.

Also zum Beispill, de Skript laafen boobstrap/bootstrap-templates/crux_gnulinux-embedded.bbuild installéiert d'Mindestkonfiguratioun vum CRUX GNU/Linux System a späichert se an der Datei crux_gnulinux-embedded.rootfs, da leeft Dir boobstrap/bootstrap-systems /default/crux_gnulinux.bbuild déi d'Primärkonfiguratioun vun der ernimmter Datei lueden, all déi néideg Konfiguratioun maachen an e bootbar ISO preparéieren. Dëst ass praktesch wann, zum Beispill, vill Systemer déi selwecht Aart vu Konfiguratioun benotzen: fir net all Kéier dee selwechte Set vu Packagen ze beschreiwen, benotzt Dir eng Schabloun, baséiert op där Dir Bootbilder vu Systemer mat der definitiver Konfiguratioun erstellt.

Wou kann ech all dat benotzen?

Dir konfiguréiert de System eemol an enger Datei an andeems Dir se leeft, baut an/oder aktualiséieren se. De System leeft an tmpfs, wat et wesentlech disposéierbar mécht. Wann de System klappt, kënnt Dir zréck an säin ursprénglechen Zoustand mat engem Klick op de Reset Knäppchen. Dir kënnt rm -rf /.

Dir kënnt d'Konfiguratioun vun all Äre Systemer lokal konfiguréieren, Biller erstellen, se an enger virtueller Maschinn oder separater Hardware testen, se dann op e Fernserver eroplueden an nëmmen zwee Kommandoen lafen kexec -l /vmlinuz —initrd=/initrd && kexec -e fir de ganze System ze aktualiséieren, nei starten an tmpfs.

Am selwechte Wee kënnt Dir all Systemer transferéieren, zum Beispill op VDS, fir an tmpfs ze schaffen, an den /dev/vda Scheif verschlësselen an se nëmme fir Daten benotzen, ouni datt Dir de Betribssystem drun muss halen. Deen eenzegen "Punkt vun Informatiounsleckage" an dësem Fall ass nëmmen de "Kälte Dump" vun der Erënnerung vun Ärer virtueller Maschinn, an am Fall vun engem Kompromëss vum System (zum Beispill, andeems Dir d'ssh Passwuert roden oder eng Schwachstelle an Exim), kënnt Dir en neien ISO iwwer de "Kontrollpanel" vun Ärem Provider eroflueden, fir de VDS erëm an d'Operatioun ze bréngen, ouni ze vergiessen d'Systemkonfiguratioun z'änneren fir all Schwachstelle ze schloen. Dëst ass méi séier wéi d'Installatioun, d'nächst Konfiguratioun an / oder d'Restauratioun vun engem Backup, well am Wesentlechen den erofgelueden ISO mat Ärem System Äre Backup ass. "Siwen Probleemer - een zréckgesat."

Zum Schluss kënnt Dir all Verdeelung fir Är Bedierfnesser erstellen, et op en USB-Laufwerk schreiwen an drun schaffen, et aktualiséieren wéi néideg an et erëm op den USB-Laufwerk nei schreiwen. All Daten ginn an de Wolleke gespäichert. Dir musst Iech keng Suergen méi iwwer d'Sécherheet vum System maachen an e Backup maachen wann de System, ech widderhuelen, am Wesentlechen "Wegwerf" ginn ass.

Är Wënsch, Virschléi a Kommentare si wëllkomm.

Am Repository um Link hei ënnen ass eng detailléiert README Datei (op Englesch) mat enger Beschreiwung vun all Utility a Beispiller vu Gebrauch, et gëtt och detailléiert Dokumentatioun op Russesch an eng Entwécklungsgeschicht verfügbar um Link: Boostrap Boot Skript Komplex.

Source: linux.org.ru

Setzt e Commentaire