Varbūt daudzi GNU/ lietotājiLinux Ņemot vērā nesenās valdības iniciatīvas izveidot "suverēnu" internetu, mūs satrauc mērķis aizsargāt sevi populāru GNU distributīvu krātuvju nepieejamības gadījumā.Linux.
Kas lejupielādē repozitorijus? CentOS, Ubuntu, Debian, daži cilvēki veido savus distribūcijas, pamatojoties uz esošajām distribūcijām, savukārt citi ir apbruņojušies ar LFS grāmatām (Linux No nulles) un BLFS (Beyond) Linux From Scratch) jau ir sācis kompilēt savus izplatījumus no avota koda, jo uzskata, ka "suverēna" interneta apstākļos neizbēgami notiks hakeru uzbrukumi, vīrusu epidēmijas, datu noplūdes, un binārie faili pēc kāda laika vienkārši novecos.
Nesen es ķēros pie virtuālās mašīnas pilnīgas kompilēšanas no avota koda, pamatojoties uz grāmatā sniegtajām instrukcijām. Linux From Scratch Systemd Edition v.8.3. Ar nepacietību gaidu, kad varēšu ar jums dalīties rezultātos.
Veidošanas process Linux
Veidošanas process Linux no avota koda var iedalīt trīs posmos:
- LFS veidošanas vide tiek samontēta, pamatojoties uz esošo operētājsistēmu.
- Būvēšanas vide veidos LFS virtuālās mašīnas attēlu.
- Virtuālajā mašīnā tiek instalētas papildu pakotnes no BLFS grāmatas, kas nav LFS grāmatā.
Statiskie skriptu faili
Strādājot ar būvēšanas vidi, ir ērti izmantot starpliktuvi un SSH: komandas nokopēju no grāmatas un ielīmēju veidošanas vides konsolē.
Pēc izveidotās virtuālās mašīnas palaišanas parādījās nopietnas problēmas. Atšķirībā no termināļa loga, jūs nevarat ielīmēt kodu virtuālās mašīnas klienta logā. Komandu rakstīšana, izmantojot tastatūru, ir neērta, un pastāv liels drukas kļūdu risks. Drukas kļūdu briesmas ir tādas, ka tās var parādīties ne uzreiz, bet pēc kāda laika un radīt nopietnas problēmas.
Ir zināms, ka komandas var ievadīt ne tikai no tastatūras, bet arī no standarta straumes (STDIN). Standarta straumes avots var būt seriālais ports, kā arī skripta programmas rezultāts, tā sauktā standarta izvade (STDOUT).
Daudzi cilvēki zina, ka komanda wget var izvadīt lejupielādētā faila saturu standarta izvadē (STDOUT):
wget http://example.com -O -Ja komandas wget izvade tiek nosūtīta tulkam, var izpildīt patvaļīgu kodu. Kods tiks izpildīts tā, it kā tas būtu rakstīts uz tastatūras vai nokopēts no starpliktuves:
wget http://umvirt.com/linux/helloworld.sh -O - | bashTādā veidā jūs varat ievietot failus ar komandām kādā Web serverī un nosūtīt to saturu tulkam.
Dinamiskie skriptu faili
Statiskie faili, protams, ir laba lieta, ja jūs precīzi zināt, kas jādara, bet, ja ir instalēta pakotne, ja atkarības nav skaidri instalētas vai nav, ko tad darīt?
Dinamiska vietne, kuras pamatā ir, nāk palīgā LAMP tīmekļa serveris (Linux—Apache-MySQL-PHP). Ja vietne var dinamiski ģenerēt lapas (HTML failus) un attēlus, tai vajadzētu būt spējīgai apstrādāt arī parastos teksta failus.
Un tā arī notika. Uzrakstīja vietni kas ģenerē skriptus Bash tulkam. Vietnes datu bāzē ir informācija par pakotnēm, atkarībām, ielāpiem, papildinājumiem un veidošanas komandām.
Tagad, lai instalētu mc (pusnakts komandiera) pakotni, varat ievadīt komandu:
wget --no-check-cerificate https://umvirt.com/linux/packages/0.1/mc/install -O - | bashVietnes skripts pats saņems datus no datu bāzes un ģenerēs atkarības pārbaudes kodu un skripta kodu pakotnes instalēšanai. Tulks apstrādās skripta norādījumus.
Lai tas būtu iespējams, informācija par instalētajām pakotnēm tiek glabāta datu bāzē virtuālās mašīnas diskā.
Instalēto pakotņu datu bāze atrodas direktorijā /var/cache/ulfs-packages ir tukšu failu saraksts ar nosaukumiem, kas atbilst pakotņu nosaukumiem.
Ja pakotne datu bāzē netiek atrasta, atkarības tiek instalētas rekursīvi.
Ērtības
Lai pakotņu instalēšana būtu ērtāka, cita vietne uzrakstīja šimpanzes skriptu , izmantojot pamatni UmVirt LFS pakotnes. Galvenais uzdevums UmVirt LFS palīgs - tā ir citu komandu izpilde.
Izmantojot šimpanzi, pakotņu uzstādīšana kļūst vēl vienkāršāka:
chimp install mcDemonstrācija
Iepazīties ar dienestu darbu UmVirt LFS pakotnes и UmVirt LFS palīgs Jūs varat lejupielādēt pamata attēlu . Instalējiet Xorg, izmantojot vienu komandu:
chimp install XKamēr skripts darbojas, automātiski tiks instalēta 141 pakotne. Lai ietaupītu kompilācijas laiku, failā /etc/profile varat aizstāt mainīgā MAKEFLAGS vērtību no “-j1” (viens pavediens) uz, piemēram, “-j6” (seši pavedieni).
Decentralizācija un pielāgošana
Drošības, autonomijas un pielāgošanas nolūkos UmVirt LFS Packages un UmVirt LFS Assistant pakalpojumu pirmkods tiek publicēts publiskajā domēnā. Ikviens var to lejupielādēt, izvietot un pielāgot pakalpojumus savā infrastruktūrā.
Avots: www.habr.com
