Cum merg la Linux s

Într-una din notele sale recente [1] am fost în considerare problema a ceea ce se fac distributii Linux. După cum sa dovedit - de la foarte puțin, cincizeci de pachete pentru a se asigura, pe de o parte, funcționarea sistemului „în sine“ și „de la sine“, pe de altă parte - să permită utilizatorului să efectueze anumite sarcini, și nu neapărat în cadrul sistemului - elementar; plus ceea ce - care permite extinderea sistemului practic nelimitat.

A rămas pentru mici - componentele cele mai de bază pentru a instala. Apoi, utilizatorul introduce, așa cum este tipic pentru Unixuri, un cerc vicios într-un fel (sau - lanț recursiv). Într-adevăr, în scopul de a colecta de la coajă sursă (și fără ea nu suntem că nu putem începe pentru a efectua un program foarte simplu, dar chiar și inițializarea sistemului - după pornirea fișierele sale sunt script-uri același shell), trebuie să fie în funcțiune timp de cel puțin compilator și instrumente de sprijin, biblioteca de sistem. Instalarea necesită, din nou, un anumit program de operare minim (de exemplu, înapoi aceeași coajă suferință).

Cu alte cuvinte, înainte ca utilizatorul se ridica ca o fantoma tatălui lui Hamlet, una dintre întrebările eterne - ceea ce vine în primul rând, carnea de pui sau de ou. Desigur, această întrebare este pentru distribuirea de pachete de utilizator, s-ar putea spune, nu merita doi bani. La urma urmei, un unchi bun l-au decis deja la cele mai bune de înțelegere sale, unele (nu contează cum) asamblează pachetele binare care se pot extinde numai, prin utilizarea instrumentelor standard - dacă rpm, apt-get, sau altceva.

Dar cum să rezolve problema într-un ou de pui și distribuții bazată pe surse, în care toate componentele sunt prin definiție a) trebuie să fie colectate de la sursă, și b) un plin (ideal) de către utilizator) pentru a controla? După cum puteți ghici - în moduri diferite. Și distribuțiile revizuite anterior pe aceste pagini prezintă câteva exemple de soluții problemelor sacramentale.

Să începem cu Gentoo - nu pentru că el a fost primul pe lista noastră [2]. precum și abordarea mai tradițională. Într-adevăr, aici toate componentele de bază ale pur și simplu desfășurare a celor trei tarball pre-construite, aproximativ la fel cum este în prototipul ei - FreeBSD (cu singura diferență fiind că, în acest din urmă caz, tarball de bază tăiat într-un număr mare de fișiere mici - un tribut adus epocii atunci când majoritatea utilizatorilor din întreaga lume pe o conexiune rapidă ar putea doar visa). Cu toate acestea, doar primul dintr-un set de standard, în mod inevitabil fatale tarball - două puncte pot fi sincronizate cu cea mai recentă versiune de pe site-ul, actualizat și reasamblate (pentru a specifica nivelul de optimizare) deja în faza de instalare. Când este conectat la rețea, desigur.

O altă abordare este pusă în aplicare în Sorcerer distribuție și derivații săi (din care unul este descris anterior SourceMage [3]). componente de bază Aici precompilate „cap“ al sistemului corespunde cu discul de instalare, care nu este doar LiveCD, și un sistem de operare cu drepturi depline (inclusiv, dar fără a se limita la acestea, tot ce ai nevoie pentru a construi programe). Și primul lucru oferit să facă după instalare - un sistem complet reconstrui ei, care rulează în modul automat, nominal vrăjitoria utilitate. Și într-adevăr, vă permite să reconstruiască magic întregul set de bază Linux, în conformitate cu setările făcute de către utilizator (până la optimizarea unui procesor specific în modul de extremă). Adevărat, este foarte de dorit să se conecteze la rețea, deși există o alternativă - o sursă de descărcare preliminară a acestei baze foarte și plasarea lor în locul potrivit.

A treia abordare vom vedea în LRS-Linux [4]. Ea nu găsește nici pachete de pre-construite, totul de la baza Linux la pachetul xfree86, este colectat, s-ar părea, de la sol în sus, în conformitate cu selecția și setările utilizatorului (până la optimizare extremă). Cu toate acestea, în cazul în care în timpul acestui proces (destul de mult timp) nu pui de somn, în timp ce savurați bere, uita la ecran, este posibil să se constate că un număr de set de bază de componente (cum ar fi gcc și de sprijin instrumente, combinate în pachetul binutils, de exemplu), se întâlnește de două ori - chiar la începutul instalării și mai aproape de finalizarea acestuia.

