Bootstrap v1.0 кескіндерін жасау


Bootstrap v1.0 кескіндерін жасау

Мен сіздердің назарларыңызға GNU/Linux дистрибутивтерімен жүктеу кескіндерін жасауға арналған POSIX қабықшасында жазылған boobstrap деп аталатын фреймворкті ұсынғым келеді. Фреймворк бүкіл процесті үш қарапайым қадаммен өтуге мүмкіндік береді: жүйені chroot жүйесінде орналастырудан бастап, chroot жүйесін қамтитын initramfs кескінін жасау және ең соңында жүктелетін ISO кескіні. boobstrap сәйкесінше mkbootstrap, mkinitramfs және mkbootisofs үш утилитасын қамтиды.

mkbootstrap жүйені бөлек каталогқа орнатады, CRUX үшін жергілікті қолдау бар және Arch Linux / Manjaro және Debian негізіндегі дистрибутивтер жағдайында, үшінші тараптың pacstrap, basestrap және debootstrap утилиталары тиісінше қолданылуы керек.

mkinitramfs initramfs кескінін жасайды, сіз каталогта орнатылған жүйені SquashFS көмегімен қысылған «қабаттасу» ретінде пайдалана аласыз немесе жүйеге жүктегеннен кейін тікелей tmpfs файлында жұмыс істей аласыз. Мысалы, mkinitramfs `mktemp -d` --overlay "arch-chroot/" --overlay "/home" --squashfs-xz --output initrd пәрмені "arch-" бар екі қабаттасуды қамтитын initrd файлын жасайды. chroot/" жүйесін және SquashFS көмегімен қысылған "/home" файлын PXE арқылы tmpfs файлына жүктей аласыз немесе осы initrd арқылы жүктелетін ISO кескінін жасай аласыз.

mkbootisofs көрсетілген каталогтан BIOS/UEFI жүктелетін ISO кескінін жасайды. Тек каталогқа /boot/vmlinuz және /boot/initrd қойыңыз.

boobstrap busybox қолданбайды және жұмыс істейтін initramfs ортасын жасау үшін жүктеу және жүйеге ауысу үшін қажет ldd көмегімен бағдарламалардың ең аз жинағы көшіріледі. Көшірілетін бағдарламалардың тізімі, басқалары сияқты, /etc/boobstrap/boobstrap.conf конфигурация файлы арқылы конфигурациялануы мүмкін. Сондай-ақ, кез келген минималистік таратуды бөлек chroot/ ішіне орнатуға болады, одан кейін толыққанды initramfs ортасын жасауға болады. Осындай минималистік, бірақ сонымен бірге толыққанды орта ретінде xz-ден кейін 37 МБ компромиссті алатын «crux_gnulinux-енгізілген» үлгісін пайдалану ұсынылады. толыққанды GNU/Linux ортасының 3-5 МБ-қа қарсы 30-50 МБ көлемінен басқа busybox енді ешқандай артықшылықтарды ұсынбайды, сондықтан жобада busybox пайдалану орынды емес сияқты.

Функционалдылықты қалай тез тексеруге және бастауға болады? Орнатыңыз және іске қосыңыз.

# git клоны https://github.com/sp00f1ng/boobstrap.git
# CD кеуде белдігі
# орнатуды жасаңыз# boobstrap/tests/crux_gnulinux-download-and-build
# qemu-system-x86_64 -enable-kvm -m 1G -cdrom tmp.*/install.iso

Сондай-ақ, тәуелділіктерді орнату керек, атап айтқанда: cpio, grub, grub-efi, dosfstools, xorriso. Squashfs-құралдарын пайдалану қажет емес, сіз tmpfs-де тиісті жедел жадымен жұмыс істей аласыз. Жүйеде бірдеңе жетіспесе, boobstrap іске қосылғанда бұл туралы хабарлайды.

Конфигурацияларды құруды жеңілдету үшін boobstrap «үлгілерді» және «жүйелерді» пайдалануды ұсынады, олардың мәні файлдан жүйелерді жылдам орнату үшін «үлгілерді» (bootstrap-templates/) және тікелей «жүйелерді» (bootstrap-) пайдалануды ұсынады. Systems/) соңғы конфигурацияларды орнату үшін пайдаланылады.

