Možno mnohí z používateľov GNU/Linux Vzhľadom na nedávne vládne iniciatívy na vytvorenie „suverénneho“ internetu sa obávame o cieľ chrániť sa v prípade nedostupnosti repozitárov populárnych distribúcií GNU.Linux.
Kto sťahuje repozitáre? CentOS, Ubuntu, Debian, niektorí ľudia si vytvárajú vlastné distribúcie na základe existujúcich distribúcií, zatiaľ čo iní sú vyzbrojení knihami o LFS (Linux Od nuly) a BLFS (Za hranicami Linux From Scratch) už začal kompilovať svoje distribúcie zo zdrojového kódu, pretože verí, že v podmienkach „suverénneho“ internetu nevyhnutne dôjde k útokom hackerov, vírusovým epidémiám, únikom údajov a binárne súbory sa po čase jednoducho stanú zastaranými.
Nedávno som sa dostal k tomu, aby som virtuálny stroj kompletne skompiloval zo zdrojového kódu pomocou pokynov v knihe. Linux Od začiatku Systemd Edition v.8.3. Nemôžem sa s vami podeliť o výsledky.
Proces montáže Linux
Proces montáže Linux zo zdrojového kódu možno rozdeliť do troch fáz:
- Zostavovacie prostredie LFS je zostavené na základe existujúceho operačného systému.
- Prostredie zostavy vytvorí obraz virtuálneho stroja LFS.
- Ďalšie balíky z knihy BLFS, ktoré nie sú v knihe LFS, sú nainštalované na virtuálnom stroji.
Statické súbory skriptov
Pri práci s prostredím zostavy je vhodné použiť schránku a SSH: Skopíroval som príkazy z knihy a vložil som ich do konzoly prostredia zostavy.
Po spustení vytvoreného virtuálneho stroja sa objavili vážne problémy. Na rozdiel od okna terminálu nemôžete vložiť kód do okna klienta virtuálneho počítača. Písanie príkazov pomocou klávesnice je nepohodlné a existuje vysoké riziko preklepov. Nebezpečenstvo preklepov spočíva v tom, že sa nemusia objaviť okamžite, ale po chvíli a viesť k vážnym problémom.
Je známe, že príkazy možno zadávať nielen z klávesnice, ale aj zo štandardného streamu (STDIN). Zdrojom štandardného streamu môže byť sériový port, ako aj výsledok skriptovacieho programu, takzvaný štandardný výstup (STDOUT).
Mnoho ľudí vie, že príkaz wget môže vypísať obsah stiahnutého súboru na štandardný výstup (STDOUT):
wget http://example.com -O -Ak sa výstup príkazu wget odošle tlmočníkovi, môže sa spustiť ľubovoľný kód. Kód sa spustí, ako keby bol napísaný na klávesnici alebo skopírovaný zo schránky:
wget http://umvirt.com/linux/helloworld.sh -O - | bashTýmto spôsobom môžete umiestniť súbory s príkazmi na niektorý webový server a odoslať ich obsah interpretovi.
Súbory dynamických skriptov
Statické súbory sú samozrejme dobrá vec, ak presne viete, čo je potrebné urobiť, ale ak je nainštalovaný balík, ak nie sú jasne nainštalované závislosti alebo nie, čo potom?
Dynamická stránka, na ktorej je založená, prichádza na záchranu Webový server LAMP (Linux-Apache-MySQL-PHP). Ak stránka dokáže dynamicky generovať stránky (HTML súbory) a obrázky, mala by byť schopná spracovať aj bežné textové súbory.
A tak sa aj stalo. Napísal webovú stránku ktorý generuje skripty pre interpret Bash. Databáza lokality obsahuje informácie o balíkoch, závislostiach, záplatách, doplnkoch a príkazoch na zostavenie.
Teraz na inštaláciu balíka mc (midnight commander) môžete zadať príkaz:
wget --no-check-cerificate https://umvirt.com/linux/packages/0.1/mc/install -O - | bashSamotný skript lokality prijme údaje z databázy a vygeneruje kód kontroly závislosti a kód skriptu na inštaláciu balíka. Tlmočník spracuje pokyny zo skriptu.
Aby to bolo možné, informácie o nainštalovaných balíkoch sú uložené v databáze na disku virtuálneho počítača.
V adresári sa nachádza databáza nainštalovaných balíkov /var/cache/ulfs-packages je zoznam prázdnych súborov s názvami zodpovedajúcimi menám balíkov.
Ak sa balík nenájde v databáze, závislosti sa inštalujú rekurzívne.
pohodlie
Aby bola inštalácia balíkov pohodlnejšia, iná stránka napísala skript chimp , pomocou základne Balíky UmVirt LFS. Hlavná úloha Asistent UmVirt LFS - toto je vykonávanie iných príkazov.
S chimpom je inštalácia balíkov ešte jednoduchšia:
chimp install mcdemonštrácie
Zoznámiť sa s prácou služieb Balíky UmVirt LFS и Asistent UmVirt LFS môžete si stiahnuť základný obrázok . Nainštalujte Xorg pomocou jedného príkazu:
chimp install XKým je skript spustený, automaticky sa nainštaluje 141 balíkov. Ak chcete ušetriť čas kompilácie, môžete nahradiť hodnotu premennej MAKEFLAGS v súbore /etc/profile z „-j1“ (jedno vlákno) napríklad na „-j6“ (šesť vlákien).
Decentralizácia a prispôsobenie
Na účely zaistenia bezpečnosti, autonómie a prispôsobenia je zdrojový kód služieb UmVirt LFS Packages a UmVirt LFS Assistant zverejnený ako verejná doména. Ktokoľvek si ho môže stiahnuť, nasadiť a vyladiť služby v rámci svojej infraštruktúry.
Zdroj: hab.com
