Bootstrap v1.0 görselleri oluşturma


Bootstrap v1.0 görselleri oluşturma

GNU/Linux dağıtımlarıyla önyükleme görüntüleri oluşturmak için POSIX kabuğunda yazılmış boobstrap adlı bir çerçeveyi dikkatinize sunmak istiyorum. Çerçeve, tüm süreci yalnızca üç basit adımda tamamlamanıza olanak tanır: sistemi bir chroot'a dağıtmaktan, chroot edilmiş sistemi içeren bir initramfs görüntüsü oluşturmaya ve son olarak önyüklenebilir bir ISO görüntüsü oluşturmaya. boobstrap sırasıyla mkbootstrap, mkinitramfs ve mkbootisofs olmak üzere üç yardımcı program içerir.

mkbootstrap sistemi ayrı bir dizine kurar, CRUX için yerel destek vardır ve Arch Linux / Manjaro ve Debian tabanlı dağıtımlarda sırasıyla pacstrap, basestrap ve debootstrap üçüncü taraf yardımcı programlarının kullanılması gerekir.

mkinitramfs bir initramfs görüntüsü oluşturur, dizindeki kurulu sistemi SquashFS kullanılarak sıkıştırılmış bir "yer paylaşımı" olarak kullanabilir veya sisteme önyükleme yaptıktan sonra doğrudan tmpfs'de çalışabilirsiniz. Örneğin, mkinitramfs `mktemp -d` --overlay "arch-chroot/" --overlay "/home" --squashfs-xz --output initrd komutu, "arch-" içeren iki katman içeren bir initrd dosyası oluşturacaktır. chroot/" sisteminizi ve "/home"unuzu SquashFS kullanılarak sıkıştırılmış, daha sonra PXE aracılığıyla tmpfs'ye önyükleyebilir veya bu initrd ile önyüklenebilir bir ISO görüntüsü oluşturabilirsiniz.

mkbootisofs, belirtilen dizinden BIOS/UEFI önyüklenebilir bir ISO görüntüsü oluşturur. Dizine /boot/vmlinuz ve /boot/initrd yazmanız yeterli.

boobstrap meşgul kutusu kullanmaz ve çalışan bir initramfs ortamı oluşturmak için, sistemi başlatmak ve sisteme geçmek için gerekli olan minimum sayıda program ldd kullanılarak kopyalanır. Kopyalanacak programların listesi, diğer her şey gibi, /etc/boobstrap/boobstrap.conf yapılandırma dosyası aracılığıyla yapılandırılabilir. Ayrıca, herhangi bir minimalist dağıtımı ayrı bir chroot/'a yükleyebilir ve buradan tam teşekküllü bir initramfs ortamı oluşturabilirsiniz. Böylesine minimalist ama aynı zamanda tam teşekküllü bir ortam olarak, xz'den sonra 37 MB'lık bir uzlaşma kaplayan "crux_gnulinux-gömülü" şablonunun kullanılması önerilmektedir. tam teşekküllü bir GNU/Linux ortamının 3-5 MB'ına karşılık 30-50 MB'lık boyutunun yanı sıra, meşgul kutusu artık hiçbir avantaj sunmuyor, dolayısıyla bir projede meşgul kutunun kullanılması uygun görünmüyor.

İşlevselliği hızlı bir şekilde nasıl kontrol edebilir ve nasıl başlayabilirsiniz? Kurun ve çalıştırın.

# git klonu https://github.com/sp00f1ng/boobstrap.git
# cd göğüs askısı
# make install# boobstrap/tests/crux_gnulinux-indirme-ve-derleme
# qemu-system-x86_64 -enable-kvm -m 1G -cdrom tmp.*/install.iso

Ayrıca bağımlılıkları da yüklemeniz gerekir: cpio, grub, grub-efi, dosfstools, xorriso. Squashfs araçlarını kullanmak gerekli değildir; uygun miktarda RAM ile tmpfs'de çalışabilirsiniz. Sistemde bir şey eksikse boobstrap açılışta bunu rapor edecektir.

