Zašto je bolje kompajlirati nego instalirati iz spremišta

U ovom kratkom vodiču objasnit ću (i naučiti vas) zašto je bolje da sastavite program (recimo Firefox, Vlc, itd.) Iz njegovog izvornog koda, nego da ga preuzmete (iz Software Center, Yumex, Pacman itd.) ) i instalirajte.

Prvo idemo s teorijom:

Što je "sastaviti"?

Kompiliranje je pretvaranje izvornog koda (koda napisanog na određenom programskom jeziku, recimo C, C ++, itd.) U izvršni program za njegovo djelovanje korištenjem procesora za pretvaranje jezika koji se koristi za generiranje koda u binarni i asembler. Često se naziva i ambalažom.

Zašto je bolje "sastaviti"?

Prvo morate znati sljedeće da biste razumjeli zašto. Rečeno na „sirov“ način (jednostavan, ne baš profesionalan, itd.), Svaka rasa (Pentium, Core, Atom, itd.) I njene vrste (Intel, AMD, ARM, itd.) Procesora imaju upute (softver napisan u asembleru koji obrađuju kod) svog modela (Core i7, Core i5, Atom x2, Phantom x8, Arm, itd.), a također imaju i opće upute koje imaju sve te vrste.

Kada preuzimate iz spremišta putem Softverskog centra / apt-get / Yumex / Yum / Pacman / itd., Program koji se automatski instalira naziva se ovaj precompiled za rad na svim mogućim procesorima (Intel i Amd). Budući da se radi o unaprijed kompiliranom programu, gube se one upute tipične za taj specifični model procesora (pomislite da ako su programi poput Firefoxa ili Chromea, koji imaju više od 7 ili 8 milijuna redaka koda, morali staviti sve posebne upute za svaki na tržištu, količina koda bila bi toliko velika da taj program više ne bi bio učinkovit) ne ostavljajući ništa više od općenitih marki svog tvorca (Intel, Amd, Arm).

Kada sami preuzmete, raspakirate i kompajlirate izvorni kod programa, on se sastavlja s određenim uputama programa TU procesor, (što ne znači da neće raditi na stroju s drugim, već samo da će biti optimiziran posebno i isključivo za vaš procesor), oslobađajući i oslobađajući svu snagu koju vaš procesor može dati zahvaljujući svojim specifičnim uputama.

U tehničkim detaljima, ove specifične upute usko su povezane s onim što je poznato kao čipset vaše matične ploče, što je velika glavobolja za one koji imamo Intel kada želimo nadograditi procesor i matičnu ploču.

Iznenadili biste se snazi ​​koja vaša amd atom x2 ili ti Intel Core iznutra, Temeljni 2 duo, i3, itd. sa vašeg starog računala. Sad razumijete li zašto se u svijetu Linuxa puno govori o sastavljanju čuvene jezgre (srca svakog operativnog sustava)? Zamislite ako kompilirate cijeli sustav (grafičko okruženje (Gnome, Kde, itd.), Kernel, najčešće korišteni programi (Firefox, Vlc, Chrome, Wine, itd.), Posebno za vaše računalo) svu brzinu i razinu optimizacije koju biste imali.

Ovo načelo kompilacije za dobivanje koda optimiziranog posebno za vaš stroj je onaj koji koriste distro-i poput Gentoo-a i derivata (o čemu neću sada govoriti, koristim Fedoru minimalno sa kompilacijom Gnome 3, kernela i drugih programa) gdje se sustav, vaša ažuriranja i vaši programi uvijek prevode.

Protiv sastavljanja:

Već sam objasnio sve prednosti, ali kao i sve u svemiru ima i jednu protiv.

U slučaju kompilacije jesu;

  • Vrijeme potrebno za ovo (Firefox s i7 4790K (bez overkloka, jer sam jako loš s naponima) traje 3 minute, Gnome Shell (traka ništa drugo) s Gnome-Control-Centerom trebalo mi je oko 2 minute, oba su sastavljena u u isto vrijeme u Fedori. Ali na stroju s manje moćnim procesorom ovaj put može biti nerazmjerno dugo).
  • Procesor maksimalno koristi 100% snage sa svim svojim jezgrama, tako da potrošnja i toplina naglo rastu (uzmite to u obzir ako imate overclocking ili ako je posebno prijenosno računalo), pa je prikladno pripremiti mate ili kavu za tu priliku.
  • Možda vam nedostaje knjižnica (alat) koja koristi program kako ne bi pogriješila u kompilaciji. Općenito, sve distribucije imaju svoje pakete ili skupove kako bi to izbjegli (oni su prepuni raznih knjižnica i drugih stvari koje jezgru omogućuju da tijekom procesa komunicira kako treba s procesorom).

Kako mogu kompajlirati?

Za Debian (Ubuntu, Mint, Elementarni itd., Oni su svi derivati ​​ovoga pa slijedite ovo

Ovdje govorim o sastavljanju programa za normalnu upotrebu, a ne jezgre.

aptitude instalirati bitne dh-make devscripts fakeroot debhelper debian-policy ccache dh-autoreconf autotools-dev build-dep ardor

Stavio sam debian-policy, ali ako vaš distro nije Debian i ako vam se pojavi pogreška da takav paket ne postoji, jednostavno ga zanemarite. Moram pojasniti da se dugo nisam služio tim sustavima, pa ako paket više nije u spremištima, nemojte raditi probleme.

Za Fedoru:

sudo yum -y instaliraj zaglavlja jezgre
zrno-razvoj
sudo yum groupinstall "Alati za razvoj"
sudo yum groupinstall "Razvojne knjižnice"

Ovdje se moram ispričati za one koji koriste Arch (ne poznajem dobro distro) i OpenSuse, jer ne znam te distro niti odgovarajuće pakete da bih izveo ispravnu kompilaciju (i nisam potkrijepio ono što je na mreži, pa ne znam rade li za to dvoje).

Sad kad imate sve potrebne zahtjeve, trebate samo preuzeti izvorni kod programa koji želite kompajlirati, prema ekstenziji raspakirajte ga pomoću terminala (ne brinite, ostavit ću vam naredbe) i kad idete u mapu (uvijek s terminalom), radite isto:

Ako imate mogućnost da se konfigurirate za odabir komponenata i ostalih:

./configure

Zatim upišete:

make

I na kraju da instalirate program na vaš linux:

make install

Sve to uvijek s root-om (su u Fedori, sudo su u Ubuntuu i njegovim izvedenicama (Mint, Elementarni Os, itd.)

Naredbe za raspakiranje pomoću terminala (datoteka se raspakira u mapi u kojoj se datoteka nalazi):

.Tar datoteke (katran) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Pakiranje | tar cvf file.tar / file / * Raspakirajte | tar xvf file.tar Pogledaj sadržaj | tar tvf datoteka.tar
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .tar.gz - .tar.z - .tgz (katran sa gzipom ) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Pakiranje i patentni zatvarač | tar czvf file.tar.gz / file / Raspakirajte i raspakirajte | tar xzvf file.tar.gz Prikaz sadržaja (nije izvučen) | katran tzvf datoteka.tar.gz
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .gz (gzip) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Compress | gzip -q datoteka (datoteka se komprimira i preimenuje u "file.gz") Raspakirajte | gzip -d file.gz (Datoteka ga raspakuje i ostavlja kao "datoteku"). Napomena: gzip komprimira samo datoteke, a ne direktorije
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .bz2 (bzip2) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Compress | bzip2 datoteka | datoteka bunzip2 (datoteka se komprimira i preimenuje u "file.bz2") Raspakirajte | bzip2 -d datoteka.bz2 | bunzip2 file.bz2 (datoteka ga raspakuje i ostavlja kao "datoteku") Napomena: bzip2 komprimira samo datoteke, a ne direktorije
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .tar.bz2 (katran s bzip2) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Compress | tar -c datoteke | bzip2> file.tar.bz2 Raspakirajte | bzip2 -dc datoteka.tar.bz2 | katran -xv | tar jvxf file.tar.bz2 (najnovije verzije tar-a) Prikaz sadržaja | bzip2 -dc datoteka.tar.bz2 | katran -tv
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .zip (zip) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Compress | zip file.zip / mayo / archives Raspakirajte | raspakirajte datoteku.zip Pogledajte sadržaj | raspakirajte -v datoteku.zip
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .rar (rar) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Compress | rar -a file.rar / svibanj / arhiva Raspakirajte | rar -x file.rar Pogledaj sadržaj | rar -v datoteka.rar | rar -l datoteka.rar

I to je sve. Pozdrav iz Buenos Airesa, Argentina. Sretni blagdani i Nova godina! :)


67 komentara, ostavi svoj

Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   Gonzalo dijo

    Problem sa sastavljanjem je taj što ne radi uvijek prvi put i zamorniji je

    1.    Cristian dijo

      Problem s kompajliranjem jest da, ako nemate staro i ograničeno računalo, poboljšanja neće biti primjetna ... dobro, možda je to na računalu s intenzivnom upotrebom opcija, ali za većinu korisnika to je samo dosadan proces.

      1.    Danijel dijo

        Mislim da je to srž stvari. Je li poboljšanje performansi koje će se primijetiti pri sastavljanju paketa toliko važno da bi trebalo vremena i gnjavaže oko ovog zadatka u drugi plan?

      2.    joaco dijo

        Isto ako imate i7 compile, prikladno je jer je brži i računam da djeluje nešto bolje. Sada s računalom s Intel atomom to nije zgodno, osim ako vam zaista nije potrebna dodatna snaga koju kompajliranje daje, ali za sastavljanje programa s manje moćnim procesorom mogu potrajati sati.

    2.    Avrah dijo

      Potpuno se slažem, dogodilo mi se da sastavim i nakon nekog vremena saznam da vam nedostaje knjižnica, pratite je i morate se ponovno suočiti s postupkom ... Rijetko kada sve uspije u prvom pokušaju ... xD

  2.   FerGe dijo

    ¡Muy interesante!

    Ako kompajlirate program, kako naknadno rade ažuriranja? Jesu li automatski ili moramo biti svjesni je li izašla nova verzija?

    1.    Anthony Fields dijo

      Morate ga ažurirati ručno, odnosno sastaviti najnoviju verziju, to je još jedan, recimo "nedostatak", za koji također čini nešto zamorno

    2.    jlbaena dijo

      Kako ažuriranja ne postoje, zapravo Linux distribucije i njihovi različiti načini pakiranja softvera i odgovarajući upravitelji paketa uklanjaju neugodnosti ponovnog prevođenja za svako novo ažuriranje (i rješavanja ovisnosti).

      Pozdrav.

    3.    joaco dijo

      Ako ga kompajlirate preuzimanjem izvornog koda s bilo koje stranice, tada to morate učiniti ručno i naučiti kako ga instalirati jer nisu sve instalirane na isti način.
      Ako imate Gentoo ili neku distro distribuciju s priključcima, to činite iz spremišta gotovo automatski.

    4.    Fermin dijo

      U Gentoou se vaš upravitelj paketa, Portage, brine o ažuriranjima i ovisnostima; Ne znam za ostale distro. Naravno, svako ažuriranje očito uključuje ponovno sastavljanje.

  3.   Tanraks dijo

    Bilo je vrijeme kad sam sastavio sve što sam mogao. Tada sam se umorio, posebno zbog vremena koje sam morao posvetiti radnom stroju (45 minuta za jezgru, 10 minuta za krom ...) i zbog vremena koje sam proveo u rješavanju problema koji su se pojavili u hodu. Uz to, osobno nisam našao porast performansi, imao sam osjećaj da je sve isto. Iz tih razloga sada koristim sve prethodno sastavljeno, sve je trenutno i bez sukoba. Iako sam tada puno naučio, želio sam koristiti gentoo 🙂

  4.   Emmanuel dijo

    Čak, i to je nešto što sam malo vidio, može se kompilirati iz sustava poput apt. Dodajte zastavicu gradnje u apt-source i voila. Naravno, prije toga, instaliranje potrebnih paketa za provođenje kompilacija, inače ne funkcionira ... iako je to izravniji oblik kompilacije i koji uključuje manje koraka, jer je tek prvi put kada zauzima instalaciju paketa i sljedeće, ispunjene ovisnosti i paket kao takav.

    Pozdrav.

    1.    joaco dijo

      Ima funkcionalnost apt-build, iako mislim da ne kompajlira ovisnosti, već instalira unaprijed sastavljene binarne datoteke.

  5.   xikufrancesc dijo

    Od prvog trenutka kad sam vidio naslov, nisam mogao ne pomisliti isto, a nakon što sam pročitao cijeli izvrsni članak, imam na umu ideju oko tisuću puta, Gentoo ... Gentoo, gdje si?
    sastavljanje je prekrasno, moći uživati ​​u određenim značajkama i koristiti ih neprocjenjivo je, ali vrijeme i "trenutne potrebe" neoprostive su, jer se ne primjenjuju.
    Možda nam treba nešto u sredini, gdje ni knjižnice ni detalji u promjeni verzije neće izgubiti toliko vremena. Vidjet ćemo što će se tada dogoditi, ili ako se zaista primijenimo na sastavljanje na samoj sposobnosti, uprmi i zypper koje smo već instalirali.

  6.   anoniman dijo

    3 minute firefox! .... Jeste li mislili 30?

    Ovo mi je trebalo neko vrijeme na računalu s 8350G fx4.5, koristim gentoo.
    $ genlop -t firefox | rep -n3
    Sub 6. prosinca 20:00:00 2014 >>> www-client / firefox-34.0.5-r1
    vrijeme spajanja: 16 minuta i 35 sekundi

    Ove se upute specifične za svaki procesor nazivaju mnemotehnikom i fizički su implementirane unutar mikroprocesora, one čine strojni jezik, dakle sastavljaju se tako da program može raditi na mnogim vrstama mikroprocesora, ako ili ako moraju biti ograničeni na najmanja količina uobičajenih mnemotehnika podržanih u svim tim mikroprocesorima ... trošeći stvarni kapacitet najaktuelnijih i najsnažnijih mikroprocesora.
    To rade tvrtke i gnu / linux binarni distributeri.

    1.    Shyancore dijo

      Meni je s Intelom i7 4790K s 18 GB RAM-a trebalo ono što sam već rekao

      1.    anoniman dijo

        Razumijem da je mikro koji imate superiorniji, ali razlika je bezdana, istina mora biti savana tom brzinom. Možda je riječ o nečemu što je povezano s ovisnostima ili USE-ima, koji su isti kao opcije konfiguriranja prilikom ručne kompilacije.

      2.    Jhonny dijo

        Mali detalj kojeg ste izbjegli rekavši 18 GB Rama osim i7, nemaju svi taj stroj, ali mogli biste napraviti benchmarking kako bi razlika bila primjetna, jer je teorija lijepa, ali da vidimo hoće li to nadoknaditi.

      3.    Cristian dijo

        Još jedan sjajan detalj, procesor je Intel, stoga ima najbolju pomičnu zarez neovisno o modelu, vrlo relevantnu značajku za izvođenje ove vrste procesa

    2.    Ezequiel dijo

      Istina, sastavljanje je zamorno. Ali puno toga naučite negirajući Makefile, knjižnice itd. To je nešto što je dobro napraviti i nekoliko puta. Koristim sve prethodno sastavljeno iz istog razloga koji je naveo Tanrax.

      Pozdrav iz Argentine!

  7.   Erick carvajal dijo

    Problem koji obično imam pri pokušaju kompajliranja potpuno novih verzija programa uvijek je zbog ovisnosti, ponekad ih je potrebno kompilirati (da biste došli do najnovijih verzija), a zatim razmislite o mogućnosti kompajliranja onoga što želite.

    Problemi s PUTOM i ZASTAVE stvari su koje me još uvijek sprječavaju da želim sve kompilirati (iako to obično radim kako mogu). Jedan od alata s kojim se obično savjetujem da bih mogao sastaviti ovisnosti je sljedeći web - http://www.linuxfromscratch.org/ -

    #LinuxFromScratch je projekt koji pruža upute "korak po korak" za sastavljanje izvornog koda koji trebate koristiti u sustavu .. (98% onoga što mi je potrebno za kompajliranje postigao sam vodeći me odavde i postupno učenje).

    Kao dodatnu točku mislim da bi sastavljanje sustava iz 0 bilo zanimljivo, posebno za razvojna okruženja ili poslužitelje, između ostalog za koje kažemo da "obično nisu toliko promjenjivi" kao osobno računalo u koje neprestano sve instaliramo i mijenjamo (to je moje gledište), uz činjenicu da je minimalna izvedba koja se postiže u ovoj vrsti korištenja aplikacija vrlo važna.

    To su točke o kojima se u današnje vrijeme govori vrlo malo i samo "učenjaci" uspijevaju, ali zanimljivo je dati ovakvim stvarima vodiče koji su im potrebni, tako da svaki dan pronađemo više ljudi koji doprinose pomoći različitim zajednicama u kojima sudjeluju i ne samo da Gnu / Linux ostaje na vremenu zbog slabe izvedbe suradnika, iako iako je do sada "radio na ovaj način" nije baš zdravo imati samo krajnje korisnike.

  8.   Rabuda Orao dijo

    Dopustite mi mali dodatak. Da biste postigli prednosti koje ovdje predstavljate, morate pravilno konfigurirati dobro poznati make.conf. Tamo su naznačene obitelji procesora i oznake kompilacije. Slično tome, tamo možete odrediti broj jezgri koje će se koristiti tijekom kompilacije. Kad koristite sve jezgre mikrofona, vrijeme sastavljanja drastično se smanjuje.

    pozdravi

  9.   Sebastian dijo

    Vrlo dobar članak. Volio bih i primjer ili bih želio izravno, post o tome kako kompajlirati u archlinuxu ili kako koristiti AUR. Sretna Nova godina od Mendoze.

  10.   The Guillox dijo

    Davno ... Uvijek sam kompajlirao jezgru, ali vrlo je zamorno čekati 40min: / u svakom slučaju ... Već dugo nisam kompajlirao ništa osim za upravljačke programe za video (samo za posebne konfiguracije) .

  11.   Aleksandar dijo

    Članak je vrlo zanimljiv, ali ne gospodine, pakiranje i kompajliranje nije isto;) ..

  12.   c4eksplozivno dijo

    Vrlo dobar post. Slažem se s sastavljanjem određenih programa, ali ponekad je to pomalo zamorno pa je stroju potreban taj proces. Ali osim toga, puno se nauči, posebno kada su potrebne knjižnice ili paketi.
    Mislim da vam je za Archlinux potreban sljedeći paket: base-devel
    pacman -S baza-razvoj

  13.   ubiti štakora dijo

    Informacije su vrlo dobre, ali istina je da ih nije potrebno kompajlirati, ako ste standardni korisnik i samo želite da nešto tako radi, nemojte to ni dirati. Dosadno je kompajlirati, uvijek, uvijek kažem da vam nedostaje knjižnica, nađete jedan ili drugi problem, recite mi da sastavim minecraft poslužitelj tako da sve bude što bolje i da vam uzmem vremena ... osim što svaki put kad izađe ažuriranje ili zakrpa ili bilo što drugo, počnite ponovno sastavljati xd

    1.    kik1n dijo

      Točno, kompajliranje je za vrlo specifične programe koji su vam potrebni za optimalnu upotrebu, jer je sastavljanje svega, i kao što kažete, uvijek postoje nadogradnje, uglavnom valjane distro verzije, dosadno. Preporučio bih samo lts kernel.

  14.   Fedorakorisnik dijo

    Danas gotovo svi procesori koje ljudi koriste podržavaju iste upute, stoga je sastavljanje povoljno samo kada je u pitanju jezgra i u sustavu kao što je poslužitelj, a to je, očito kad nema prethodno kompiliranih paketa, sve ostalo uzaludno vrijeme.

  15.   John Mere dijo

    Dobar doprinos, pokušat ću vidjeti kako to ide, do sada većinu vremena (gotovo uvijek) instaliram iz spremišta ...
    Malo opažanje: Opcije naredbe rar nisu skriptirane i bunzip2 se samo dekomprimira.

  16.   Santiago dijo

    Najviše što sam sastavio bio je kernel za debian wheezy i trebalo mi je oko 2 sata (imam amd e450 1.6 ghz dvojezgreni procesor) i upravo zato ne instaliram gentoo, vrijeme za kompajliranje i preuzimanje cijelog sustava trebalo bi mi oko 18 sati i da ako nemam problema, istina je da je bolje kompilirati, ali većinu vremena potrebno je previše i mislim da se to ne isplati. Imate pojačanje brzine, ali to nije puno i mislim da to ne opravdava svo uloženo vrijeme. Iako ću jednog dana imati računalo s procesorom kao što je vaš, pokušat ću instalirati gentoo 😛

  17.   Vampi dijo

    Narod:

    Bez namjere plamena ili bilo čega drugog, lijenici smatraju prirodnim sastavljati, generirati binarnu datoteku, instalirati je s odgovarajućim upraviteljem paketa (koji očito rješava ovisnosti, slapt-get, swaret, slackyd i / ili nekoliko drugih), sa svime optimiziranim za naše tim i kao da ništa, što nije ništa o čemu se može pisati kući ili kvantna fizika.

    Gledanje DVD-a bez posrtanja na P3 750MHz s 192MB RAM-a nije ni nemoguće ni teško postići preko Slackware-a. Potvrđujem, i to je brže od sastavljanja Gentooa. Ali nije isto, koristim i Gentoo.

    Razlika između hakera i potrošača je u tome što potrošač kaže "Volio bih da to tako funkcionira", a haker "Imam odvijač i nekoliko minuta" - Rael Dornfest

  18.   pepenrike dijo

    Postoji li doista značajno poboljšanje performansi?
    Sa zadnjom generacijom i7 i 18 Gb RAM-a, kako primijetite razliku između kompiliranih paketa i binarnih datoteka?

    Oduvijek sam mrzio prikladnost samokompajlirajućih paketa, ali mislim da je u trenutnim radnim okruženjima vrlo složeno održavati ga, posebno zbog složenosti ovisnosti, kontinuiranih ažuriranja i ogromne ovisnosti o neslobodnim izvori., kao u slučaju vlasničkih pokretača, koji nesumnjivo utječu na performanse puno više od bilo kojeg aspekta koji se može kompilirati ...

    pozdravi

    1.    Shyancore dijo

      Uzimajući u obzir da ga Gnome 3 samo kompajlira (imena ću reći sirovo budući da se imena paketa ne sjećam): ljuska (traka), gnome-control-center (kompletan, sa svojim ovisnostima, itd.), Aplet za vrijeme i oko 2 ili 3 ovisnosti da ljuska radi. Očito je da je ljuska zahtijevala više ovisnosti da bi sve njezine funkcije radile, ali to me dovelo do kompajliranja GDM-a, popravio sam to modificirajući ga s GConfom nakon što je ljuska sastavljena.
      Sada kada se prijavim (putem terminala), okruženju treba puno manje vremena za učitavanje nego kad je bilo instalirano prekompilirano. Bacanje vremena u zrak, na unaprijed sastavljeni način, mislim da je trebalo oko 3 ili 4 sekunde da se učita školjka (s otprilike 5 u kojima je prikazana pozadina, nikada nisam shvatio zašto je trebalo toliko dugo, čini mi se da je zbog vozača s GT 630) i kompajliran čim sam unio lozinku X org se pokreće i okruženje se učitava (s predopterećenjem i prelinkom učinio sam ih puno bržim, čini mi se da je to zato što su proslijeđeni predmemorija; https://www.google.com.ar/search?q=preload+y+prelink+fedora&ie=utf-8&oe=utf-8&gws_rd=cr&ei=iXaqVPykO4qYNpbTgdAP )

    2.    mario dijo

      Činjenica da i7 ima ss4 i ss3 upute, koje se zanemaruju generičkim gradnjama iz različitih distro-a (debian grade za 486, ubuntu za 686) može vam dati ideju kada se troši hardver pokušavajući obuhvatiti 20 godina star procesor - možda hvala na podršci mom starom pentiumu mmx-. Ako su vam potrebni "vlasnički upravljački programi", kao što ste spomenuli, jezgra pruža mogućnost učitavanja određenog firmwarea u vrijeme sastavljanja. Nema više čudnih problema s xorgom.

  19.   Fabian Alexis dijo

    Hvala na informacijama, uvijek je dobro naučiti (ili ponovno naučiti) (:

  20.   Xavier dijo

    Debian rado Gentoo 🙂
    http://crysol.org/es/node/699

  21.   Šest juana dijo

    Još jedan nedostatak je taj što je kompilacija putem terminala namijenjena korisnicima koji znaju ili već imaju određeno znanje o Linuxu. Postoji li grafički alat koji ne upravlja kompilacijom, instalacijom i ažuriranjem programa već grafički?

    1.    mario dijo

      Izračunajte da Linux to radi, to je gentoo s grafičkim alatima spremnim za izradu. U Phoronixu to obično preporučuju.

  22.   José dijo

    Korisnik sam linuxa, ponekad kad želim instalirati program iz spremišta, instaliraju se stare verzije programa, jednostavno zato što nove nisu sastavljene za dotični distro, mislim da je bitno znati kako kompajlirati, čak i više kad se koriste rijetki distros.

  23.   Joan dijo

    Sve što piše u postu je u redu i ne sumnjam da je istina, ali razlika u izvedbi između instalacije binarnog paketa i sastavljanja sebe neprimjetna je za korisnika.

    A nedostaci sastavljanja su mnogi i ako su jasno uočljivi korisniku. Stoga osobno koračam prema kompajliranju.

  24.   NauTiluS dijo

    Tamo gdje sam najviše primijetio performanse prilikom sastavljanja jezgre, to je bilo na prijenosnom računalu s procesorom AMD 64. Promjena između tvorničkog i kompiliranog jezgra bila je brutalna.

    Trenutno na svom sustavu imam tvorničku jezgru, jer kako ovdje puno govore, bilo je vrijeme kada sam kompajlirao gotovo sve i umorio sam se.

    Trenutno sastavljam samo neke vitalno važne programe, poput upotrebe malog poslužitelja ili igranja s emulatorima. Nedavno sam objavio post o tome kako sastaviti mame verziju. Ovi se programi obično prikazuju kad je optimiziran za vaš sustav.

    Samo trebam isprobati taj gentoo distro i vidjeti kako ide izvedba.

  25.   NauTiluS dijo

    Zaboravio sam dodati, za ljude kojima treba dugo vremena za sastavljanje jezgre, više od 30 minuta, postoji nekoliko trikova kako bi to učinili za manje vremena.

    Jedan od tih trikova je da vam se čini samo sastavljanje modula vaše opreme, maksimalno, možda najviše 70 modula, a ako dodamo podršku iptables-a sa svim njegovim zahtjevima, mislim da bi se povećala na 300 modula. Hajde, to je puno bolje od sastavljanja 3000-ak modula, brojka koja se trenutno izvodi ako se moduli jezgre kompajliraju onako kako dolaze iz tvornice ili kako oni kažu, vanilija.

    Program koji će vam pomoći da znate koje module kernel trenutno prepoznaje na vašem sustavu je "localmodconfig" ili upotrebom ove skripte "streamline_config.pl" koja se nalazi unutar direktorija izvornog jezgra, na putu "/ scripts / kconfig /»

    Naravno, pripazite da ste spojili sve svoje USB uređaje, jer jednom kad kernel prepozna sve vaše module, samo je pitanje kompilacije.

    Jezgra će biti vrlo lagana i osjetit ćete određenu svježinu u sustavu, kao i ubrzati pokretanje i isključivanje sustava.

    Pozdrav.

  26.   tabris dijo

    Život nije tako lak! postoje programi koji koriste cmake ili druge stvari, a ažuriranje i kompajliranje svega traje. A ako imate takav CPU, kakva će vam razlika biti?

  27.   Yoyo dijo

    Problem s kompajliranjem je taj što se neki programi koje instaliramo tom metodom tada ne deinstaliraju ili pri tome stvaraju pogreške, pa ih ne možemo deinstalirati.

    1.    anoniman dijo

      Morate spremiti mapu s kompiliranim izvorima, kada želite deinstalirati, sve što morate učiniti je otići u mapu izvora i s terminala kao root izvršiti:

      # napravi deinstalaciju

      Naravno, paketi sastavljeni ručno prema zadanim postavkama u svakoj ozbiljnoj distro distribuciji instaliraju se odvojeno, to jest u / usr / local / bin, a ne u / usr / bin gdje ih upravitelj paketa distro distribuira prema zadanim postavkama, tako. isprepleteno je.

  28.   freebsddick dijo

    Članak pokreće nekoliko zanimljivih stvari, ali mu nedostaju užasne kvalitete u smislu i logičkoj strukturi.

    «U izvršnom programu za svoj rad korištenjem PROCESORA za pretvorbu jezika koji se koristi za generiranje koda u binarni i asembler. Često se naziva i ambalažom. "

    Lažno. kompajler se zapravo koristi, on je zadužen za prosljeđivanje uputa određenog programskog jezika odgovarajućem montažnom jeziku i zatim njihovo prevođenje u strojni jezik.

    Asemblerski jezik je mnemotehnika koja odražava skupinu uputa koje se nalaze u registrima čipa.

    «Kad sami preuzmete, dekomprimirate i prevedete izvorni kod programa, on se sastavlja s određenim uputama VAŠEG procesora»

    Prilikom sastavljanja programa to će se jednostavno izvršiti s uputama zajedničkim arhitekturi.Ovisi o svakom korisniku da aktivira odgovarajuće zastavice kompajlera kako bi optimizirao program za određeni procesor.

    U vezi s onim što komentirate o sastavljanju jezgre:
    Kada kompajlirate jezgru, želite aktivirati ili deaktivirati značajke koje mogu ili ne moraju biti korisne u određeno vrijeme, što se neće nužno odraziti na odnos veličine i brzine u izvršnom opterećenju.

    Kada se pozivate na sljedeći odjeljak:

    dh-make devscripts fakeroot debhelper debian-policy ccache dh-autoreconf autotools-dev build-dep

    Ti programi nisu bitni za sastavljanje programa. Kao što ste pokušavali reći na početku, količina programskih jezika sprječava vas da sa sigurnošću znate koje alate morate instalirati da biste mogli kompajlirati programe u gnu / linux ... to možete znati samo savjetovanjem s dokumentaciju programa koji želite provesti. Programi koje spominjete koriste se za DEBIJANIZIRANJE i upakiranje u taj format programa koji može biti sastavljen ili ne.

    U članku postoje i druga pitanja koja se pokazuju pomalo dvosmislena u načinu rješavanja. Bilo bi teško obratiti im se svima.

    Predlažem da autor članka pregleda što je više moguće i pozivam na bolju kontrolu kvalitete publikacija.

    1.    pepenrike dijo

      Čovječe, nije ni to.

      Članak nije za časopis Science, to je jednostavno uvodni članak i vjerujem da je u terminima u kojima je napisan dovoljno detaljan da korisnik početnik razumije ključne pojmove.

      Ako postanemo akademski, tri četvrtine onoga što se objavljuje na internetu ne bi vrijedilo apsolutno ništa.

      Ne budimo toliko puristički ... nemoguće je 100% složiti se s člankom, ali ne možemo kontinuirano ocjenjivati ​​"tehničku" kvalitetu, kao da ocjenjujemo doktorat.

      Moja puna podrška autoru ovog članka

  29.   bez imena dijo

    zanimljiv članak

    Ljubiteljima slobode uvijek je dobro da unar umjesto rara slobodno otpakuju rare. ( https://packages.debian.org/jessie/unar )

  30.   Jumi dijo

    Pogodila sam bug s ovim problemom ... Počela sam pretraživati ​​u googleu, ali ne mogu pronaći tutorial za kompajliranje firefoxa pod ubunto 14.04 amd64 bita ... u suprotnom, večeras dobivam kernel sa sljedećim tutorialom: http://www.redeszone.net/2014/11/28/como-instalar-el-ultimo-kernel-de-linux-en-ubuntu-14-04-lts/

  31.   carlos ferra dijo

    dobar članak, puno učim. ali ovo bih koristio samo za neki određeni program koji troši puno resursa, poput video uređivača, na primjer. Pozdrav.

  32.   Babel dijo

    Između ovog članka i članka iz Gentooa koji su objavili prije nekoliko dana, napastuju me da instaliram Gentoo na svoje računalo. Prije mnogo godina koristio sam Sabayon, koji je olakšao čitav postupak instalacije, ali zadržao bazu koja se treba kompajlirati iz izvora. Iskreno, ne sjećam se da sam primijetio bilo kakvu razliku u performansama svog laptopa (u to vrijeme imao sam krug) sa Sabayonom ili Ubuntuom, pa ne znam bih li se bacio na sav posao brisanja svog Archa koji jako dobro funkcionira da ga instalirate. Nisam siguran da se nekoliko milisekundi po programu isplati.

    1.    anoniman dijo

      Od 4 računala s gentooom koja sam instalirao i ažurirao, dodan je prijenosnik koji je imao archlinux .... Systemd me umorio, već sam ga morao koristiti sa startxom, jer su u zadnjem ažuriranju obje jezgre pucale na 85% upotrebe, bez ičega , Istraživao sam i čini se da se nešto promijenilo u systemd-u kako bi vitki poludjeli i pojeli mikroprocesor.
      Dosta, bilo je dovoljno s lukom ... predugo se držao, više od dvije godine, sad instaliram gentoo, idem na update za stage3, za večeras ide otvoreni okvir s krumpirićima.

  33.   Lav dijo

    Dobar članak, natjera me da kompajliram Qupzillu, ali s sempronom će trebati dana, pa, ne znam toliko dugo, ali svejedno ostavlja loš dojam.

  34.   Manuel Aponte dijo

    Još jedan nedostatak kompilacije je taj da je, kada postoji ažuriranje, potrebno ponovno sastaviti i instalirati ažuriranje, što je problem s obzirom na to da neki programi imaju kratke razvojne cikluse i za njih se ažuriranja izdaju često, 2 do 3 mjeseca, sa svim to slučajnom korisniku dosadi, a stalni korisnik troši puno vremena kako bi održavao svoj sustav ažurnim.

  35.   Manuel Aponte dijo

    Želio bih znati koje se aplikacije više preporučuju za sastavljanje. prema svojoj korisnosti, učestalosti ažuriranja i poboljšanju performansi.

  36.   Alex Pol dijo

    To je apsurdno, ako se trebate sastaviti, koristite pogrešnu distribuciju. Jedini razlog za kompajliranje je dodavanje mogućnosti otklanjanja pogrešaka kako bi vas usporili u zamjenu za bolje ispravljanje grešaka drugih.
    Vaš sustav nije spor jer mu treba -O3, spor je jer postoji previše programa koji čita na disk ili slika previše na ekranu.

    Moja preporuka: umjesto mikro-optimizacije našeg sustava, radimo kao zajednica na poboljšanju softvera koji svi imamo.

  37.   Javier Fernandez dijo

    Niste objasnili kako optimizirati kompilaciju, na primjer u Gentoo USE opcije koriste se za optimizaciju generiranog koda, također morate navesti procesor itd. Kako se to radi u UBUNTU / Debian ili Arch?, Zanimljiv članak.

  38.   Jose Manuel dijo

    Dobro!

    U nedostatku čitanja komentara ispod, imam novaka u Linuxu:

    Koristim Fedoru 20, već imam instalirano poprilično stvari, na primjer, preglednik Firefox, da bih ga kompajlirao za svoj stroj, mogu li to jednostavno učiniti? To jest, pod kodom i kompajlirati, ili prvo moram eliminirati program koji sam već preuzeo za sastavljanje novog ...

    Isto je i s Linux jezgrom i slično ...

    Možda tražim nešto apsurdno, ali već kažem da sam poprilično novak u ozbiljnim Linux stvarima, hahaha

    Pozdrav!

    1.    Koprotk dijo

      Mislim da kernel nije potreban, ali za svaki kernel morate stvoriti unos u GRUB-u, s firefoxom ne znam je li poželjno imati 2 firefoxa, osobno više volim imati 1 samo kernel i 1 samo firefox

  39.   st-avapksija dijo

    Jedino što sam u svom životu sastavio je verzija u razvoju Musiquea, jako mi se sviđa ta aplikacija, vrijedila je toliko vremena koliko je trebalo za taj proces. Za krajnjeg korisnika poput mene, kad sam završio, osjećao sam se ispunjenim.

    Pozdrav, izvrstan blog.

  40.   ekoslaker dijo

    Pozdrav, koristim Slackware i sastavljanje aplikacija je najnormalnija stvar na svijetu.
    Sustav se instalira iz već prekompajliranog ISO-a, a predkompajliranih aplikacija koje možete koristiti iz službenog spremišta malo je, iako ako želite možete preuzeti izvorni kod sustava (i originalne skripte s kojima je sastavljen cijeli distro ) i sami ga sastavite, kako pretpostavljam da Gentoo radi.
    Međutim, projekt SlackBuilds nudi skripte (slično službenom distro-u) za mnoge programe trećih strana, u koje preuzimate izvorni kod onoga što želite instalirati i pretvorite ga u tgz ili txz paket koji se kasnije instalira s njim. službeni upravitelj paketa distroa. Stoga je prednost u tome što izbjegavate korištenje naredbi za konfiguriranje, izradu, izvršavanje instalacije, a paket možete ažurirati, ponovno instalirati ili ukloniti kao i bilo koji drugi i vrlo jednostavno.
    Loša je strana što se ovisnosti ne rješavaju automatski u Slackware-u kao u drugim distro-ovima, tako da prvo morate sastaviti potrebne ovisnosti, a aplikaciju koju želite instalirati posljednju. Programi koje koristim kompilirani su između ostalog LibreOffice, Texmaker, Spyder, Qt5, QtCreator, VLC, Wine, GRASS, QGis. Ovisno o aplikaciji i njezinim zahtjevima, sastavljanje i instalacija mogu trajati od 5 minuta do nekoliko sati. Ali ako želite, možete pronaći i koristiti unaprijed sastavljeni paket kako biste uštedjeli vrijeme.
    Nisam imao vremena provjeriti postoji li velika razlika između prevedenih i prekompajliranih paketa, ali moj je sustav vrlo stabilan. Ali mislim da barem u mom laptopu nema velike razlike jer nije toliko moćan, ima i3 procesor i 4 GB RAM-a.
    Pozdrav i puno sreće u sastavljanju.

  41.   Koprotk dijo

    Trenutno koristim Funtoo, da budem iskren, ne vidim nikakvu razliku u performansama između sastavljanja programa ili instaliranja prethodno kompiliranog, radim to isključivo u obrazovne svrhe, ali ako postoje razlike između sastavljanja jezgre i nečinjenja, Da. Kad sam koristio debian i htio kompajlirati nešto, koristio sam sljedeću sekvencu:

    . / Konfiguracija
    Napravite -j3 (broj jezgri + 1)
    Stranac

    Koristio sam alíen jer stvara binarnu datoteku kompajliranog programa i tako je možete instalirati na svoj sustav kao bilo koju binarnu datoteku, pa ako želite deinstalirati, možete jednostavno koristiti synaptic ili drugi upravitelj paketa, to je prednost stvaranja paket i instaliranje paketa kao takvog, umjesto da radite "make install"

    1.    yukiteru dijo

      Vidim poboljšanje, barem kod velikih i teških paketa, na primjer Libreofficeu u Funtoou treba puno manje vremena za učitavanje nego u Debianu, isto mi se dogodilo s VLC-om ili s mpv i MKV FullHD i multi-audio datotekama, opterećenje je mnogo brže.

      Još jedan koji je također prošao kroz promjenu je Firefox, u Debianu posjedovanje 10 ili 15 kartica s mojim računalom postaje mučenje, ali s Funtoo-om uspio sam imati do 30 otvorenih i nastavlja kao da ništa, a potrošnja ovna je mnogo manja i manja Teži se zamrzavanju JS datoteka, mislim da to više ovisi o kontekstu kako se izvršavaju određeni zadaci i programi.

  42.   Marko Sarmiento dijo

    Problem je u tome što kad ga prekompajliramo, pretvaramo bilo koji linux distro u sirovu kopiju prozora

  43.   Fermin dijo

    Više nego u spektakularnom povećanju performansi, vidim prednost u mogućnosti sastavljanja paketa s komponentama koje netko želi: na primjer, ako nemate pisač, možete naznačiti da paketi s podrškom za CUPS nisu sastavljeni -paketi koje koriste CUPS, očito, ako kompilirate Hunspell sa ili bez CUPS-a, to neće biti važno - samo - barem u Gentoo-u - naznačeno u datoteci make.conf, gdje su sve mogućnosti za izgradnju paketa centralizirane - - šalice "; ako koristite KDE5 ili Plazmu 5, kako je sada nazivaju, možete navesti oznake "-kde", "-qt4", koje su bile valjane oznake za KDE 4, ali nepotrebne u KDE 5 i aplikacije prenesene na novu radnu površinu, "-gnome", "-Gtk", i tako dalje s bilo kojom komponentom za koju znate da vam nije potrebna. Ako iz nekog razloga treba određeni program, recimo GTK, tada u datoteci koja se naziva package.use možete naznačiti da koristi GTK, na primjer za Pidgin s istom oznakom, ali bez znaka minus, to jest, " gtk »:« Net-im / pidgin gtk ».
    Na taj način sustav postiže nekoliko stotina megabajta lakših, manjih i učinkovitijih binarnih datoteka, bez nepotrebnog koda. Prošao sam put od Ubuntua do Gentooa kroz Opensuse, Kubuntu, Debian, Arch, Chakra ili KaOS, a Gentoo je najbrži sustav koji sam imao, a i dalje imam isti Core 2 Duo koji sam imao prije 7 godina. Naravno, kompilacije ostavljam za noć, jer sastavljanje QT5, na primjer, traje nekoliko sati. Ako postavite parametar "finoće" za Portage u make.conf, možete instalirati pakete ili ažurirati dok nastavljate raditi sa strojem i teško primijetite puno usporavanje, iako se očito vrijeme kompilacije povećava; ali hajde, s stavljanjem na instalaciju ili ažuriranje kad odem na večeru, i ako je potrebno, ostavljajući da radi preko noći, moje staro računalo radi bolje od I3 moje djevojke s Kubuntuom.

    Sljedeći sve važniji aspekt je da je prilikom kompajliranja iz izvornih datoteka sigurnost da je paket koji instaliramo izvorni, da njime nisu manipulirale treće strane, gotovo potpuna. Mislim da Debian implementira sustav provjere gradnje koji će jamčiti nešto više od toga što pretkompilacija koju smo instalirali zapravo dolazi iz izvornog izvora, ali nikada neće biti toliko sigurnosti kad je taj paket kompiliran na našem računalu s našim postavljanjem.
    Po mom mišljenju, s modernim procesorom, a ne s čegrtaljkom poput moje, hehe, i, ako želimo ubrzati proces, s 8 GB RAM-a kako bismo mogli montirati / var / tmp - privremenu mapu za koju Portage koristi kompilacija - u RAM-u, koji će uvijek biti brži od tvrdog diska ili SSD-a, danas ne vidim puno smisla koristiti unaprijed prevedene pakete. Ako na mom Firefox računalu treba oko 40 minuta za sastavljanje, koliko vremena treba I5 ili I7 koji je trenutno na tržištu, 5 minuta, čak i manje? Govorim o izvornom firefoxu, a ne o firefox-bin-u, koji je predkompajlirani binarni paket koji se može instalirati na Gentoo ako imate vrlo spor stroj - postoji nekoliko velikih paketa koji su već pripremljeni iz ovog razloga, to je nije obavezno kompilirati sve -. Ne mogu govoriti jer mi djevojka ne dopušta da petljam po njezinu računalu, hehe, a moje ide tako dobro da ne osjećam potrebu za obnavljanjem, ali ako sam u pravu, mislim da vrijedi izgubiti nekoliko minuta sastavljanja kako bi se sustav izradio po mjeri. Prilagođeniji i prilagođeniji našem stroju, mislim da se ništa ne može postići a da se već nisu ulazile u te Linux metode od nule, Linux od nule, a mislim da je to već rezervirano za informatičare ili vrlo napredne poznavatelje Linuxa.

    Pozdrav.

  44.   Patka dijo

    Vrlo dobro!
    jedna stvar ne postoji «Amd Atom x2»
    ni existira je zaštitni znak intel
    pozdravi