•  untoreh-light

alpin

Pine, Alpine Linux bazat pe OSTree

Alegerea a ce OS rulează pe serverele dvs. este o chestiune de comoditate și familiaritate. Confortul înseamnă că vrei ceva care să îți dea cât mai puține probleme, familiaritatea înseamnă că ai prefera nu să înveți lucruri suplimentare dacă nu trebuie.

Serverele mele sunt animale de companieașa că sunt ok să emit manual câteva comenzi din când în când și nu necesită automatizare completă.

După ce am încercat CoreOS timp de un an am trecut la propriul meu simplificat distro bazat pe alpin și ostree.

Obiective

Această versiune de alpine ia indicii de la vagon plat și proiect-atomic și se presupune că este instalat ca un sistem de fișiere rădăcină numai în citire, cu actualizări care au loc atomic, adică fie reușesc, fie sistemul trece înapoi la starea anterioară. Pentru ca acest lucru să fie posibil, sistemul trebuie să aibă întotdeauna cel puțin două instantanee a versiunii lansate a sistemului de fișiere, disponibilă pe stocare.

Ținte

În ce medii va funcționa sistemul? Am vizat OVZ și [KVM], dar, în general, puteți spune containere și mașini virtuale cu diferența principală fiind că containerele nu rulează propriul kernel, în special nu au un proces de boot, apelează direct în init sistem (care de exemplu într-unDockerfile ar fi definit deCMD sauENTRYPOINT declarații), care este responsabil pentru gestionarea arborelui proceselor care vor menține containerul în funcțiune (la fel ca o sesiune normală, dacă procesul de inițiere moare, containerul se termină). De asemenea, containerele nu pot configura butoanele de sistem și pot avea restricții suplimentare asupra capacităților.

Divizarea procesului de construire

Cum este construită imaginea?

Dependențe

Theprepare.sh scriptul gestionează dependențe, dintre care majoritatea sunt pachete pentru a oferi instrumente cli obișnuite, cum ar ficoreutils, util-linux, binutils , utilitare pentru a opera cu dispozitive de blocare cum ar fiblkid, sfdisk, multipath-tools și sisteme de fișiere cuxfsprogs șie2fsprogs . Thesquashfs-tools pachetul este folosit la final pentru a comprima sistemul de fișiere rădăcină construit. Aglib pachetul de compatibilitate este, de asemenea, instalat implicit, deoarece alpine se bazează pemusl, pachetul de compatibilitate funcționează oferind unele biblioteci construite împotriva.

Copacul

Arborii de fișiere atât pentru VM-uri, cât și pentru containere sunt construiți cu respectivmake.sh șimake_ovz.sh . Aceasta este o descriere simplificată a pașilor

Pentru containere, secvența este aceeași, dar configurația se schimbă, deoarece cu un sistem care nu este pornit de la un încărcător de încărcare ostree are probleme la verificarea mediului, trebuie să aplicăm unele soluții și configurați unele dispozitive care sunt de obicei manipulate de initramfs Etapa. Așa se face OVZ sau LXC șabloanele sunt configurate.

Ambalare

Odată ce avem arborele nostru de fișiere angajatebuild.sh saubuild-update.sh se ocupă de producerea artefactului care va fi distribuit. Diferența dintre scripturi este că versiunea de actualizare începe de la un depozit de ostree anterior și de asemenea produce un artefact delta pe care un sistem de rulare îl poate aplica instanței sale ostree pentru a efectua upgrade-uri. Aceasta este o descriere simplificată a etapelor de construire

Configurația partițiilor se aplică cu un fdisklayout.cfg care definește dimensiunile partiției, avem o partiție pentru rootfs (~430M ), partiția de boot (~40M ) și o partiție swap (~40M ). Cu containere cu doar săriți montarea construcției anterioare pe un dispozitiv buclă și trageți noua comisie ostree peste vechiul depozit de ostree (extras).

Personalizări

Ce grupez în această imagine (în afară de pachetele instalate)?

Ceea ce a fost și nu mai este

Instalare

Pentru a instala imaginea, puteți să o încărcați pe furnizorul de găzduire și să o instalați de la VNC, în cazul mașinilor virtuale, dar de obicei deturn o instalare existentă, deoarece este întotdeauna posibilă, de mult timp am testat scriptul de configurare în comparație cu versiunea de distribuția Linux, în general folosesc debian-8 sau ubuntu-14, nu am testat altele, deoarece acestea le-am găsit întotdeauna disponibile. Urmează pașii de configurare

Concluzii

am facut pin 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 servere care tind să ofere resurse foarte mici, de fapt am o cutie care rulează doar64M de memorie RAM și încă mai am toate caracteristicile de care am nevoie.

[1]sistemul de fișiere rădăcină

Post Tag-uri: