Lihtsustame Linuxi koostamist allikatest UmVirt LFS paketiga.

VÔimalik, et paljusid GNU/Linuxi kasutajaid on hiljutiste valitsuse algatuste tÔttu, mis puudutavad «suverÀÀnset» Internetti, hakanud muretsema, et peaksid end kartma, juhul kui populaarsed GNU/Linuxi jaotised saavad kÀtte.

MĂ”ned laadivad alla CentOSi, Ubuntu, Debian'i repositooriume, keegi koostab oma jaotisi olemasolevate jaotuste alusel, ja mĂ”ned, varustatud LFS (Linux From Scratch) ja BLFS (Beyond Linux From Scratch) raamatutega, on juba hakkanud kompilatsiooni oma jaotiste loomiseks lĂ€htekoodist, arvestades, et «suverÀÀnse» Interneti tingimustes toimuvad kindlasti hĂ€kkimise rĂŒnnakud, viiruspuhangud, andmelekkeid, ja binaarfailid saavad Ă”ige pea aegunuks.

Hiljuti jÔudsin lÔpuks kompileerida virtuaalmasina lÀhtekoodist, jÀrgides juhiseid, mis on kirjutatud raamatus Linux From Scratch Systemd Edition v.8.3. Tulemusi jagan teiega.

Linuxi kogumisprotsess

Linuxi lÀhtekoodist kogumisprotsessi saab jagada kolmeks etapiks:

  1. Olemasoleva operatsioonisĂŒsteemi pĂ”hjal luuakse LFS-i kogumise keskkond.
  2. Kogumis keskkonnas luuakse LFS-i virtuaalmasina pilt.
  3. Virtuaalsesse masina installitakse tÀiendavad paketid BLFS raamatust, mida LFS raamatus ei ole.

Staatilised skriptifailid

Kogumise keskkonnaga töötamise ajal on mugav kasutada lÔikelauad ja SSH-d: kopeerige kÀsud raamatust ja kleepige need kogumise keskkonna konsooli.

PÀrast loodud virtuaalse masina kÀivitamist tekkisid tÔsised probleemid. Erinevalt terminali aknast ei saa kliendi aknasse sisestada koodi. Klaviatuuriga kÀskude tippimine on ebamugav ja vigu on kergesti vÔimalik teha. Vigade oht seisneb selles, et need vÔivad ilmneda mitte kohe, vaid mÔne aja pÀrast ja pÔhjustada tÔsiseid probleeme.

On teada, et kÀske saab sisestada mitte ainult klaviatuuri kaudu, vaid ka standardvoo (STDIN) kaudu. Standardvoo allikaks vÔib olla nii seerianÀhtus kui ka programmi skripti töö tulem, nii-öelda standardne vÀljund (STDOUT).

Paljud teavad, et kÀsk wget vÔib vÀljendada allalaaditud faili sisu standardvÀljundis (STDOUT):

wget http://example.com -O -

Kui wget'i kÀsku suunata tÔlgendisse, saab kÀivitada juhuslikku koodi. Kood saadetakse tÀpselt nagu see oleks klaviatuurilt sisestatud vÔi lÔikelaualt kopeeritud:

wget http://umvirt.com/linux/helloworld.sh -O - | bash

Nii on vÔimalik paigutada mÔnele veebiserverile failid kÀskude jaoks ja saata nende sisu tÔlgendisse.

DĂŒnaamilised skriptifailid

Statsionaarsete failide kasutamine on kindlasti hea, kui teate tÀpselt, mis peab olema tÀidetud. Kuid mis juhtub siis, kui paketti installitakse ja ei ole selge, kas sÔltuvused on paigaldatud vÔi mitte?

Abiks tuleb dĂŒnaamiline veebileht, mis pĂ”hineb LAMP veebiserveril (Linux-Apache-MySQL-PHP). Kui veebileht suudab dĂŒnaamiliselt genereerida lehti (HTML-faile) ja pilte, siis peaks ta kindlasti hakkama saama ka tavatekstifailidega.

Ja nii see lÀks. Kirjutasin veebilehe UmVirt LFS Packages , mis genereerib skripte Bash'i tÔlgendile. Veebilehe andmebaasis on teave pakettide, sÔltuvuste, plaastrite, lisade ja kogumise kÀskude kohta.

NĂŒĂŒd saab paketi mc (midnight commander) installimiseks sisestada kĂ€su:

wget --no-check-cerificate https://umvirt.com/linux/packages/0.1/mc/install -O - | bash

Veebisaidi skript saab andmed andmebaasist ja genereerib sÔltuvuste kontrollimise koodi ning skripti koodi paketi installimiseks. TÔlgendaja töötleb skripti juhiseid.

Selle saavutamiseks salvestatakse virtuaalse masina kettale teave installitud paketid kohta andmebaasis.

Installitud pakettide andmebaas asub kataloogis /var/cache/ulfs-packages see on loetelu tĂŒhi failidest, mille nimed vastavad paketide nimedele.

Kui paketti ei leita andmebaasist, toimub sÔltuvuste rekursiivne installimine.

Mugavused

Pakettide installimise mugavamaks muutmiseks kirjutasin skripti chimp, veel ĂŒhe veebisaidi UmVirt LFS Assistant, kasutades andmebaasi UmVirt LFS Packages. Peamine ĂŒlesanne UmVirt LFS Assistant on teiste kĂ€skude tĂ€itmine.

Skripti chimp abil on pakettide installimine veelgi lihtsam:

chimp install mc

Demonstreerimine

Teenuste tööga tutvumiseks UmVirt LFS Packages ja UmVirt LFS Assistant vĂ”ib laadida baaspildi Initial UmVirt LFS v.0.1 Update 1. Hxorg installimiseks kĂ€ivitage ĂŒks kĂ€sk:

chimp install X

Skripti kĂ€igus installitakse automaatselt 141 paketti. Kompileerimise aja sÀÀstmiseks saab failis /etc/profile muuta muutuja MAKEFLAGS vÀÀrtuse «-j1» (ĂŒks lĂ”ng) nĂ€iteks «-j6» (kuus lĂ”nga) peale.

Detsentraliseerimine ja kohandamine

Turvalisuse, autonoomia ja kohandamise tagamiseks on UmVirt LFS Packages ja UmVirt LFS Assistant teenuste lĂ€htekood avalikult kĂ€ttesaadav. IgaĂŒks vĂ”ib selle alla laadida, kĂ€ivitada ja teenuseid oma infrastruktuuri piires kohandada.

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster