„Gentoo“: Kodėl nusprendžiau sudaryti savo programas?

Na, atsižvelgiant į puikų mano ankstesnio pranešimo priėmimą, aš atėjau jums šiek tiek daugiau papasakoti apie savo mėgstamą platinimą „Gentoo Linux“. Pažadu, kad šiame įraše bus linksma informacija, kuri padės šiek tiek suprasti apie mitus, kylančius priešais bauginančius kompiliacija programinės įrangos. Taip pat žadu, kad ši informacija bus naudinga kitam „Gentoo Linux“ diegimo vadovui ~ 20 žingsnių (aš jų dar gerai nesuskaičiavau, bet manau, kad jų dar mažiau). Pradėdami toliau:

Kas yra kompiliavimas?

Tai procesas, kurį atlieka programa (paprastai vadinama kompiliatoriumi), kad žmogaus kalba parašytą kodą (C, C ++ failus ir kt.) Paverstų mašina suprantamu kodu (dvejetainis kodas). Pažvelkime į šį pavyzdį:

Nuosavas dizainas, Christopher Díaz Riveros

Tai yra mūsų mažoji C programa (jei vėliau norėsite kitų C pamokų, aš taip pat mielai jums parodysiu, ką mažai išmokau per šį laiką). Dabar pažiūrėkime, kaip išvestis atrodo po kompiliavimo.

Nuosavas dizainas, Chrirstopher Díaz Riveros

Gražu, ar ne? 🙂 Tai, ką mūsų mašina supranta, kad kiekvieną kartą vykdant programą, mūsų terminale gali užrašyti tą mažą „Labas“.

Kūrimo procesas:

Kadangi nenaudinga turėti programos, kuri ekrane atspausdina paprastą „Hello“, nes projektuose yra daugybė .c ir .h failų (kaip ir visomis programavimo kalbomis). Norint šiek tiek palengvinti kompiliavimo procesą, atsirado naujų įrankių, labiausiai reprezentuojančių iš visų komandą padaryti.

Make paimk bylą Makefile kaip pradinį tašką ir apibendrina tai, ko reikia norint sukurti galutinį vykdomąjį failą, kai kuriais atvejais šiam žingsniui reikia vykdyti failą, vadinamą configure kad būtų galima priskirti keletą kintamųjų, reikalingų kompiliatoriui sukompiliuoti (atleisti atleidimą) dėl naudingo failo.

Štai kodėl daugelyje vadovėlių rasime šiuos veiksmus:

Savo. Christopheris Diazas Riverosas

./Configure magija:

Norėdami parodyti jums vieną iš labiausiai paslėptų ir linksmiausių šaltinio kodo paslapčių, eisime prie programos, kurią visi puikiai žinome, šaltinio kodo, : sudo. Pirmiausia įprasti žingsniai, bet aš sustosiu . / Configure  parodyti jiems ką nors ypatingo.

Savo. Christopheris Diazas Riverosas

Tai pateiks ilgą variantų sąrašą, tarp kurių aš jums parodysiu tą, kuris labiausiai atkreipia mano dėmesį.

Savo. Christopheris Diazas Riverosas

--with-insults... kaip rodo pavadinimas, sudaro sudo su piktnaudžiavimas 😀 yra įdomi funkcija, leidžianti išsiųsti įžeidimą vartotojui kiekvieną kartą, kai jis suklysta savo slaptažodyje. Kam tai? Na, ne taip seniai 😛, bet paaiškina vieną tašką. Yra tūkstančiai variantų, kurie daugumoje paskirstymų nėra numatyti.

Kaip jūs esate, yra daugybė kitų, kurie gali būti aktyvūs dvejetainių kodų paskirstymo srityje ir kurių jūs niekada nenaudosite, arba bus tokių, kurių jums reikia, tačiau jų nebus kartu su jūsų oficialiu paskirstytu dvejetainiu kompiuteriu, o tai reiškia, kad kiekvienas atnaujinimas bus rankinis.

Pradėkite smagiai „Gentoo“:

Mes jau matėme, kiek variantų galime praleisti arba vilkti naudodami iš anksto sukompiliuotas programas. Bet dabar atkreipkime dėmesį į iš anksto sukompiliuotą problemą.

Veiklos:

Ar kada susimąstėte, kodėl naujos mašinos atrodo tik šiek tiek greičiau, palyginti su ne tokiomis moderniomis? Jei procesorius yra geresnis, yra daugiau RAM, viskas yra geriau, kodėl gi ne eiti greičiau? Atsakymas paprastas ... kompiliacija.

Paimkime labai praktišką pavyzdį.