Yapılandırmaların oluşturulmasını kolaylaştırmak için boobstrap, "şablonlar" ve "sistemler" kullanılmasını önerir; bunların özü, sistemleri bir dosyadan hızlı bir şekilde kurmak için "şablonlar" (bootstrap-templates/) ve doğrudan "sistemler" (bootstrap-) kullanmaktır. sistemleri/) son yapılandırmaları ayarlamak için kullanılır.

Örneğin, boobstrap/bootstrap-templates/crux_gnulinux-embedded.bbuild betiğini çalıştırmak, CRUX GNU/Linux sisteminin minimum yapılandırmasını yükleyecek ve onu crux_gnulinux-embedded.rootfs dosyasına kaydedecektir, ardından boobstrap/bootstrap-systems komutunu çalıştıracaksınız. Bahsi geçen dosyadan birincil konfigürasyonu yükleyecek olan /default/crux_gnulinux.bbuild, gerekli tüm konfigürasyonları yapıp önyüklenebilir bir ISO hazırlayacak. Bu, örneğin birçok sistem aynı tür yapılandırmayı kullandığında kullanışlıdır: her seferinde aynı paket kümesini tanımlamamak için, son yapılandırmaya sahip sistemlerin önyükleme görüntülerini oluşturduğunuz tek bir şablon kullanırsınız.

Bütün bunları nerede kullanabilirim?

Sistemi bir dosyada bir kez yapılandırırsınız ve çalıştırarak onu oluşturur ve/veya güncellersiniz. Sistem tmpfs'de çalışıyor, bu da onu esasen tek kullanımlık kılıyor. Sistem arızalanırsa Reset butonuna tek tıklamayla orijinal durumuna dönebilirsiniz. rm -rf / komutunu güvenle çalıştırabilirsiniz.

Tüm sistemlerinizin konfigürasyonlarını yerel olarak yapılandırabilir, görüntüler oluşturabilir, bunları bir sanal makinede veya ayrı bir donanımda test edebilir, ardından bunları uzak bir sunucuya yükleyebilir ve yalnızca iki komutu çalıştırabilirsiniz kexec -l /vmlinuz —initrd=/initrd && kexec -e tüm sistemi güncellemek için tmpfs'de yeniden başlatın.

Aynı şekilde VDS gibi tüm sistemleri tmpfs'de çalışacak şekilde aktarabilir ve işletim sistemini üzerinde tutmanıza gerek kalmadan /dev/vda diskini şifreleyip sadece veri için kullanabilirsiniz. Bu durumda tek "bilgi sızıntısı noktası", sanal makinenizin belleğinin yalnızca "soğuk dökümü" olacaktır ve sistemin tehlikeye girmesi durumunda (örneğin, ssh şifresini veya güvenlik açığını tahmin ederek) Exim), tüm güvenlik açıklarını kapatmak için sistem yapılandırmasını düzenlemeyi unutmadan, VDS'yi tekrar çalışır duruma getirmek için sağlayıcınızın "kontrol paneli" aracılığıyla yeni bir ISO indirebilirsiniz. Bu, yeniden yüklemeden, daha sonra yapılandırmadan ve/veya bir yedeklemeden geri yüklemeden daha hızlıdır çünkü özünde, sisteminizle birlikte indirilebilir ISO, yedeğinizdir. "Yedi sorun - bir sıfırlama."

Sonunda ihtiyaçlarınıza göre herhangi bir dağıtım oluşturabilir, bunu bir USB sürücüsüne yazabilir ve içinde çalışabilir, gerektiği gibi güncelleyebilir ve USB sürücüsüne yeniden yazabilirsiniz. Tüm veriler bulutlarda saklanır. Tekrar ediyorum, sistem esasen "tek kullanımlık" hale geldiğinde artık sistemin güvenliği konusunda endişelenmenize ve yedekleme yapmanıza gerek yok.

Dilek, öneri ve yorumlarınızı bekliyoruz.

Aşağıdaki bağlantıdaki depoda, her yardımcı programın açıklamasını ve kullanım örneklerini içeren ayrıntılı bir README dosyası (İngilizce) bulunmaktadır; ayrıca Rusça olarak ayrıntılı belgeler ve bağlantıda bir geliştirme geçmişi bulunmaktadır: Boobstrap önyükleme komut dosyası kompleksi.

Kaynak: linux.org.ru

Yorum ekle