Мысалы, boobstrap/bootstrap-templates/crux_gnulinux-embedded.bbuild сценарийін іске қосу CRUX GNU/Linux жүйесінің ең аз конфигурациясын орнатады және оны crux_gnulinux-embedded.rootfs файлында сақтайды, содан кейін boobstrap/bootstrap-systems іске қосылады. /default/crux_gnulinux.bbuild, ол аталған файлдан негізгі конфигурацияны жүктейді, барлық қажетті конфигурацияны жасайды және жүктелетін ISO дайындайды. Бұл, мысалы, көптеген жүйелер конфигурацияның бір түрін пайдаланған кезде ыңғайлы: әр уақытта бірдей пакеттер жинағын сипаттамау үшін сіз бір үлгіні пайдаланасыз, оның негізінде соңғы конфигурациясы бар жүйелердің жүктеу кескіндерін жасайсыз.

Мұның бәрін қайда қолдануға болады?

Жүйені файлда бір рет конфигурациялайсыз және оны іске қосу арқылы оны құрастырасыз және/немесе жаңартасыз. Жүйе tmpfs форматында жұмыс істейді, бұл оны бір реттік етеді. Жүйе сәтсіз болса, «Қалпына келтіру» түймесін бір рет басу арқылы бастапқы күйіне оралуға болады. rm -rf / файлын қауіпсіз іске қосуға болады.

Барлық жүйелеріңіздің конфигурацияларын жергілікті түрде конфигурациялауға, кескіндерді жасауға, оларды виртуалды машинада немесе бөлек аппараттық құралда сынауға, содан кейін оларды қашықтағы серверге жүктеп салуға және тек екі пәрменді іске қосуға болады kexec -l /vmlinuz —initrd=/initrd && kexec -e бүкіл жүйені tmpfs файлына қайта жүктеп жаңарту үшін.

Сол сияқты, сіз барлық жүйелерді, мысалы, VDS жүйесінде, tmpfs-де жұмыс істеу үшін тасымалдай аласыз және /dev/vda дискісін шифрлап, оны операциялық жүйеде сақтаудың қажеті жоқ, тек деректер үшін пайдалана аласыз. Бұл жағдайда жалғыз «ақпараттың ағып кету нүктесі» виртуалды машинаңыздың жадының «суық қоқысы» ғана болады және жүйе бұзылған жағдайда (мысалы, ssh құпия сөзін немесе осалдықты болжау арқылы) Exim), сіз барлық осалдықтарды жабу үшін жүйе конфигурациясын өңдеуді ұмытпай, VDS-ті қайтадан жұмысқа қосу үшін провайдеріңіздің «басқару тақтасы» арқылы жаңа ISO жүктеп ала аласыз. Бұл қайта орнатудан, кейінгі конфигурациядан және/немесе сақтық көшірмеден қалпына келтіруден жылдамырақ, өйткені шын мәнінде жүйеңізбен жүктелетін ISO сіздің сақтық көшірмеңіз болып табылады. «Жеті қиындық – бір қалпына келтіру».

Соңында сіз өзіңіздің қажеттіліктеріңіз үшін кез келген дистрибутивті жасай аласыз, оны USB дискісіне жазып, онда жұмыс істей аласыз, қажет болған жағдайда оны жаңартып, USB дискісіне қайта жаза аласыз. Барлық деректер бұлттарда сақталады. Жүйе, қайталап айтамын, «бір рет қолданылатын» болған кезде жүйенің қауіпсіздігі туралы алаңдамаудың және сақтық көшірме жасаудың қажеті жоқ.

Сіздің тілектеріңіз, ұсыныстарыңыз және пікірлеріңіз қабылданады.

Төмендегі сілтемедегі репозиторийде әрбір қызметтік бағдарламаның сипаттамасы және пайдалану мысалдары бар толық README файлы (ағылшын тілінде), сонымен қатар орыс тіліндегі егжей-тегжейлі құжаттама және даму тарихы сілтемеде бар: Boobstrap жүктеу сценарий кешені.

Ақпарат көзі: linux.org.ru

пікір қалдыру