Mano programos sudaromos su galimybe --march=broadwell... taip yra todėl, kad mano procesorius yra plačiajuostis („Intel i7“). Minusas tai? joks procesorius iki „Broadwell“ nesugeba atpažinti šio dvejetainio. Šiuo metu turėtumėte tai pamatyti labai aiškiai, jei sukompiliuosiu su a -Kovas  konkrečiai, visi aukščiau išvardyti dalykai neveiks ... Taigi, kaip dvejetainiai paketai palaiko tiek daug aparatūros rūšių? Lengva, jie sukompiliuoja naudodami kuo mažesnę parinktį 🙂 tai garantuoja, kad visų tipų aparatinė įranga galės ją perskaityti (bent jau dėl suderinamumo).

Tikroji problema ... jei naudojate programas, sukompiliuotas „i3“ ... Švaistoma visa jūsų „i7“ galia (arba atitinkamos AMD analogijos) !! Argi ne liūdna? 🙁

Lankstumas:

Kadangi „Gentoo“ kūrėjai yra labai protingi, visas šis dervos, ./konfigūravimo, gamybos ir kt. Procesas buvo pakeistas „Portage“. Visos šios įdomios konfigūracijos buvo pavadintos „USE“ vėliavomis, taigi, jei norite konkrečios konfigūracijos, jums nereikia įvesti šaltinio kodo, tiesiog sukonfigūruokite kintamąjį. Štai pavyzdys, kaip tai padaryti naudojant „sudo“ portage. Pirmiausia pamatysime, kokias parinktis turime dabartinėje konfigūracijoje Equery.

Savo. Christopheris Diazas Riverosas

Kaip matome, raudonos parinktys yra įjungtos, mėlynos nėra, na ... visi gali skaityti legendą 🙂

tarkime, noriu pridėti parinktį ...

Savo. Christopheris Diazas Riverosas

Taip paprasta, kaip pridėti failo eilutę, vadinamą : sudo (vardas yra nuorodinis) /etc/portage/package.use/. Tai atlikus kitą kartą, kai įdiegsime „sudo“, jis pasakys, kad jis bus perkompiliuotas su įjungta parinktimi.

Savo. Christopheris Diazas Riverosas

Jei duosime, TAIP, viskas, ką jums reikia padaryti, tai šiek tiek palaukti ir balsuoti taip paprasta, kaip šis.

Paskutinės mintys:

Na, mes jau matėme, kaip lengva valdyti papildomą „Gentoo“ funkciją, kuri leidžia mums pridėti, pašalinti ar modifikuoti mėgstamiausių programų parinktis. Mes taip pat matėme, kaip mūsų programų našumas labai priklauso nuo kintamųjų, su kuriais jį sudarome. Jei turite labai naują mašiną, „Gentoo“ yra geriausias pasirinkimas. Jei turite labai seną mašiną, „Gentoo“ taip pat yra jūsų pasirinkimas (nors kompiliavimas trunka šiek tiek laiko, galutinės programos bus daug lengvesnės).

Netrukus parašysiu savo „Gentoo“ diegimo vadovą, skirtą tiek „SystemD“ mėgėjams, tiek „OpenRC“ nuotykių ieškotojams (aš naudoju „systemd“ su GNOME). Beje, dar vienas didelis „Gentoo“ privalumas yra galimybė pasirinkti viskas jūsų sistemoje ir kai aš sakau, kad viskas yra VISI.

Jei praleidote mano pirmąjį įrašą, čia yra nuoroda:

„Gentoo Linux“: Kelionės istorija

