Krijimi i imazheve bootstrapped v1.0


Krijimi i imazheve bootstrapped v1.0

Dëshiroj të prezantoj një kuadër të quajtur boobstrap, shkruar në POSIX shell, për krijimin e imazheve të ngarkesës me distribucione GNU/Linux. Ky kuadër lejon që të kaloni të gjithë procesin në tri hapa të thjeshtë: nga shpërndarja e sistemit në chroot, krijimi i imazhit initramfs që përfshin sistemin nga chroot, dhe në fund, imazhi i ngarkesës ISO. boobstrap përfshin tre utilitete mkbootstrap, mkinitramfs dhe mkbootisofs përkatësisht.

mkbootstrap instalon sistemin në një drejtorinë të veçantë, ka mbështetje natyrore për CRUX, dhe në rastin e Arch Linux / Manjaro dhe distribucioneve të bazuara në Debian duhet të përdoren utilitete të jashtme pacstrap, basestrap dhe debootstrap përkatësisht.

mkinitramfs krijon një imazh initramfs, mund të përdorni sistemin e instaluar në drejtorinë si "overley", e kompresuar me SquashFS, ose të ngarkoni në sistem dhe të punoni drejtpërdrejt në tmpfs. Për shembull, komanda mkinitramfs `mktemp -d` —overlay "arch-chroot/" —overlay "/home" —squashfs-xz —output initrd do të krijojë një skedar initrd, duke përfshirë dy overlay-e me sistemin "arch-chroot/" dhe "/home" tuaj, të kompresuara me SquashFS, të cilin mund ta ngarkoni më pas përmes PXE në tmpfs, ose të krijoni një imazh të ngarkesës ISO me këtë initrd.

mkbootisofs krijon një imazh ISO të ngarkueshëm BIOS / UEFI nga direkoria e especificuar. Mjafton të vendosni /boot/vmlinuz dhe /boot/initrd në drejtorinë.

boobstrap nuk përdor busybox, dhe për të krijuar një mjedis funksional initramfs kopjon një grup minimal programesh duke përdorur ldd, të nevojshme për ngarkimin dhe kalimin në sistem. Lista e programeve për t'u kopjuar, ashtu si gjithçka tjetër, mund të konfigurohet përmes skedarit të konfigurimit /etc/boobstrap/boobstrap.conf. Po ashtu, mund të instaloni çdo distribucion minimalistik në një chroot të veçantë, nga i cili më pas të krijoni një ambient të plotë initramfs. Si një ambient minimalistik, por në të njëjtën kohë të plotë, ofrohet modeli 'crux_gnulinux-embedded', i cili pas xz zë 37mb si një kompromis. busybox, përveç madhësisë së tij, 3-5mb përballë 30-50mb të një ambienti të plotë GNU/Linux, nuk ofron asnjë përparësi tjetër, kështu që përdorimi i busybox në projekt nuk duket i arsyeshëm.

Si të kontrolloni shpejt funksionimin dhe të filloni punën? Instalo dhe nis.

# 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

Gjithashtu, duhet të instaloni varësitë, domethënë: cpio, grub, grub-efi, dosfstools, xorriso. Përdorimi i squashfs-tools nuk është i domosdoshëm, mund të punoni në tmpfs nëse keni një sasi të mjaftueshme memorie RAM. Në rast se ndonjë gjë mungon në sistem, boobstrap do të njoftojë për këtë gjatë fillimit.

Për të simplifikuar krijimin e konfigurimeve, boobstrap ofron përdorimin e "shablloneve" dhe "sistemeve", qëllimi i të cilave është të përdorin "shabllonet" (bootstrap-templates/) për instalim të shpejtë të sistemeve nga skeda, dhe "sistemet" (bootstrap-systems/) për konfigurimin përfundimtar.

Për shembull, ekzekutimi i skriptit boobstrap/bootstrap-templates/crux_gnulinux-embedded.bbuild do të instalojë konfigurimin minimal të sistemit CRUX GNU/Linux dhe do ta ruajë atë në skedarin crux_gnulinux-embedded.rootfs. Më pas, ju ekzekutoni boobstrap/bootstrap-systems/default/crux_gnulinux.bbuild, i cili do të ngarkojë konfigurimin fillestar nga skedari i përmendur, do të kryejë të gjitha konfigurimet e nevojshme dhe do të përgatisë një ISO për ngarkim. Kjo është e dobishme kur, për shembull, shumë sisteme përdorin një konfigurim të ngjashëm: për të mos e përshkruar çdo herë të njëjtin grup paketash, ju përdorni një model të vetëm, mbi të cilin më pas krijoni imazhe ngarkimi për sistemet me konfigurimin përfundimtar.

Ku mund të përdoret e gjithë kjo?

Ju e konfiguroni sistemin në një skedë një herë dhe me ekzekutimin e saj e kryeni ndërtimin dhe/ose përditësimin e tij. sistemi funksionon në tmpfs, çka e bënë atë njëherëshe, në thelb. Në rast se sistemi dështon, me një buton Reset ktheheni në gjendjen fillestare. Mund të kryeni me qetësi rm -rf /.

Mund të konfigurosh të gjitha sistemet e tua lokal, të krijosh imazhe, t'i testosh ato në një makinë virtuale ose në një ‘harduer’ të veçantë, pastaj t'i ngarkosh ato në një server të largët dhe me vetëm dy komanda kexec -l /vmlinuz —initrd=/initrd && kexec -e mund të përditësosh të gjithë sistemin, duke e rinisur atë në tmpfs.

Po ashtu mund të transferosh të gjitha sistemet, për shembull në VDS, për të punuar në tmpfs, dhe disku /dev/vda ta enkriptoesh e ta përdorësh vetëm për të dhëna, pa pasur nevojë për të mbajtur sistemin operativ në të. Pikë e vetme e ‘daljes së informacionit’ në këtë rast do të jetë vetëm ‘dump-i i ftohtë’ i memorjes së makinës virtuale, dhe në rast kompromitimi të sistemit (për shembull, përmes një klasi password-i ssh ose një vulnerabiliteti në exim), mund të ngarkosh një ISO të ri përmes ‘pjesës së menaxhimit’ të ofruesit tënd, për ta rivënë VDS-në në funksion, pa harruar të redaktosh konfigurimin e sistemit duke mbyllur të gjitha vulnerabilitetet. Kjo është më e shpejtë se sa rinstalimi, konfigurimi dhe/ose rikuperimi nga një backup, pasi në thelb, ISO-ja që ngarkohet me sistemin tënd është backup-i yt. ‘Shtatë telashe - një Reset.’

Në fund, mund të krijoni çdo distribucion sipas nevojave tuaja, ta regjistroni në një USB dhe të punoni me të, duke e përditësuar sipas nevojës dhe duke e ripërplasur përsëri në USB. Të gjitha të dhënat ruhen në "re". Nuk është më e nevojshme të shqetësoheni për ruajtjen e sistemit dhe të bëni backup, sepse sistemi, siç e përsëris, në esencë është bërë "i përdorur një herë".

Dëshirat, sugjerimet dhe vërejtjet tuaja janë të mirëpritura.

Në depozitë në linkun e mëposhtëm ka një README të detajuar (në anglisht) me përshkrimin e çdo utilitari dhe shembuj përdorimi, si dhe dokumentacion të detajuar në rusisht dhe historinë e zhvillimit, të disponueshëm në linkun: Grupi i skripteve Bootstrap të ngarkimit.

Burimi: linux.org.ru

Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS 🔥 Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS | ProHoster