Creu delweddau bootstrap v1.0


Creu delweddau bootstrap v1.0

Hoffwn gyflwyno i'ch sylw fframwaith o'r enw boobstrap, wedi'i ysgrifennu yn y plisgyn POSIX, ar gyfer creu delweddau cist gyda dosbarthiadau GNU/Linux. Mae'r fframwaith yn caniatáu ichi fynd trwy'r broses gyfan mewn tri cham syml yn unig: o ddefnyddio'r system mewn croot, creu delwedd initramfs sy'n cynnwys y system grooted, ac yn y pen draw delwedd ISO cychwynadwy. mae boobstrap yn cynnwys tri chyfleustodau mkbootstrap, mkinitramfs a mkbootisofs yn y drefn honno.

Mae mkbootstrap yn gosod y system mewn cyfeiriadur ar wahân, mae cefnogaeth frodorol i CRUX, ac yn achos dosbarthiadau Arch Linux / Manjaro a Debian, rhaid defnyddio pacstrap cyfleustodau trydydd parti, basestrap a debootstrap yn y drefn honno.

Mae mkinitramfs yn creu delwedd initramfs, gallwch ddefnyddio'r system sydd wedi'i gosod yn y cyfeiriadur fel “troshaen”, wedi'i gywasgu gan ddefnyddio SquashFS, neu ar ôl cychwyn ar y system, gweithio'n uniongyrchol mewn tmpfs. Felly er enghraifft, bydd y gorchymyn mkinitramfs `mktemp -d` --overlay "arch-chroot/" --overlay "/home" --squashfs-xz --output initrd yn creu ffeil initrd, gan gynnwys dwy droshaen gyda "arch- chroot/" system a'ch "/home", wedi'i gywasgu gan ddefnyddio SquashFS, y gallwch chi wedyn ei gychwyn trwy PXE i mewn i tmpfs, neu greu delwedd ISO cychwynadwy gyda'r initrd hwn.

Mae mkbootisofs yn creu delwedd ISO bootable BIOS / UEFI o'r cyfeiriadur penodedig. Rhowch /boot/vmlinuz a /boot/initrd yn y cyfeiriadur.

Nid yw boobstrap yn defnyddio busybox, ac i greu amgylchedd initramfs gweithio, mae set leiaf o raglenni yn cael eu copïo gan ddefnyddio ldd, sy'n angenrheidiol i gychwyn a newid i'r system. Gellir ffurfweddu'r rhestr o raglenni i'w copïo, fel popeth arall, trwy'r ffeil ffurfweddu /etc/boobstrap/boobstrap.conf. Hefyd, gallwch chi osod unrhyw ddosbarthiad minimalaidd mewn croot / ar wahân, y gallwch chi wedyn greu amgylchedd initramfs llawn. Fel amgylchedd mor finimalaidd, ond ar yr un pryd yn llawn, cynigir defnyddio'r templed “crux_gnulinux-emedded”, sydd ar ôl xz yn cymryd cyfaddawd o 37 MB. Nid yw busybox, ar wahân i'w faint, 3-5 MB yn erbyn 30-50 MB o amgylchedd GNU/Linux llawn, bellach yn cynnig unrhyw fanteision, felly nid yw defnyddio busybox mewn prosiect yn ymddangos yn briodol.

Sut i wirio'r ymarferoldeb yn gyflym a dechrau arni? Gosod a rhedeg.

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

Mae angen i chi hefyd osod dibyniaethau, sef: cpio, grub, grub-efi, dosfstools, xorriso. Nid oes angen defnyddio offer sboncen; gallwch weithio mewn tmpfs gyda'r swm priodol o RAM. Os oes rhywbeth ar goll yn y system, bydd boobstrap yn adrodd hyn wrth gychwyn.

Er mwyn symleiddio'r broses o greu ffurfweddiadau, mae boobstrap yn awgrymu defnyddio “templedi” a “systemau”, a'u hanfod yw defnyddio “templedi” (templedi bootstrap/) i osod systemau o ffeil yn gyflym, ac yn uniongyrchol “systemau” (bootstrap- systemau/) a ddefnyddir i osod ffurfweddiadau terfynol.

