Gentoo: Zakaj sem se odločil za sestavljanje lastnih programov?

No, glede na odličen sprejem mojega prejšnjega prispevka, vam želim povedati nekaj več o svoji najljubši distribuciji Gentoo Linux. Obljubim, da bo ta objava vsebovala zabavne informacije, s katerimi boste lažje razumeli mite, ki se porajajo pred strašnimi kompilacija programske opreme. Obljubim tudi, da bodo te informacije koristne za naslednji priročnik za namestitev Gentoo Linuxa v ~ 20 korakih (še jih nisem dobro preštela, vendar mislim, da so še manj). Brez nadaljnjega odlašanja začnimo:

Kaj je sestavljanje?

To je postopek, ki ga izvaja program (običajno imenovan prevajalnik) za pretvorbo kode, napisane v človeškem jeziku (datoteke C, C ++ itd.), V kodo, ki jo stroj lahko razume (binarna koda). Oglejmo si naslednji primer:

Lastni dizajn, Christopher Díaz Riveros

To je naš mali program C (če boste pozneje želeli še druge vaje za C, vam bom z veseljem tudi pokazal, kaj malega sem se naučil v tem času). Zdaj pa poglejmo, kako izgleda izhod po prevajanju.

Lastna zasnova, Chrirstopher Díaz Riveros

Lepo, kajne? Our To je tisto, kar naša naprava razume, da lahko na naš terminal napiše tisto majhno "Hello" vsakič, ko se program zažene.

Postopek gradnje:

Ker je nekoristno imeti program, ki na zaslon natisne preprosto "Hello", saj je datotek .c in .h v projektih veliko (kot v vseh programskih jezikih). Da bi postopek kompilacije nekoliko olajšali, so se pojavila nova orodja, najbolj reprezentativen od vseh je ukaz Znamka.

Make vzemite datoteko Makefile kot izhodišče in zbere tisto, kar je potrebno za izdelavo končne izvedljive datoteke, v nekaterih primerih ta korak zahteva izvajanje datoteke z imenom configure da lahko dodeli nekaj spremenljivk, potrebnih prevajalniku, da zbere (odpusti odvečnost) uporabno datoteko.

Zato bomo v številnih vajah našli naslednje korake:

Lastno. Christopher Diaz Riveros

Čarovnija ./configure:

Da bi vam pokazali eno najbolj skritih in zabavnih skrivnosti izvorne kode, bomo odprli izvorno kodo programa, ki ga vsi dobro poznamo, sudo. Najprej običajni koraki, vendar se bom ustavil pri . / Configure  da jim pokažem nekaj posebnega.

Lastno. Christopher Diaz Riveros

To bo vrnilo dolg seznam možnosti, med katerimi vam bom pokazal tisto, ki najbolj pritegne mojo pozornost.

Lastno. Christopher Diaz Riveros

--with-insults... kot že ime pove, sestavlja sudo z zlorabe 😀 je zabavna funkcija, ki vam omogoča, da uporabniku pošljete žalitev vsakič, ko se zmoti v geslu. Za kaj je namenjen? No, ne dolgo nazaj 😛, vendar je ena točka jasna. Obstaja na tisoče možnosti, ki v večini distribucij niso privzeto.

Takšni kot ste, obstaja veliko drugih, ki so morda dejavni pri distribuciji binarne kode in jih ne boste nikoli uporabili, ali pa jih bo nekaj, ki jih potrebujete, vendar ne bodo prišli z vašim uradnim distribuiranim binarnim kodom, kar pomeni, da bo vsaka posodobitev priročnik.

Začnite zabavo na Gentoo:

Že smo videli, koliko možnosti lahko z vnaprej sestavljenimi programi pogrešamo ali povlečemo. Zdaj pa se malo osredotočimo na vnaprej sestavljen problem.

Uspešnost:

Ste se kdaj vprašali, zakaj so novi stroji videti le nekoliko hitreje v primerjavi z ne tako modernimi? Če je procesor boljši, je več RAM-a, vse je boljše, zakaj ne bi šlo hitreje? Odgovor je preprost ... kompilacija.

Vzemimo zelo praktičen primer.

Moji programi so sestavljeni z možnostjo --march=broadwell... to je zato, ker je moj procesor broadwell (intel i7). Slaba stran tega? noben procesor pred broadwellom ne more prepoznati te binarne datoteke. Na tej točki bi to morali videti zelo jasno, če prevedem z a –Marec  vse zgoraj ne bo delovalo ... kako torej binarni paketi podpirajo toliko vrst strojne opreme? Preprosto sestavijo z najmanj možno možnostjo 🙂 to zagotavlja, da jo bodo lahko prebrale vse vrste strojne opreme (vsaj zaradi združljivosti).

Pravi problem ... če uporabljate programe, ki so zbrani za i3 ... Vsa moč vašega i7 (ali njegovih ustreznih analogij AMD) je zapravljena !! Ali ni to žalostno? 🙁

Prilagodljivost:

Ker so razvijalci Gentoo zelo pametni, je bil celoten postopek katrana, ./konfiguriranja, izdelave itd ... nadomeščen z močjo Portage. Vse te radovedne nastavitve so bile preimenovane v zastave USE, zato, če želite določeno nastavitev, vam ni treba vnašati izvorne kode, temveč nastavite spremenljivko. Tu je primer, kako to storiti s sudo v portageu. Najprej bomo videli, katere možnosti imamo v trenutni konfiguraciji poizvedba.

Lastno. Christopher Diaz Riveros

Kot vidimo, so rdeče možnosti aktivirane, modre ne, no ... legendo lahko prebere vsakdo 🙂

recimo, da želim dodati možnost ...

Lastno. Christopher Diaz Riveros

Tako enostavno kot dodajanje vrstice v datoteko z imenom sudo (ime je referenčno) znotraj /etc/portage/package.use/. S tem nam bo naslednjič, ko bomo namestili sudo, povedal, da se bo znova sestavil z aktivirano možnostjo.

Lastno. Christopher Diaz Riveros

Če damo, DA, vse kar morate storiti je, da počakate malo in voila 🙂 tako preprosto, kot je to.

Zadnje misli:

No, že smo videli, kako enostavno je uporabljati dodatne funkcije v Gentooju, ki nam omogočajo dodajanje, odstranjevanje ali spreminjanje možnosti v naših najljubših programih. Videli smo tudi, kako je delovanje naših programov zelo odvisno od spremenljivk, s katerimi ga sestavljamo. Če imate zelo nov stroj, je Gentoo vaša najboljša možnost. Če imate zelo star stroj, je tudi Gentoo vaša možnost (čeprav traja nekaj časa, da se prevede, bodo končni programi precej lažji).

V kratkem bom napisal svoj priročnik za namestitev Gentooja, tako za ljubitelje SystemD kot za pustolovce OpenRC (uporabljam systemd z GNOME). Mimogrede, še ena velika prednost Gentooja je sposobnost izberite vse v vašem sistemu in ko rečem, je vse VSE.

Če ste zamudili mojo prvo objavo, tukaj je povezava:

Gentoo Linux: Zgodba o potovanju

S spoštovanjem,


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.

  1.   Mart je dejal

    Briljantno! Čakal bom na vodnik za namestitev Gentoo z Gnomeom. Mogoče me spodbuja k selitvi na Gentoo, četudi imam še vedno nekoliko star računalnik (intel core i5 3. generacije). S spoštovanjem!

    1.    chrisadr je dejal

      Kmalu me je Mart ganó osvojil, da bi delil več stvari, zato sem napisal še eno objavo, ki čaka na objavo, vendar zelo kmalu 🙂 Obljubim

  2.   njord je dejal

    Mislim, da bom tukaj začel videti veliko objav o svoji najljubši distribuciji linuxa o!!
    V Gentooju sem od leta 2005, kjer sem ga uporabil za nastavitev poštnega strežnika na univerzi, kjer sem študiral (in kjer zdaj delam), in čeprav sem bil deležen občasnih napadov razprodaje, se na koncu vedno vrnem z mojim dragim Gertroodisom (najprej z Gnome2, nato Xfce in zdaj openbox), in kot ste že omenili v prejšnjem prispevku, z vse večjimi spretnostmi in znanjem za njegovo natančno nastavitev 😉
    Čakal bom na vaše naslednje prispevke, pozdrave in zahvale, ker ste mi polepšali dan = D!

    1.    chrisadr je dejal

      No, prihaja naslednji: 🙂 kot bi se zabaval pogovor o moji najljubši temi, kmalu bo prišel naslednji, naslednji in naslednji 😛 Lep pozdrav in najlepša hvala za komentar 🙂

  3.   Victor je dejal

    Že leta skačem med distrosi in razmišljam o tem, da bi sestavil svojo ... to vodilo bo korak, ki sem ga pogrešal ... medtem ko se bom zabaval s priročnikom. Hvala za vse……

    1.    chrisadr je dejal

      No, priročnik je raj informacij, preprosto je vsega 🙂 Prispevam lahko samo svoje majhno zrno peska 🙂, kmalu pa izide naslednji prispevek in kmalu (vidim, da je povsem pričakovano) ~ 20 korakov priročnik za namestitev. Na zdravje,

      1.    Victor je dejal

        Kakšen gospod, ki mi od začetka niste dali časa, ki govori o različnih mikroprocesorjih in vodnik je tu !!!!! Ta moj konec je zamočil PRVI! !!! Milijoni zahval !!!!

  4.   soimična je dejal

    Knoppix, Mandrake, Ubuntu in Debian ... In vedno mislim na Gentoo ...

    Čakam teh 20 korakov!

    1.    chrisadr je dejal

      Hahaha no, to je kot sanje kajne? 🙂 pravim, da je čas, da se to zgodi 😉 pozdrav

  5.   Cool kot led je dejal

    Pozdravljeni ChrisADR, najprej vam želim povedati, da od vašega prvega članka o Gentooju nisem dobro spal in je povezan s tem novim člankom, moje sanje temeljijo na pripravi Gentooja na mojem starem Netbook Aspire One. V sanjah mi sistem pove, da je moj netbook zelo star, zato ne prepozna strojne opreme.
    Po drugi strani pa, ko sem enkrat videl Gentoo in je pritegnil mojo pozornost, so omenili moč, ki jo ponuja računalniku (računalniku). Od tistega dne sem si rekel, da ga bom nekega dne namestil, minilo je več kot 10 let in tega še nisem storil, morda zato, ker so mi rekli, da ga je bilo zelo težko namestiti, takrat sem bil skoraj proti Linuxu zato so mi povečali pritožbo. Vendar se je radovednost nadaljevala. Enkrat sem brez uspeha poskušal namestiti BSD na svoj netbook in povedali so mi, da je Gentoo zelo podoben Linuxu BSD.
    Kaj mi priporočate, da namestim Gentoo na stari Aspire One s starim prevajalnikom Atom?

    in najlepša hvala za vaše članke, na katere še vedno čakam

    1.    ChrisADR je dejal

      No, priporočam vam ... STORITE! In končno, če na koncu ne bo uspelo (v kar zelo dvomim, ker je jedro narejeno tako, da podpira vse vrste strojne opreme), boste imeli izjemno bogate izkušnje v svetu Linuxa your sestavili boste svoje jedro, imeli boste namestili svoj datotečni sistem iz nič, naredili boste konfiguracije, ki jih v življenju počne le malo 🙂 dal vam bo nov pogled na svet hahaha Če ne vidite mojega profila Unix & StackExchange 🙂 moji odgovori pokrivajo širok spekter linuxa tam je zato, ker mi je poznavanje Gentoo omogočilo, da se naučim marsikaj o vsem Linuxu. Tu pustim povezavo do svojega profila

      https://unix.stackexchange.com/users/246185/christopher-d%C3%ADaz-riveros?tab=profile

      Ne bojte se in na koncu bo, če bo šlo vse v redu (zagotovo bo nekoliko stalo), to dosežek za vašo knjigo 😉 Lep pozdrav

  6.   Esteban je dejal

    Razmišljam tudi o selitvi v Gentoo, vendar dvomim. Najprej, kako posodobljeni so paketi za Arch? Po drugi strani ima moj prenosnik vgrajeno baterijo in vsi vemo, kaj neprekinjena prekomerna toplota naredi baterijam. In ker bi porabil veliko časa za sestavljanje ...

    1.    ChrisADR je dejal

      No, resnica vam ne bi mogla zagotovo povedati, katera je bolj sproščena različica 😛, kar vam lahko zagotovo povem, je, da ima Gentoo dve veji: "stabilno" in "nestabilno", čeprav mora "nestabilno" imeti večino paketov na robu tehnologije, imam veliko znanih razvijalcev, ki ga vsak dan uporabljajo brez zapletov. Mnogi od njih so namenjeni delu s projektnimi git-skladišči, zato ni nič bolj aktualnega. Personally Osebno uporabljam "stabilno" vejo, vendar je to še posebej posledica mojega dela v skupnosti kot varnostnega koordinatorja in kot člana testna skupina (Arch Tester). Če vam za to službo ne bi bilo treba imeti "stabilne" različice, bi bili zagotovo na robu tehnologije z "ne stabilno".
      Ne vem, ali odgovarja na vaše vprašanje, vendar vsaj upam, da pritegne vašo pozornost dovolj, da poskusite. 😛 Lep pozdrav

  7.   Brezplačni Kihot je dejal

    Resnica je, da me hočeš 😉
    Zelo me zanima, kaj ste navedli o C vajah, pa tudi Pythonu, in hvaležen bi bil, če bi imeli tam kakšen skrit dragulj za okorne stare starše.
    Za to, da sem vam dal nekaj palic in z vsem mojim spoštovanjem, ker se mi zdi, da je vsebina pomembnejša od celine, ampak kako nekoliko sem izbirčen glede jezika, bom komentiral malenkost.
    Na začetku rečete:
    "Prevajanje je postopek, ki ga prevajalnik izvede za uporabo kode, napisane v človeškem jeziku, in pretvorbo v kodo, ki jo stroj razume."
    Po mojem mnenju ni pravilno vključevati tistega, kar je opredeljeno v definiciji, saj za opredelitev prevajanja vključite izraz prevajalnik, zato bi bilo kaj takega bolj pravilno:
    Kompilacija je postopek, s katerim program dobi iz besedilne datoteke, napisane v jeziku (C, C ++), izvršljivo datoteko računalnika.

    1.    ChrisADR je dejal

      Vaš prispevek se mi zdi pravilen, prilagodim ga, da ga poskušam ohraniti v svojem bistvu in te podatke dodam 😉 hvala.

  8.   Dvojni D je dejal

    Uporabljam ubuntu 16.04, ali menite, da bi moral preklopiti na gentoo? Kakšne bi bile prednosti gentooja v primerjavi z ubuntujem?

    1.    ChrisADR je dejal

      No, res ne vem 😛 odvisno od tega, kaj boste počeli s svojo opremo ali strojno opremo, ki jo imate, ali če imate čas (in željo), da se naučite uporabljati Gentoo. Rekel bi vam, da če imate čas in želite, lahko NAPREJ! in videli boste, da se boste na poti veliko naučili 😉
      pozdrav

  9.   fernan je dejal

    Hi
    Če je resnica, da ima gentoo veliko za prebrati, na primer naredite emerge -pv paket in dobite uporabe v rdeči, modri in zeleni barvi ter možne ključavnice, ki zahtevajo spremembe uporab, razkrijete pakete, spremembe rež se zelo razlikujejo od kaj prikažejo drugi upravitelji paketov.
    Predvidevam, da bo treba gentoo posodabljati vsak dan, če ga pustite en mesec, bo treba ugotoviti, kako ga popraviti.
    Lep pozdrav.

    1.    ChrisADR je dejal

      Ja, hehe, sprva malo plime 🙂, sčasoma pa se spoznaš in celo pomisliš, zakaj v nobenem drugem upravitelju paketov nimaš toliko prilagodljivosti 🙂 glede časa poznam ljudi, ki imajo isti strežnik deluje leta brez posodabljanja in ostane popolnoma trden kot prvi dan, za tiste, ki že leta (ne mesece), pa je v wikiju na voljo poseben odsek, ki opisuje možne rešitve problema:

      https://wiki.gentoo.org/wiki/Upgrading_Gentoo/es#Actualizar_sistemas_antiguos

      Kar zadeva posodobitve, me je morda, če sem videl varnostne težave, vzel nov pogled, toda posodabljanje vsak dan je nekaj, kar je treba opraviti ne glede na distribucijo, običajno ne potrebuje več kot dva ukaza v vseh distribucijah in v gentoo poleg pridobivanja dobre navade se izogibajte tudi dolgim ​​čakanjem, ko se naberejo vsi paketi.
      pozdrav

  10.   fernan je dejal

    Hi
    V binarnih distribucijah uporabljam manjaro in preden sem uporabil ubuntu, ga je enostavno posodobiti, vsak dan preverim, ali obstajajo posodobitve, je prva stvar, ki jo pogledam, toda v manjaro mi posodobitev ni povzročila ustreznih težav, ponavadi povejte pacmanu, da da vsem in kvečjemu, da morate posodobiti podpise ali celo izbrisati datoteko. Toda iz tega, kar sem prebral v gentooju, je včasih težko razumeti, kaj pravi portage.
    Lep pozdrav.

    1.    ChrisADR je dejal

      Recite da vsemu fernanu ni nikoli dobro 🙂 če ste dosegli GNU / Linux, bi to morali poznati in razumeti. No, ničesar ni videti, preprosto je po meri, sčasoma se zaveš, da je rdeča tisto, kar imaš, modra tisto, česar nimaš, zelena, kar boš dodala, in to je to :). Nikoli mi ni treba spremeniti ničesar za posodobitev, če sem pravilno konfiguriral za zagon, občasno dodam ali odstranim zastavice USE, vendar je običajno, da po branju seznama dam Y, da vem, kaj se naredi 🙂
      PS: pacman -Syy je enako kot emerge -sync
      Pacman -Suy je enako kot emerge -uD @world (-av je le glasen in vas vprašati, preden nadaljujete, kar je nepotrebno, če poznate svojo ekipo in veste, kaj počnete, vendar sem rekel, da se izogne ​​težavam kasneje 😉) Ne spomnim se tako težko 🙂

      pozdrav

  11.   Mauricio Lopez je dejal

    Odlični vaši članki, tako prejšnji kot tudi ta. Dvomim in koliko hitrosti boste pridobili med Archom ali Manjarom in Gentoojem. Ne glede na prilagajanje in učenje samo po sebi je vredno namestiti.
    Drugo vprašanje, ki ga imam, je, kako ravnati z gonilniki, to mi je povzročilo težave v Archu.

    1.    ChrisADR je dejal

      Pozdravljeni Mauricio,
      No, nikoli nisem prenehal primerjati med obema, v resnici pa je to dvoumno vprašanje, odvisno od programske opreme, ki jo uporabljate, in opreme, ki jo imate, se to lahko razlikuje od malo ali nič do veliko. Vsaj danes mi oba sistema delujeta zelo dobro pri tem, kar ju moram uporabiti. (Imam glavni Gentoo in Arch, ki ga občasno uporabljam). Običajno ga uporabljam pri virtualizaciji in urejanju programov (običajno pa s terminalom, tako da v IDE ne porabi veliko pomnilnika. Chrome me podpira popolnoma mirno več kot 40 zavihkov (že večkrat sem poskusil, čeprav imam na splošno odprtih največ 5 za daljše obdobje.
      Če si nekega dne upate poskusiti, mi povejte, kako je šlo 🙂

      Kar zadeva gonilnike, ker jedro nadzorujete po želji, je običajno večino "pogostih" gonilnikov mogoče namestiti ali vsaj obvladiti. V primeru zelo specializirane strojne opreme (zlasti malo združljive z Linuxom na splošno) mislim, da gre za enako delo kot pri mnogih drugih distribucijskih sistemih, nimam veliko specializirane strojne opreme, zato je ne morem veliko komentirati 🙂

      Lep pozdrav in sreča

  12.   Jeanpier subero je dejal

    kakšna so tvoja družabna omrežja ChirsADR?