•  untoreh-light

Alpine

Pine, Alpine linux batay sa OSTree

Pagpili ng ano OS tumatakbo sa iyong mga server ay isang bagay ng kaginhawaan at pamilyar. Nangangahulugan ang kaginhawaan na nais mo ang isang bagay na magbibigay sa iyo ng mas kaunting mga problema hangga't maaari, nangangahulugan ang pamilyar na mas gugustuhin mo hindi upang malaman ang karagdagang mga bagay kung hindi mo na kailangan.

Ang aking mga server ay mga alagakaya't ako ay ok na manu-manong naglalabas ng ilang mga utos bawat minsan, at hindi nangangailangan ng kumpletong awtomatiko.

Matapos subukan CoreOS sa loob ng isang taon lumipat ako sa sarili kong pinasimple distro batay sa alpine at ostree.

Mga Layunin

Ang bersyon ng alpine na ito ay kumukuha ng mga pahiwatig mula sa flatcar at proyekto-atomic at dapat na mai-install bilang isang read-only root file-system na may mga pag-update na nagaganap ng atomiko, iyon ay, alinman sa kanilang pagtagumpay o ang system ay nagpapalit pabalik sa nakaraang estado. Para ito ay posible upang ang system ay dapat laging magkaroon ng kahit man lang dalawang snapshot ng inilabas na bersyon ng file-system, magagamit sa imbakan.

Mga Target

Sa anong mga kapaligiran tatakbo ang system? Target ko OVZ at [KVM], ngunit sa pangkalahatan maaari mong sabihin mga lalagyan at virtual machine kasama ang pangunahing pagkakaiba na ang mga lalagyan ay hindi nagpapatakbo ng kanilang sariling kernel, sa partikular wala silang proseso ng boot, direkta silang tumawag sa sa loob system (na halimbawa sa aDockerfile ito ay tukuyin ngCMD oENTRYPOINT pahayag), na responsable upang pamahalaan ang puno ng mga prcesses na panatilihin ang lalagyan na lalagyan (tulad ng isang normal na sesyon, kung ang proseso ng init ay namatay, ang lalagyan ay natapos). Ang mga lalagyan din ay hindi maaaring i-configure ang mga knob ng system, at maaaring magkaroon ng mga karagdagang paghihigpit sa mga kakayahan.

Bisecting ang proseso ng pagbuo

Paano binuo ang imahe?

Mga dependency

Angprepare.sh pinangangasiwaan ng script ang mga dependency, karamihan sa mga ito ay ang mga pakete upang mag-alok ng mga karaniwang kasangkapan tuladcoreutils, util-linux, binutils , mga utility upang mapatakbo sa mga block device tulad ngblkid, sfdisk, multipath-tools at mga file system na mayxfsprogs ate2fsprogs . Angsquashfs-tools ang pakete ay ginagamit sa dulo upang i-compress ang built system ng root file. Aglib ang package ng pagiging tugma ay naka-install din bilang default sapagkat ang alpine ay batay samusl, gumagana ang package sa pagiging tugma sa pamamagitan ng pagbibigay ng ilang mga aklatan na binuo laban.

Ang puno

Ang mga puno ng file para sa parehong VM at lalagyan ay binubuo ayon sa pagkakabanggitmake.sh atmake_ovz.sh . Ito ay isang pinasimple na paglalarawan ng mga hakbang

Para sa mga lalagyan, pareho ang pagkakasunud-sunod, ngunit nagbabago ang pagsasaayos, dahil sa isang system na hindi na-boot mula sa a bootloader Ang ostree ay may mga problema sa pag-verify sa kapaligiran, kailangan naming mag-apply ng ilan mga workaround at pag-set up ng ilang mga aparato na karaniwang hawakan ng initramfs hakbang Ganito OVZ o LXC naka-configure ang mga template.

Pagbalot

Sa sandaling mayroon kaming aming ostree nakatuong mga file ng punobuild.sh obuild-update.sh nangangalaga sa paggawa ng artifact na ibabahagi. Ang pagkakaiba sa pagitan ng mga script ay ang bersyon ng pag-update ay nagsisimula mula sa isang nakaraang imbakan ng ostree, at din gumagawa ng isang delta artifact na maaaring mailapat ng isang tumatakbo na system sa kanyang halimbawa ng halimbawa upang magsagawa ng mga pag-upgrade. Ito ay isang pinasimple na paglalarawan ng mga hakbang sa pagbuo

Ang pagsasaayos ng mga partisyon ay inilalapat gamit ang isang maliit na salapilayout.cfg file na tumutukoy sa mga laki ng pagkahati, mayroon kaming isang pagkahati para sa mga rootfs (~430M ), ang partisyon ng boot (~40M ) at isang partisyon ng pagpapalit (~40M ). Sa mga lalagyan na may laktawan lamang ang pag-mount ang nakaraang build sa isang loop device, at hilahin lamang ang bagong ostree na gumawa sa luma (na-extract) na ostree repository.

Mga pagpapasadya

Ano ang binubuo ko sa imaheng ito (bukod sa mga naka-install na package)?

Kung ano ang dati at wala na

Pag-install

Upang mai-install ang imahe maaari mong i-upload ito sa provider ng pagho-host at mai-install mula sa VNC, sa kaso ng mga virtual machine, ngunit karaniwan kong hijack ang isang mayroon nang pag-install, sapagkat ito ay laging posible, pati na't nasubukan ko ang setup script laban sa bersyon ng ang pamamahagi ng linux, sa pangkalahatan ay gumagamit ako ng debian-8 o ubuntu-14, hindi pa nasubukan ang iba pa dahil ang mga ito ay palagi kong nahanap na magagamit ang mga ito. Ang mga hakbang sa pag-setup ay sumusunod

Konklusyon

Gumawa ako pine 5 years from time of writing and I am still using it, and I see no reasons to switch to anything else. Alpine as a linux distro is great, simple, and I have never experienced breakage. I can easily deploy on NATED ang mga server na may posibilidad na mag-alok ng mga ultra-mababang mapagkukunan, talagang mayroon akong isang kahon na tumatakbo sa lamang64M ng RAM, at mayroon pa ring lahat ng mga tampok na kailangan ko.

[1]root file system

Mag-post ng Mga Tag: