Tässä pienessä oppaassa aion selittää (ja opettaa sinulle), miksi on parempi, että käännät ohjelman (esimerkiksi Firefox, Vlc jne.) Sen lähdekoodista kuin lataat sen (ohjelmistokeskuksesta, Yumex, Pacman jne.) Ja Asentaa.
Ensin menemme teorian kanssa:
Mikä on "koota"?
Kääntäminen on lähdekoodin (tietyllä ohjelmointikielellä kirjoitettu koodi, esimerkiksi C, C ++ jne.) Muuttaminen suoritettavaksi ohjelmaksi sen toimintaa varten prosessorin avulla koodin luomiseen käytetyn kielen muuntamiseksi binääriseksi ja assembleriksi . Sitä kutsutaan myös usein pakkaukseksi.
Miksi on parempi "koota"?
Ensin sinun on tiedettävä seuraava ymmärtämään miksi. Sanotaan "karkealla" tavalla (yksinkertainen, ei kovin ammattimainen jne.), Jokaisella prosessorin rodulla (Pentium, Core, Atom jne.) Ja sen lajeilla (Intel, AMD, ARM jne.) On ohjeet (ohjelmisto on kirjoitettu kokoonpanijaan, että käsittelee mallinsa (Core i7, Core i5, Atom x2, Phantom x8, Arm jne.) ja niillä on myös yleiset ohjeet, jotka kaikilla sellaisilla on.
Kun lataat ohjelman repositorioista Software Centerin kautta (esim. apt-get/Yumex/Yum/Pacman/etc), se asennetaan automaattisesti ja sen sanotaan olevan esikäännetty toimimaan kaikilla mahdollisilla prosessoreilla (Intel ja AMD). Koska kyseessä on esikäännetty ohjelma, se menettää kyseiselle prosessorimallille ominaiset ohjeet (kuvittele, että Firefoxin tai Chromen kaltaisen ohjelman, joissa on yli 7 tai 8 miljoonaa koodiriviä, pitäisi sisällyttää kaikki markkinoilla olevien prosessorien erityisohjeet; koodin määrä olisi niin suuri, että ohjelma ei enää olisi tehokas), säilyttäen vain luojansa yleiset ohjeet (Intel, AMD, ARM).
Kun lataat, purat ja käännät ohjelman lähdekoodin itse, se käännetään SINUN prosessorisi erityisohjeiden mukaisesti ( mikä ei tarkoita, etteikö se toimisi eri prosessorilla varustetulla koneella, ainoastaan että se optimoidaan erityisesti ja puhtaasti sinun prosessorillesi) , mikä vapauttaa kaiken tehon, jonka prosessori pystyy tarjoamaan erityisten ohjeidensa ansiosta.
Teknisemmissä yksityiskohdissa nämä erityisohjeet liittyvät läheisesti emolevyn piirisarjaan, mikä on suuri päänsärky niille meistä, joilla on Intel, kun haluamme päivittää prosessorin ja emolevyn.
Yllättyisit siitä tehosta, jonka vanhan tietokoneesi AMD Atom x2- tai Intel Core i3- , Core 2 Duo- tai muu prosessori pystyy tarjoamaan . Nyt ymmärrät, miksi kuuluisan ytimen (jokaisen käyttöjärjestelmän sydämen) kääntämisestä puhutaan niin paljon Linux-maailmassa? Kuvittele, että voisit kääntää kokonaisen järjestelmän erityisesti tietokoneellesi (graafinen ympäristö (GNOME, KDE jne.), ydin, yleisesti käytetyt ohjelmat (Firefox, VLC, Chrome, Wine jne.)) – ja saisit siitä minkälaisen nopeuden ja optimoinnin.
Tätä kääntöperiaatetta erityisesti koneellesi optimoidun koodin saamiseksi käyttävät distrot, kuten Gentoo ja johdannaiset (joista en aio puhua nyt, käytän Fedora minimia Gnome 3: n, ytimen ja muiden ohjelmien kokoamisessa), jossa järjestelmä , päivitykset ja ohjelmat kootaan aina.
Haittoja kokoamisesta:
Selitin jo kaikki edut, mutta kuten kaikessa maailmankaikkeudessa, sitä on myös yksi.
Kokoamistapauksessa ne ovat;
- Tähän tarvittava aika (Firefox i7 4790K: lla (ilman ylikellotusta, koska olen erittäin huono jännitteillä)) kestää 3 minuuttia, Gnome Shell (palkki ei mitään muuta) Gnome-Control-Centerin kanssa kesti noin 2 minuuttia, molemmat käännetään samalla koneella, jossa on vähemmän tehokas prosessori, tämä aika voi olla suhteettoman pitkä).
- Prosessori käyttää 100% tehostaan kaikkien ytimiensä kanssa maksimissaan, joten kulutus ja lämpö nousevat taivaalle (ota tämä huomioon, jos sinulla on ylikellotusta tai jos kyseessä on erityisesti kannettava tietokone), joten on kätevää, että valmistelet kaverin tai kahvia tilaisuutta varten.
- Ehkä puuttuu kirjasto (työkalu), joka käyttää ohjelmaa, jotta se ei tekisi virheitä kokoelmassa. Kaikissa distroissa on paketteja tai paketteja tämän välttämiseksi (ne ovat täynnä erilaisia kirjastoja ja muita asioita, joiden avulla ydin voi kommunikoida prosessorin kanssa prosessorin kanssa).
Kuinka voin koota?
Tässä puhun normaalin käytön ohjelman, ei ytimen, kokoamisesta.
aptitude install build-essential dh-make devscripts fakeroot debhelper debian-policy ccache dh-autoreconf autotools-dev build-dep ardor
Laitoin debian-policy, mutta jos distroosi ei ole Debian ja se antaa sinulle virheen, että tällaista pakettia ei ole, ohita se. Minun on selvitettävä, että en ole käyttänyt näitä järjestelmiä pitkään aikaan, joten jos paketti ei ole enää arkistoissa, älä aiheuta ongelmaa.
Fedora:
sudo yum -y asentaa ytimen otsikotytimen kehityssudo yum groupinstall "Kehitystyökalut"sudo yum groupinstall "Kehityskirjastot"
Täällä minun on pyydettävä anteeksi niitä, jotka käyttävät Archia (en tiedä distroa hyvin) ja OpenSusea, koska en tiedä näitä distroja tai vastaavia paketteja oikean kääntämisen suorittamiseksi (enkä ole vahvistanut verkossa olevaa, joten että näiden kahden kohdalla en tiedä toimivatko he).
Nyt kun sinulla on kaikki tarvittavat vaatimukset, sinun tarvitsee vain ladata käännettävän ohjelman lähdekoodi, riippuen laajennuksesta, jonka purat sen purkamalla päätelaitteen avulla (älä huoli, jätän komennot) ja kun menet kansioon (aina päätelaitteen kanssa), teet saman seurata:
Jos sinulla on mahdollisuus määrittää itsesi valitsemaan komponentit ja muut:
./configure
Sitten kirjoitat:
make
Ja lopuksi asentaa ohjelma linuxillesi:
make install
Komennot purettavaksi päätelaitteella (tiedosto puretaan kansiossa, jossa tiedosto sijaitsee):
.Tar-tiedostot (terva) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Pakkaus | tar cvf file.tar / file / * Pura | tar xvf file.tar Näytä sisältö | terva tvf file.tar
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .tar.gz - .tar.z - .tgz (terva gzip) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Pakkaa ja vetoketju | tar czvf archive.tar.gz / archive / Pura ja pura | tar xzvf file.tar.gz Näytä sisältö (ei purettu) | tar tzvf-tiedosto.tar.gz
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .gz (gzip) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Pakkaa | gzip -q-tiedosto (Tiedosto pakkaa ja nimeää sen uudelleen nimellä "file.gz") Pura | gzip -d file.gz (Tiedosto purkaa sen ja jättää sen tiedostoksi. Huomautus: gzip vain pakkaa tiedostot, ei hakemistoja
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .bz2 (bzip2) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Pakkaa | bzip2-tiedosto | bunzip2-tiedosto (tiedosto pakkaa ja nimeää sen uudelleen nimellä "file.bz2") Pura | bzip2 -d tiedosto.bz2 | bunzip2 file.bz2 (Tiedosto purkaa sen ja jättää sen tiedostoksi) Huomaa: bzip2 vain pakkaa tiedostot, ei hakemistoja
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .tar.bz2 (terva bzip2: lla) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Pakkaa | tar -c-tiedostot | bzip2> file.tar.bz2 Pura | bzip2 -dc-tiedosto.tar.bz2 | terva -xv | tar jvxf file.tar.bz2 (tervan uusimmat versiot) Näytä sisältö | bzip2 -dc-tiedosto.tar.bz2 | terva -tv
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .zip (vetoketju) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Pakkaa | zip file.zip / mayo / archives Pura | pura tiedosto.zip Näytä sisältö | pura -v tiedosto.zip
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .rar (rar) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Pakkaa | rar -a file.rar / may / archives Pura | rar -x file.rar Näytä sisältö | rar -v tiedosto.rar | rar -l tiedosto.rar
Ja siinä kaikki. Terveisiä Buenos Airesista, Argentiina. Hyvää joulua ja uutta vuotta! :).