Nggawe gambar bootstrap v1.0


Nggawe gambar bootstrap v1.0

Aku arep ngenalake framework sing diarani boobstrap, sing ditulis ing shell POSIX, kanggo nggawe gambar sing bisa di-boot nganggo distribusi GNU/Linux.LinuxKerangka kerja iki ngidini sampeyan ngrampungake kabeh proses mung nganggo telung langkah prasaja: wiwit saka ngluncurake sistem ing chroot, nggawe gambar initramfs sing ngemot sistem sing wis di-chroot, lan pungkasane, gambar ISO sing bisa di-boot. Boostrap kalebu telung utilitas: mkbootstrap, mkinitramfs, lan mkbootisofs.

mkbootstrap nginstal sistem ing direktori sing kapisah, ana dhukungan asli kanggo CRUX, lan ing kasus Arch Linux / Manjaro lan distribusi adhedhasar iku Debian Utilitas pihak katelu pacstrap, basestrap lan debootstrap kudu digunakake.

mkinitramfs nggawe gambar initramfs, sampeyan bisa nggunakake sistem diinstal ing direktori minangka "overlay", teken nggunakake SquashFS, utawa sawise boot menyang sistem, bisa langsung ing tmpfs. Contone, printah mkinitramfs `mktemp -d` --overlay "arch-chroot/" --overlay "/home" --squashfs-xz --output initrd bakal nggawe file initrd, kalebu rong overlay karo "arch- chroot/" lan "/home", dikompres nggunakake SquashFS, sing banjur bisa boot liwat PXE menyang tmpfs, utawa nggawe gambar ISO bootable karo initrd iki.

mkbootisofs nggawe gambar ISO bootable BIOS / UEFI saka direktori kasebut. Cukup lebokake /boot/vmlinuz lan /boot/initrd ing direktori.

Boobstrap ora nggunakake busybox. Kanggo nggawe lingkungan initramfs sing bisa digunakake, Boobstrap nyalin sakumpulan program minimal nggunakake ldd, sing dibutuhake kanggo boot lan mlebu menyang sistem. Dhaptar program sing kudu disalin, kaya liyane, bisa dikonfigurasi liwat file konfigurasi /etc/boobstrap/boobstrap.conf. Sampeyan uga bisa nginstal distribusi minimalis apa wae ing chroot/ sing kapisah, saka ngendi sampeyan banjur bisa nggawe lingkungan initramfs sing lengkap. Cithakan "crux_gnulinux-embedded" disaranake kanggo lingkungan minimalis nanging lengkap; sawise xz, butuh 37 MB sing kompromi. Busybox, ing sisih liya, yaiku 3-5 MB, dibandhingake karo 30-50 MB kanggo GNU/.Linux lingkungan, ora menehi kaluwihan liyane, mula nggunakake busybox ing proyek kasebut koyone ora cocog.

Carane cepet mriksa fungsi lan miwiti? Instal lan mbukak.

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

Sampeyan uga kudu nginstal dependensi, yaiku: cpio, grub, grub-efi, dosfstools, xorriso. Nggunakake squashfs-alat ora perlu; sampeyan bisa ing tmpfs karo jumlah cocok saka RAM. Yen ana sing ilang ing sistem, boobstrap bakal nglaporake iki nalika wiwitan.

Kanggo nyederhanakake nggawe konfigurasi, boobstrap nyaranake nggunakake "templates" lan "systems", sing intine yaiku nggunakake "templates" (bootstrap-templates/) kanggo nginstal sistem kanthi cepet saka file, lan langsung "sistem" (bootstrap- sistem /) digunakake kanggo nyetel konfigurasi final.

Umpamane, nglakokake skrip boobstrap/bootstrap-templates/crux_gnulinux-embedded.bbuild bakal nginstal konfigurasi minimal sistem CRUX GNU/Linux lan nyimpen menyang file crux_gnulinux-embedded.rootfs. Banjur, sampeyan mbukak bootstrap/bootstrap-systems/default/crux_gnulinux.bbuild, sing bakal mbukak konfigurasi awal saka file sing kasebut ing ndhuwur, nindakake kabeh konfigurasi sing dibutuhake, lan nyiyapake ISO sing bisa di-boot. Iki trep, contone, nalika pirang-pirang sistem nggunakake konfigurasi sing padha: kanggo ngindhari kudu njlentrehake sakumpulan paket sing padha saben-saben, sampeyan nggunakake siji cithakan, sing adhedhasar iku sampeyan banjur nggawe gambar sistem sing bisa di-boot kanthi konfigurasi pungkasan.

Ngendi aku bisa nggunakake kabeh iki?

Sampeyan ngatur sistem ing file sapisan lan kanthi mbukak sampeyan mbangun lan / utawa nganyari. Sistem kasebut mlaku ing tmpfs, sing ndadekake bisa digunakake. Yen sistem gagal, sampeyan bisa bali menyang negara asli kanthi siji klik tombol Reset. Sampeyan bisa kanthi aman mbukak rm -rf /.

Sampeyan bisa ngatur konfigurasi kabeh sistem sampeyan sacara lokal, nggawe gambar, nyoba ing mesin virtual utawa hardware sing kapisah, banjur upload menyang server remot lan mbukak mung rong printah kexec -l /vmlinuz —initrd=/initrd && kexec -e kanggo nganyari kabeh sistem, reboot menyang tmpfs.

Kanthi cara sing padha, sampeyan bisa nransfer kabeh sistem, contone ing VDS, kanggo bisa ing tmpfs, lan encrypt disk / dev / vda lan nggunakake mung kanggo data, tanpa perlu kanggo njaga sistem operasi ing. Siji-sijine "titik kebocoran informasi" ing kasus iki mung bakal dadi "cold dump" memori mesin virtual sampeyan, lan yen ana kompromi sistem (contone, kanthi ngira sandhi ssh utawa kerentanan ing Exim), sampeyan bisa ngundhuh ISO anyar liwat "panel kontrol" saka panyedhiya, kanggo nggawa VDS bali menyang operasi, tanpa lali kanggo ngowahi konfigurasi sistem kanggo nutup kabeh vulnerabilities. Iki luwih cepet tinimbang nginstal maneh, konfigurasi sakteruse lan / utawa mulihake saka serep, amarga intine, ISO sing bisa didownload karo sistem sampeyan minangka serep. "Pitu masalah - siji reset."

Pungkasane, sampeyan bisa nggawe distribusi apa wae kanggo kabutuhan, nulis menyang drive USB lan nggarap, nganyari yen dibutuhake lan nulis maneh menyang drive USB maneh. Kabeh data disimpen ing méga. Sampeyan ora perlu maneh padha sumelang ing bab safety saka sistem lan nggawe serep nalika sistem, Aku mbaleni, wis ateges dadi "disposable".

Panjaluk, saran lan komentar sampeyan ditampa.

Ing gudang ing tautan ing ngisor iki ana file README sing rinci (ing basa Inggris) kanthi katrangan saben sarana lan conto panggunaan, uga ana dokumentasi rinci ing basa Rusia lan riwayat pangembangan sing kasedhiya ing tautan: Kompleks skrip boot boobstrap.

Source: linux.org.ru

Tuku hosting sing dipercaya kanggo situs kanthi proteksi DDoS, server VPS VDS 🔥 Tuku hosting situs web sing bisa dipercaya nganggo proteksi DDoS, server VPS VDS | ProHoster