Pagarbiai,


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.

  1.   Mart sakė

    Puiku! Lauksiu „Gentoo with Gnome“ diegimo vadovo. Gal mane skatina pereiti į „Gentoo“, net jei vis dar turiu šiek tiek seną asmeninį kompiuterį („Intel core i5 3rd gen“). Cheers!

    1.    chrisadr sakė

      Netrukus Mart ganó laimėjo mane pasidalinti daugiau dalykų, todėl parašiau dar vieną įrašą, kuris laukia paskelbimo, bet labai greitai 🙂 Pažadu

  2.   njordas sakė

    Manau, kad čia pradėsiu matyti daug įrašų apie savo mėgstamą „Linux“ platinimą o!!
    Nuo 2005 m. Esu „Gentoo“, kur naudodamasis įsteigiau pašto serverį universitete, kuriame studijavau (ir kur dabar dirbu), ir, nors ir patyriau atsitiktinius atitolinimo išpuolius, visuomet grįžtu pas savo brangųjį Gertroodį ( pirmiausia naudodamiesi „Gnome2“, tada „Xfce“ ir dabar „openbox“), o kai komentuosite savo ankstesniame įraše, gausite įgūdžių ir žinių, kad jį patobulintumėte 😉
    Lauksiu jūsų kitų atsiliepimų, sveikinimų ir padėkų už tai, kad praleidote dieną = D!

    1.    chrisadr sakė

      Na, pasirodo kitas 🙂 tai tarsi linksmas pokalbis mano mėgstama tema, netrukus ateis kita, kita ir kita 😛 Sveikinimai ir labai ačiū už jūsų komentarą 🙂

  3.   Nugalėtojas sakė

    Daugelį metų šokinėjau tarp rajonų ir galvojau sukompiliuoti savo…. tas vadovas bus žingsnis, kurio man trūko ... kol aš linksminsiuosi su vadovu. Ačiū už viską……

    1.    chrisadr sakė

      Na, vadovas yra informacijos rojus, yra tiesiog visko 🙂 Aš galiu prisidėti tik su savo mažu smėlio grūdeliu 🙂 bet labai greitai pasirodys kitas įrašas, ir netrukus pasirodys vienas (aš jau matau, kad jis yra labai tikimasi) ~ 20 žingsnių diegimo vadovas. Cheers,

      1.    Nugalėtojas sakė

        Koks džentelmenas, jūs nedavėte man laiko praleisti nuo pat pradžių, kuriame kalbama apie skirtingus mikroprocesorius ir vadovą !!!!! Ši mano pabaiga sujaukta PIRMAI! !!! Milijonai ačiū !!!!

  4.   soymmic sakė

    Knoppix, Mandrake, Ubuntu ir Debian ... Ir visada galvoju apie „Gentoo“ ...

    Laukia tų 20 žingsnių!

    1.    chrisadr sakė

      Hahaha, tai tarsi sapnas, ar ne? 🙂 Sakau, kad laikas tai įgyvendinti 😉 sveikinimai

  5.   Cool kaip ledas sakė

    Sveiki, ChrisADR, pirmiausia noriu jums pasakyti, kad nemiegojau gerai nuo jūsų pirmojo straipsnio apie „Gentoo“ ir jis yra susijęs su šiuo nauju straipsniu, mano svajonės yra pagrįstos „Gentoo“ sukūrimu mano senajame „Aspire One Netbook“. Mano sapne sistema man sako, kad mano netbook yra labai senas, todėl jis neatpažįsta aparatūros.
    Kita vertus, kai pamačiau „Gentoo“ ir jis patraukė mano dėmesį, jie paminėjo jo teikiamą galią kompiuteriui (kompiuteriui). Kadangi tą dieną sakiau sau, kad vieną dieną ją įdiegsiu, praėjo daugiau nei 10 metų ir aš to nepadariau, galbūt todėl, kad jie man pasakė, kad jį įdiegti buvo labai sunku, tuo metu aš buvau beveik antiluxinis, todėl jie padidino mano nuoskaudą dėl jo. Tačiau smalsumas tęsėsi. Vieną kartą nesėkmingai bandžiau įdiegti BSD savo netbook'e ir man pasakė, kad „Gentoo“ yra „Linux“, labai panaši į BSD.
    Ką man rekomenduojate įdiegti „Gentoo“ mano sename „Aspire One“ su senu „Atom“ kompiliatoriumi?

    ir labai ačiū už jūsų straipsnius, aš vis laukiu daugiau

    1.    ChrisADR sakė

      Na, aš jums rekomenduoju ... DARYKITE! Ir galiausiai, jei galų gale tai nepavyks (dėl ko labai abejoju, nes branduolys sukurtas palaikyti visų rūšių aparatinę įrangą), turėsite nepaprastai praturtinančią patirtį „Linux“ pasaulyje: sukompiliuosite savo branduolį, turėsite prijungėte failų sistemą nuo nulio, turėsite sukonfigūracijas, kurias nedaugelis daro savo gyvenime, tai suteiks jums naują pasaulio perspektyvą hahaha Jei nematote mano „Unix & StackExchange“ profilio todėl, kad žinodamas „Gentoo“ leidau sužinoti daug dalykų apie visus „Linux“ 😉 Čia palieku savo profilio nuorodą

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

      Nebijokite ir galų gale, jei viskas bus gerai (tai tikrai kainuos nedaug), tai bus jūsų knygos pasiekimas 😉 Sveikinimai

  6.   Esteban sakė

    Taip pat galvoju migruoti į „Gentoo“, tačiau man kyla tam tikrų abejonių. Visų pirma, kiek atnaujinti paketai yra „Arch“ atžvilgiu? Kita vertus, mano nešiojamame kompiuteryje yra įmontuota baterija, ir mes visi žinome, ką nuolatinė per didelė šiluma daro baterijoms. Kadangi daug laiko praleisčiau rengdamas ...

    1.    ChrisADR sakė

      Na, tiesa negalėjo tiksliai pasakyti, kuris iš jų yra „Rolling Release“ 😛, ką galiu pasakyti užtikrintai, yra tai, kad „Gentoo“ turi dvi šakas: „stabili“ ir „nestabili“, nors „nestabili“ turėjo turėti daugumą pakuočių, susijusių su technologijomis, turiu daug žinomų kūrėjų, kurie ją kasdien naudoja be komplikacijų. Daugelis jų yra skirti dirbti su projekto „Git“ saugyklomis, todėl nėra nieko daugiau dabartinio 🙂 Aš asmeniškai naudoju „stabilų“ skyrių, bet tai ypač dėl mano darbo bendruomenėje, kaip saugumo koordinatorė ir kaip tinklo narė. bandymų komanda (Arch Tester). Jei jums nereikėtų turėti „stabilios“ versijos šiam darbui, tikrai būtumėte pažengęs į technikos ribas su „nestabilu“.
      Nežinau, ar tai atsakys į jūsų klausimą, bet bent jau tikiuosi, kad jis pakankamai atkreips jūsų dėmesį, kad jį išbandytumėte 😛 Pagarbiai

  7.   Nemokamas Kichotas sakė

    Tiesa ta, kad tu priversti mane norėti 😉
    Man labai įdomu, ką jūs nurodėte apie „C“ vadovėlius, taip pat apie „Python“ ir būčiau dėkingas, jei turėtumėte paslėptų brangenybių nerangiems seneliams.
    Už tai, kad uždėjau jums keletą lazdų ir nuoširdžiai gerbiu, nes manau, kad turinys yra svarbesnis už žemyną, bet kaip aš šiek tiek nerimauju su kalba, pasakysiu jums šiek tiek.
    Pradžioje sakote:
    "Kompiliavimas yra procesas, kurį kompiliatorius atlieka naudodamas žmogaus kalba parašytą kodą ir konvertuodamas jį į mašinai suprantamą kodą".
    Mano nuomone, neteisinga įtraukti tai, kas apibrėžta apibrėžtyje, nes norint apibrėžti kompiliaciją įtraukiate terminą kompiliatorius, taigi kažkas panašaus būtų buvę teisingiau:
    Kompiliavimas yra procesas, kurio metu programa iš kalba (C, C ++) parašyto teksto failo gauna kompiuterio vykdomą failą.

    1.    ChrisADR sakė

      Jūsų indėlis man atrodo teisingas, aš jį sutinku bandydamas išlaikyti savo esmę ir pridėti tą informaciją add ačiū.

  8.   Dvigubas D sakė

    Aš naudoju „ubuntu 16.04“, ar manote, kad turėčiau pereiti prie „gentoo“? Kokie būtų „gentoo“ ir „ubuntu“ pranašumai?

    1.    ChrisADR sakė

      Na, aš tikrai nežinau, 😛 tai priklauso nuo to, ką ketinate daryti su savo įranga ar aparatine įranga, ar turite laiko (ir noro) išmokti naudotis „Gentoo“. Aš jums pasakyčiau, kad jei turite laiko ir norite, galite PASIEKTI! ir pamatysite, kad daug ko sužinosite kelyje 😉
      saludos

  9.   fernanas sakė

    Labas
    Jei tiesa yra ta, kad „gentoo“ turi daug ką perskaityti, pavyzdžiui, jūs sukuriate „emerge -pv“ paketą ir gaunate naudojimą raudonai, mėlynai ir žaliai, taip pat galimus užraktus, kuriems reikia pakeisti naudojimą, demaskuoti paketus, lizdo pakeitimai labai skiriasi nuo rodomi kitų paketų valdytojų.
    Manau, kad gentoo reikės atnaujinti kiekvieną dieną, jei paliksite jį 1 mėnesiui, reikės išsiaiškinti, kaip jį išspręsti.
    Sveikinimai.

    1.    ChrisADR sakė

      Taip, hehe, iš pradžių šiek tiek atoslūgis 🙂 bet laikui bėgant jūs susipažįstate ir netgi prieinate prie minties, kodėl nė viename kitame paketų tvarkytuve neturite tiek lankstumo 🙂 laiko atžvilgiu, aš žinau žmonių, kurie turi tą patį serveris veikia daugelį metų be atnaujinimo ir išlieka visiškai tvirtas kaip pirmą dieną, o tiems, kurie ten buvo metus (ne mėnesius), yra specialus wiki skyrius, kuriame aprašomi galimi problemos sprendimai:

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

      Kalbant apie naujinimus, galbūt tiesiogiai matydamas saugos problemas privertiau pažvelgti į naują perspektyvą, tačiau atnaujinimas kiekvieną dieną yra tai, ką reikia atlikti neatsižvelgiant į platinimą, visuose paskirstymuose paprastai nereikia daugiau nei dviejų komandų , be gentoo sukurkite gerą įprotį, venkite ilgai laukti, kai visos pakuotės bus sukauptos.
      saludos

  10.   fernanas sakė

    Labas
    Dvejetainiuose skyreliuose aš naudoju manjaro ir prieš naudodamas „ubuntu“, jį lengva atnaujinti, aš kiekvieną dieną tikrinu, ar yra naujinimų, tai yra pirmas dalykas, į kurį žiūriu, bet manjaro atnaujinimas man nesukėlė svarbių problemų, aš paprastai sakau pacmanui, kad taip prie visko ir daugiausia turi atnaujinti parašus ar net ištrinti failą. Tačiau iš to, ką perskaičiau gentoo, kartais sunku suprasti, ką sako portalas.
    Sveikinimai.

    1.    ChrisADR sakė

      Sakykite „taip“, kad viskas niekada nėra gera. F🙂, jei pasiekėte GNU / Linux, turėtumėte tai žinoti ir suprasti. Na, nieko nematyti, paprasčiausiai yra įprasta, laikui bėgant supranti, kad raudona yra tai, ką turi, mėlyna, ko neturi, žalia, ką pridėsi, ir viskas :). Niekada neturiu nieko keisti, kad atnaujintumėte, jei tinkamai sukonfigūravau paleidimą, kartais pridedu arba pašalinu „USE“ vėliavas, tačiau įprasta, kad perskaičius sąrašą suteikiu Y taip, kad sužinotumėte, kas daroma
      PS: pacman -Syy yra tas pats, kas atsirasti -sync
      „Pacman -Suy“ yra tas pats, kas „emerge -uD @world“ („-av“ turi būti tik žodinis, ir jis klausia jūsų prieš tęsiant, o tai nėra būtina, jei žinote savo komandą ir žinote, ką darote, bet aš to dedu, kad išvengčiau problemos vėliau 😉) Nematau, kad taip sunku atsiminti 🙂

      saludos

  11.   Mauricio Lopezas sakė

    Puikūs jūsų straipsniai, tiek ankstesnis, tiek šis. Aš abejoju, ir tai, kiek jūs įveikiate greitį tarp Arch ar Manjaro ir Gentoo. Nepaisant pritaikymo ir mokymosi per se, verta jį įdiegti.
    Kitas mano klausimas yra, kaip elgtis su vairuotojais. Tai man sukėlė problemų „Arch“.

    1.    ChrisADR sakė

      Sveiki, Mauricio,
      Na, aš niekada nenustojau lygintis tarp jų ir iš tikrųjų tai yra labai dviprasmiškas klausimas, atsižvelgiant į jūsų naudojamą programinę įrangą ir jūsų turimą įrangą. Tai gali skirtis nuo nedaug ar visai iki daug. Bent jau šiandien abi sistemos man veikia gana gerai, ką turiu jomis naudoti. (Aš turiu pagrindinį „Gentoo“ ir „Arch“, kurį kartkartėmis naudoju) Paprastai aš jį naudoju virtualizuodamas ir redaguodamas programas (bet dažniausiai naudodamas terminalą, todėl IDE nenaudoja daug atminties. „Chrome“ palaiko mane visiškai ramiai daugiau nei 40 skirtukų (aš kartas nuo karto bandžiau, nors paprastai ilgą laiką turiu tik daugiausiai 5 atvirukus.
      Jei vieną dieną išdrįsi išbandyti, pasakyk, kaip sekėsi 🙂

      Kalbant apie tvarkykles, kadangi jūs valdote branduolį savo nuožiūra, paprastai dauguma „įprastų“ tvarkyklių yra įdiegiamos arba bent jau valdomos. Aš manau, kad labai specializuotos aparatūros atveju (ypač mažai derančios su „Linux“) tai tas pats darbas, kaip ir daugelyje kitų rajonų, neturiu daug specializuotos techninės įrangos, todėl negaliu jos daug komentuoti 🙂

      Sveikinimai ir sėkmė

  12.   Jeanpier subero sakė

    kokie yra jūsų socialiniai tinklai „ChirsADR“?