Felly er enghraifft, bydd rhedeg y sgript boobstrap/bootstrap-templates/crux_gnulinux-embedded.bbuild yn gosod y cyfluniad lleiaf o'r system CRUX GNU/Linux a'i gadw yn y ffeil crux_gnulinux-embedded.rootfs, yna byddwch yn rhedeg boobstrap/bootstrap-systems /default/crux_gnulinux.bbuild a fydd yn llwytho'r ffurfweddiad cynradd o'r ffeil a grybwyllir, yn gwneud yr holl gyfluniad angenrheidiol ac yn paratoi ISO cychwynadwy. Mae hyn yn gyfleus pan, er enghraifft, mae llawer o systemau'n defnyddio'r un math o gyfluniad: er mwyn peidio â disgrifio'r un set o becynnau bob tro, rydych chi'n defnyddio un templed, yn seiliedig ar yr hyn rydych chi'n creu delweddau cychwyn o systemau gyda'r cyfluniad terfynol.

Ble alla i ddefnyddio hyn i gyd?

Rydych chi'n ffurfweddu'r system mewn ffeil unwaith a thrwy ei rhedeg rydych chi'n ei hadeiladu a/neu'n ei diweddaru. Mae'r system yn rhedeg mewn tmpfs, sy'n ei gwneud yn ei hanfod yn un tafladwy. Os bydd y system yn methu, gallwch ddychwelyd i'w gyflwr gwreiddiol gydag un clic ar y botwm Ailosod. Gallwch chi redeg rm -rf /.

Gallwch chi ffurfweddu ffurfweddiadau eich holl systemau yn lleol, creu delweddau, eu profi mewn peiriant rhithwir neu galedwedd ar wahân, yna eu llwytho i fyny i weinydd pell a rhedeg dau orchymyn yn unig kexec -l /vmlinuz —initrd=/initrd && kexec -e i ddiweddaru'r system gyfan, gan ei ailgychwyn yn tmpfs.

Yn yr un modd, gallwch drosglwyddo'r holl systemau, er enghraifft ar VDS, i weithio mewn tmpfs, ac amgryptio'r ddisg / dev / vda a'i ddefnyddio ar gyfer data yn unig, heb yr angen i gadw'r system weithredu arno. Yr unig “bwynt gollwng gwybodaeth” yn yr achos hwn fydd “dympio oer” cof eich peiriant rhithwir yn unig, ac os bydd y system yn cyfaddawdu (er enghraifft, trwy ddyfalu'r cyfrinair ssh neu wendid yn Exim), gallwch lawrlwytho ISO newydd trwy “banel rheoli” eich darparwr, i ddod â'r VDS yn ôl i weithrediad, heb anghofio golygu cyfluniad y system i gau pob bregusrwydd. Mae hyn yn gyflymach nag ailosod, cyfluniad dilynol a / neu adfer o gopi wrth gefn, oherwydd yn ei hanfod, yr ISO y gellir ei lawrlwytho gyda'ch system yw eich copi wrth gefn. msgstr "Saith drafferth - ailosod un."

Yn y diwedd, gallwch greu unrhyw ddosbarthiad ar gyfer eich anghenion, ei ysgrifennu i yriant USB a gweithio ynddo, ei ddiweddaru yn ôl yr angen a'i ailysgrifennu i'r gyriant USB eto. Mae'r holl ddata yn cael ei storio yn y cymylau. Nid oes angen i chi boeni mwyach am ddiogelwch y system a gwneud copi wrth gefn pan fydd y system, yr wyf yn ailadrodd, yn ei hanfod wedi dod yn “tafladwy”.

Croesewir eich dymuniadau, awgrymiadau a sylwadau.

Yn yr ystorfa yn y ddolen isod mae ffeil README fanwl (yn Saesneg) gyda disgrifiad o bob cyfleustodau ac enghreifftiau o ddefnydd, mae dogfennaeth fanwl hefyd yn Rwsieg a hanes datblygu ar gael yn y ddolen: Cymhleth sgript cist Boobstrap.

Ffynhonnell: linux.org.ru

Ychwanegu sylw