Motivul pentru acest lucru devine clar din marele Gerard Bikmansa Linux Memoriu de la zero (AFM [5]). Într-adevăr, pentru că toate componentele de bază Linux are nevoie de sprijinul său de funcționare a bibliotecilor de sistem (cum ar fi, un minim de glibc), cu care acestea pot fi legate fie dinamic sau static. Pentru sistemul de operare Linux-este metoda tradițională de a lega prima (care are o justificare interioară profundă, pe care nu voi sta aici). Cu toate acestea, la momentul instalării, sistemul de fișiere rădăcină în sine prevede, nu există nici o reală (sedimentarea pe un disc virtual în memoria RAM). Si pentru ca sursa de configurare găsește link-ul în componente ale acestora relativă (sistem, mai degrabă decât un fișier, care va fi rădăcina după instalare). Ca urmare, o încercare de a componentelor de bază Linux link dinamic conduce la faptul că sistemul este repornit bibliotecile necesare vor fi pur și simplu găsit.

Interesant, nucleul sistemului trebuie să fie colectate în timpul „ciclu zero“. S-ar părea că acest lucru nu este necesar - al doilea ciclu începe fără repornirea sistemului și oferă, de asemenea nucleul sistemului părinte. Pentru punerea în aplicare a acestuia este necesar nucleul sistemului antete subsidiare, și căile pentru a le sunt măsurate din directorul rădăcină al acestuia din urmă. Cu toate acestea, în cazul în care părintele nu permite compilatorului sistemului pentru a seta nivelul dorit de optimizare (de exemplu, optimizarea pentru Pentium-4 în minte este susținută doar începând cu gcc 3.1), nimeni rănit recompilarea kernel în timpul al doilea ciclu.

Finisaje - instalare înseamnă boot de sistem, inclusiv script-uri de pornire și configurația lor. Ceea ce este destinat să ofere o repornire deja în sistemul de copil - înseamnă Lilo, GRUB sau orice alt încărcător multi-sistem de boot.

Strict vorbind, LRS-Linux și reprezintă încercarea de astfel de „distributivizatsii» AFM. Lipsa de ea - într-o instalație de program destul de rigid, nu permite nici o întoarcere la oricare dintre etapele trecute sau, dimpotrivă, de a pierde unul din viitor. De fapt, atunci când orice LRS eroare de instalare trebuie să înceapă aproape de la zero.

Cu toate acestea, prin ea însăși LFS instalarea componentelor nu necesită nici un program de instalare. Pentru punerea sa în aplicare cu succes este suficientă (și - este necesar):

  • CD Bootable (fabricat, de exemplu, syslinux înseamnă) asigurarea unui sistem de fișiere rădăcină RAM;
  • plasarea de fonduri în elaborarea și software-ul său - care este, de fapt, un sistem complet bazat pe RAM;
  • bază sursă Linux (și - orice componente suplimentare, deși acestea din urmă nu sunt necesare să fie amplasate pe CD-ul de instalare);
  • Detalii (și accesibilă în timpul instalării) documentația ecran cu exemple de acțiuni în situații tipice.

În aceste condiții toate etapele de asamblare pot fi efectuate de către orice utilizator de a experimenta în mod corespunzător în Unix-sisteme. În plus, acesta va avea nevoie de timp - în mod considerabil mai mult decât distribuirea pachetului de implementare, o mașină suficient de puternic, cu o cantitate de memorie și o unitate mare (în caz contrar, timpul necesar pentru a cumpăra la scară astronomice amenintati), și, desigur, un interes în acest proces. În schimb, a propus - optimizarea sistemului pentru un anumit „de fier“ și sarcinile specifice, libertate totală în alegerea script-uri de pornire - și nu este nevoie să scrie propriile lor de la zero, suficient pentru a se adapta oricăror sisteme existente adecvate.

Există o întrebare - și cui și pentru modul în care este nevoie de o astfel de distribuție? În mod evident, nu utilizatorul final, scopul pe care - un început timpuriu de muncă în suita de birou. Pe de altă parte, și administratorul de sistem, indiferent cât de experimentat și calificat poate fi, dacă este necesar, de implementare de rețea pe sute de locuri de muncă, preferă sistem rapid pachetul de implementare - administratorii de sistem sunt ființe umane prea, și nimic uman este străin pentru ei. Cu alte cuvinte, acest sistem se întâlnește o dată, și numai pentru ei înșiși, iubit-o. Ca cai, mânz luate, care cresc în propria lor casă, alimentate de o parte, înveliți în vreme rece în haina lui.

Cu toate acestea, domeniul de aplicare al celor două ansamblului de distribuție în cutie văd. Primul este un sistem de sarcină unică, și multe resurse, necesită performanță la orice preț. De exemplu, numărarea așa-numita sarcină inginerie și natura științifică a GIS și de procesare a imaginii, 3D-randare, etc.

A doua sferă de aplicare a sistemelor de parsare bloc - educativ. Și nu numai (sau chiar în primul rând), pentru cei care sunt pentru a forma - ori scopul lor poate fi de a obține abilități practice de bază. Dar, probabil, în primul rând, pentru cei care sunt pentru a forma. La urma urmei, pentru a transmite abilitățile cele mai de bază practice de care au nevoie pentru a înțelege motivația lor: pentru că „mai mult numărul de distribuții, versiunile lor și, în produse generale, software-ul, cu atat mai greu este de a stoca pe recomandări specifice pentru toate ocaziile“ [6].