Vienkāršota montāža Linux no avota, izmantojot UmVirt LFS pakotņu vietni

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:

  1. LFS veidošanas vide tiek samontēta, pamatojoties uz esošo operētājsistēmu.
  2. Būvēšanas vide veidos LFS virtuālās mašīnas attēlu.
  3. 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 - | bash

Tā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 UmVirt LFS pakotnes 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 - | bash

Vietnes 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 UmVirt LFS palīgs, 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 mc

Demonstrācija

Iepazīties ar dienestu darbu UmVirt LFS pakotnes и UmVirt LFS palīgs Jūs varat lejupielādēt pamata attēlu Sākotnējais UmVirt LFS v.0.1 1. atjauninājums. Instalējiet Xorg, izmantojot vienu komandu:

chimp install X

Kamē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

Iegādājieties uzticamu mitināšanu vietnēm ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa vietņu mitināšanu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster