Gentoo: Neden kendi programlarımı derlemeyi seçtim?

Önceki yazımdan aldığım harika tepkilerden dolayı, size en sevdiğim dağıtım Gentoo Linux hakkında biraz daha bilgi vermeye geldim. Söz veriyorum bu yazıda, korkutucuların önünde ortaya çıkan mitleri biraz anlamanıza yardımcı olacak eğlenceli bilgiler olacak. derleme Yazılımın Ayrıca, bu bilginin bir sonraki Gentoo Linux kurulum kılavuzu için ~ 20 adımda faydalı olacağına söz veriyorum (Henüz onları iyi saymadım, ama daha da az olduklarını düşünüyorum). Daha fazla uzatmadan başlayalım:

Derleme nedir?

Bir programın (genellikle derleyici olarak adlandırılır) insan dilinde yazılmış kodu (C, C ++ dosyaları, vb.) Bir makine tarafından anlaşılabilecek koda (ikili kod) dönüştürmek için gerçekleştirdiği işlemdir. Aşağıdaki örneğe bakalım:

Kendi tasarımı, Christopher Díaz Riveros

Bu bizim küçük C programımız (daha sonra başka C dersleri almak isterseniz, bu sefer ne öğrendiğimi size göstermekten de mutlu olacağım). Şimdi derledikten sonra çıktının neye benzediğini görelim.

Kendi tasarımı, Chrirstopher Díaz Riveros

Güzel değil mi? 🙂 Makinemiz, program her çalıştırıldığında terminalimizde o küçük "Merhaba" yazabilmekten anlıyor.

İnşa süreci:

Projelerde bol miktarda .c ve .h dosyaları olarak ekrana basit bir "Merhaba" yazan bir programa sahip olmanın faydası yoktur (tüm programlama dillerinde olduğu gibi). Derleme sürecini biraz daha kolaylaştırmak için yeni araçlar ortaya çıktı, hepsinin en temsilcisi komuttur yapmak.

Make bir dosya al Makefile bir başlangıç ​​noktası olarak ve son yürütülebilir dosyayı oluşturmak için gerekli olanı derler, bazı durumlarda bu adım, adında bir dosyanın yürütülmesini gerektirir. configure derleyicinin yararlı bir dosyayı derlemesi (fazlalığı affetmesi) için gerekli birkaç değişkeni atayabilme.

Bu nedenle birçok öğreticide aşağıdaki adımları bulacağız:

Kendi. Christopher Diaz Riveros

./Configure'ın büyüsü:

Size kaynak kodun en gizli ve eğlenceli sırlarından birini göstermek için hepimizin mükemmel bildiği bir programın kaynak koduna gideceğiz, sudo. Önce olağan adımlar, ama duracağım . / Yapılandırma  onlara özel bir şey göstermek için.

Kendi. Christopher Diaz Riveros

Bu, size en çok dikkatimi çeken seçeneği göstereceğim uzun bir seçenek listesi döndürecektir.

Kendi. Christopher Diaz Riveros

--with-insults... adından da anlaşılacağı gibi, sudo'yu taciz 😀, kullanıcıya şifresinde her hata yaptığında hakaret göndermenizi sağlayan eğlenceli bir özelliktir. Bu ne için? Pekala, uzun zaman önce değil 😛 ama bir noktayı açıklığa kavuşturuyor. Çoğu dağıtımda varsayılan olarak gelmeyen binlerce seçenek vardır.

Olduğunuz gibi, ikili kod dağıtımlarında aktif olabilecek ve asla kullanmayacağınız birçok başkaları var ya da bazılarına ihtiyacınız olacak, ancak bunlar resmi dağıtılmış ikili programınızla birlikte gelmeyecekler, bu da her güncellemenin Manuel.

Gentoo'da eğlenceye başlayın:

Önceden derlenmiş programlarla kaç seçeneğimizi kaçırabileceğimizi veya sürükleyebileceğimizi zaten görmüştük. Şimdi biraz önceden derlenmiş probleme odaklanalım.

performans:

Yeni makinelerin modern olmayan makinelere kıyasla neden sadece biraz daha hızlı göründüğünü hiç merak ettiniz mi? İşlemci daha iyiyse, daha fazla RAM var, her şey daha iyi, neden daha hızlı gitmiyorsun? Cevap basit ... derleme.

Çok pratik bir örnek alalım.

Programlarım seçeneği ile derlendi --march=broadwell... bunun nedeni işlemcimin broadwell (intel i7) olmasıdır. Bunun dezavantajı? Broadwell'den önceki hiçbir işlemci bu ikiliyi tanıyamaz. Bu noktada, bunu çok net görmelisiniz, eğer bir -Mart  spesifik olarak, yukarıdakilerin hepsi çalışmaz ... peki ikili paketler bu kadar çok donanım türünü nasıl destekler? Kolay, mümkün olan en az seçenekle derlenirler - bu, tüm donanım türlerinin onu okuyabileceğini garanti eder (en azından uyumluluk için).

Asıl sorun ... i3 için derlenen programları kullanırsanız ... i7'nizin (veya ilgili AMD benzetmelerinin) tüm gücü boşa harcanır !! Bu üzücü değil mi? 🙁

esneklik:

Gentoo geliştiricileri çok akıllı olduklarından, tüm bu tar, ./configure, make, vb. Süreci, Portage. Tüm bu meraklı ayarlar USE flag olarak yeniden adlandırıldı, bu nedenle belirli bir ayar istiyorsanız, kaynak kodunu girmenize gerek yok, sadece değişkeni ayarlayın. Portage'de sudo ile nasıl yapılacağına dair bir örnek. Öncelikle mevcut konfigürasyonumuzda hangi seçeneklere sahip olduğumuzu göreceğiz. eşitlik.

Kendi. Christopher Diaz Riveros

Gördüğümüz gibi kırmızı seçenekler aktif, mavi olanlar değil, pekala ... herkes efsaneyi okuyabilir 🙂

diyelim ki bir seçenek eklemek istiyorum ...

Kendi. Christopher Diaz Riveros

Adlı bir dosyaya satır eklemek kadar basit sudo (ad referans niteliğindedir) içinde /etc/portage/package.use/. Bununla, sudo'yu bir dahaki sefere kurduğumuzda, bize etkinleştirilmiş seçenekle yeniden derleneceğini söyleyecektir.

Kendi. Christopher Diaz Riveros

Eğer verirsek EVETTek yapmanız gereken biraz beklemek ve işte bu kadar basit.

Son düşünceler:

Gentoo'da, favori programlarımızdaki seçenekleri eklememize, kaldırmamıza veya değiştirmemize izin veren ekstra işlevselliği kullanmanın ne kadar kolay olduğunu zaten görmüştük. Ayrıca programlarımızın performansının, onu derlediğimiz değişkenlere nasıl bağlı olduğunu da gördük. Çok yeni bir makineniz varsa, Gentoo sizin en iyi seçeneğinizdir. Çok eski bir makineniz varsa, Gentoo da sizin seçeneğinizdir (derlenmesi biraz zaman alsa da, son programlar çok daha hafif olacaktır).

Gentoo kurulum kılavuzumu hem SystemD severler hem de OpenRC maceracıları için kısa bir süre içinde yazacağım (GNOME ile systemd kullanıyorum). Bu arada, Gentoo'nun bir diğer büyük avantajı da seçmek sisteminizin içindeki her şey ve ben her şeyi söylediğimde YAPILACAKLAR.

İlk gönderimi kaçırdıysanız, bağlantı burada:

Gentoo Linux: Bir Yolculuğun Hikayesi

Saygılarımızla,


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.

  1.   Mart dijo

    Harika! Gentoo with Gnome kurulum rehberini bekliyor olacağım. Belki biraz eski bir bilgisayarım (intel core i5 3rd gen.) Olsa bile Gentoo'ya geçmem için teşvik edildim. Şerefe!

    1.    Chrisadr dijo

      Yakında, Mart ganó daha fazla şey paylaşmam için beni kazandı, bu yüzden yayınlanmayı bekleyen başka bir gönderi yazdım ama çok yakında 🙂 Söz veriyorum

  2.   Niyord dijo

    Sanırım burada en sevdiğim linux dağıtımım hakkında birçok gönderi görmeye başlayacağım o!!
    2005'ten beri, okuduğum (ve şu anda çalıştığım yerde) üniversitede bir Posta Sunucusu kurmak için kullandığım Gentoo'dayım ve ara sıra rahatsız edici saldırılara maruz kalmama rağmen, her zaman sevgili Gertroodis'imle geri dönüyorum (önce Gnome2, sonra Xfce ve şimdi de openbox) ve önceki yayınınızda yorum yaparken, ince ayar yapmak için artan beceri ve bilgi birikimiyle 😉
    Bir sonraki katkılarınızı, selamlarınızı ve günümü = D yaptığınız için teşekkürlerinizi bekliyor olacağım!

    1.    Chrisadr dijo

      Bir sonraki konu çıkıyor out en sevdiğim konu hakkında eğlenceli bir sohbet yapmak gibi, bir sonraki konu yakında gelecek ve bir sonraki 😛 Selamlar ve yorumunuz için çok teşekkür ederim 🙂

  3.   galip dijo

    Yıllardır dağıtımlar arasında gidip geliyorum ve benimkini derlemeyi düşünüyordum…. bu rehber benim kaçırdığım adım olacak…. el kitabıyla kendimi eğlendireceğim. Her şey için teşekkürler……

    1.    Chrisadr dijo

      Eh, el kitabı bir bilgi cenneti, basitçe her şey var 🙂 Sadece küçük kum tanemle katkıda bulunabilirim 🙂 ama çok yakında bir sonraki gönderi çıkacak ve yakında bir tane çıkacak (şimdiden bunun oldukça beklendiğini görüyorum) ~ 20 adım kurulum kılavuzu. Şerefe,

      1.    galip dijo

        Ne kadar beyefendi bana başından beri farklı mikroişlemcilerden bahseden ve rehber burada !!!!! Bu sonum İLK için berbattı! !!! Milyonlarca teşekkürler !!!!

  4.   soya mikroplu dijo

    Knoppix, Mandrake, Ubuntu ve Debian ... Ve her zaman Gentoo'yu düşünmek ...

    O 20 adımı bekliyorum!

    1.    Chrisadr dijo

      Hahaha iyi, rüya gibi değil mi? 🙂 Bunu gerçekleştirme zamanı diyorum 😉 selamlar

  5.   Buz gibi serin dijo

    Merhaba ChrisADR, öncelikle Gentoo hakkındaki ilk makalenizden bu yana iyi uyumadığımı ve bu yeni makaleyle ilgili olduğunu söylemek istiyorum, hayallerim eski Aspire One Netbook'umda bir Gentoo derlemeye dayanıyor. Rüyamda sistem bana netbook'umun çok eski olduğunu söylüyor, bu yüzden donanımı tanımıyor.
    Öte yandan, bir Gentoo gördüğümde ve dikkatimi çektiğinde, bilgisayara (bilgisayara) sunduğu güçten bahsettiler. O günden beri kendime bir gün kuracağımı söyledim, 10 yıldan fazla bir süre geçti ve yapmadım, belki de kurmanın çok zor olduğunu söylediler, o zamanlar neredeyse linux karşıtıydım böylece şikayetimi artırdılar. Ancak merak devam etti. Bir keresinde netbook'uma bir BSD kurmayı denedim ve Gentoo'nun BSD'ye çok benzeyen bir linux olduğu söylendi.
    Gentoo'yu eski Atom derleyicili eski Aspire One'a yüklemem için bana ne önerirsiniz?

    ve yazılarınız için çok teşekkür ederim daha fazlasını bekliyorum

    1.    ChrisADR dijo

      Pekala, size tavsiye ederim… YAPIN! ve son olarak, eğer sonunda başarısız olursa (ki çok şüpheliyim çünkü çekirdek her türlü donanımı desteklemek için yapılmıştır) Linux dünyasında son derece zenginleştirici bir deneyim yaşamış olacaksınız 🙂 çekirdeğinizi derlemiş olacaksınız, dosya sisteminizi sıfırdan bağlamış olacaksınız, çok az kişinin hayatında yapacağı yapılandırmalar yapmış olacaksınız you bu size dünyaya yeni bir bakış açısı verecek hahaha Eğer Unix & StackExchange profilimi göremiyorsanız answers cevaplarım geniş linux yelpazesini kapsıyor çünkü Gentoo'yu bilmek tüm Linux hakkında pek çok şey öğrenmeme izin verdi 😉 Sana profilimin bağlantısını burada bırakıyorum

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

      Korkmayın ve sonunda, her şey yolunda giderse (kesinlikle biraz pahalıya mal olur) kitabınız için bir başarı olacak 😉 Selamlar

  6.   Esteban dijo

    Ben de Gentoo'ya geçmeyi düşünüyorum ama bazı şüphelerim var. Öncelikle, Arch'a gelen paketler ne kadar güncel? Öte yandan, dizüstü bilgisayarımda yerleşik bir pil var ve hepimiz sürekli aşırı ısının pillere ne yaptığını biliyoruz. Ve derlemeye çok zaman harcayacağım için ...

    1.    ChrisADR dijo

      Gerçek şu ki, hangisinin daha fazla Rolling Release olduğunu kesin olarak söyleyemezdi 😛 Size kesin olarak söyleyebileceğim şey, Gentoo'nun iki dalı olduğu: "kararlı" ve "kararlı değil", ancak "kararlı değil" çoğunluğa sahip olmalı teknolojinin sınırındaki paket sayısı, onu her gün komplikasyonsuz kullanan birçok tanınmış geliştiricim var. Bunların birçoğu projenin git depolarıyla çalışmak üzere yapıldı, bu yüzden daha güncel hiçbir şey yok 🙂 Şahsen "kararlı" şubeyi kullanıyorum, ancak bunun nedeni özellikle topluluk içinde bir güvenlik koordinatörü olarak çalışmam ve test ekibinin bir üyesi olarak (Arch Tester). Bu iş için "kararlı" bir sürüme sahip olmanız gerekmeseydi, kesinlikle "kararlı değil" ile teknolojinin sınırında olurdunuz.
      Sorunuzu yanıtlıyor mu bilmiyorum ama en azından denemek için yeterince dikkatinizi çekeceğini umuyorum 😛 Saygılarımızla

  7.   Ücretsiz Kişot dijo

    Gerçek şu ki beni istemeye zorluyorsun 😉
    Python'un yanı sıra C eğitimleri hakkında söylediklerinizle çok ilgileniyorum ve sakar büyükanne ve büyükbabalar için herhangi bir gizli mücevheriniz varsa çok sevinirim.
    İçeriğin kıtadan daha önemli olduğunu düşündüğüm için üzerinize biraz sopa koyduğum için ve tüm saygımla, ama dille nasıl biraz telaşlı olduğumu size biraz anlatacağım.
    Başta diyorsun:
    "Derleme, bir derleyicinin insan dilinde yazılmış kodu kullanmak ve onu makine tarafından okunabilir koda dönüştürmek için gerçekleştirdiği işlemdir."
    Bence tanıma neyin tanımlandığını dahil etmek doğru değildir, çünkü derlemeyi tanımlamak için derleyici terimini dahil edersiniz, bu nedenle böyle bir şey daha doğru olurdu:
    Derleme, bir programın bilgisayar tarafından çalıştırılabilir bir dilde (C, C ++) yazılmış bir metin dosyasından elde ettiği süreçtir.

    1.    ChrisADR dijo

      Katkınız bana doğru geliyor, onu özünde tutmaya ve bu bilgileri eklemeye çalışıyorum 😉 teşekkür ederim.

  8.   Çift D dijo

    Ubuntu 16.04 kullanıyorum, sizce gentoo'ya geçmem gerekiyor mu? Gentoo'nun ubuntu'ya karşı avantajları neler olabilir?

    1.    ChrisADR dijo

      Şey, gerçekten bilmiyorum 😛 bu, ekipmanınız veya sahip olduğunuz donanımla ne yapacağınıza veya Gentoo'yu kullanmayı öğrenmek için zamanınız (ve arzunuz) olup olmadığına bağlı. Vaktiniz varsa ve istiyorsanız, İLERİ GİDİNİZ! ve yol boyunca çok şey öğreneceğini göreceksin 😉
      selamlar

  9.   Fernan dijo

    Selam
    Gerçek şu ki, gentoo'nun okuyacak çok şeyi varsa, örneğin bir emerge -pv paketi hazırlıyorsunuz ve kırmızı, mavi ve yeşil kullanımların yanı sıra kullanımlarda değişiklik gerektiren olası kilitler, maskesini kaldırma paketleri, yuva değişiklikleri diğer paket yöneticileri tarafından görüntülenen.
    Sanırım gentoo'nun her gün güncellenmesi gerekecek, eğer 1 aylığına bırakırsanız nasıl düzelteceğinizi bulmanın zamanı gelecek.
    Selamlar.

    1.    ChrisADR dijo

      Evet, hehe, ilk başta biraz dalga geçiyor 🙂 ama zamanla tanıyorsunuz ve hatta başka hiçbir paket yöneticisinde neden bu kadar esnek olmadığınızı düşünme noktasına bile gelebiliyorsunuz 🙂 zaman açısından, aynı sunucunun yıllardır çalıştığını biliyorum güncelleme olmadan ve ilk gün olduğu gibi tamamen sağlam kalır ve yıllardır (aylarca değil) orada bulunanlar için, soruna olası çözümleri açıklayan özel bir wiki bölümü vardır:

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

      Ve güncellemeler açısından, belki de güvenlik sorunlarını doğrudan görmek beni yeni bir bakış açısı edinmemi sağladı, ancak her gün güncelleme, dağıtımdan bağımsız olarak yapılması gereken bir şeydir, genellikle tüm dağıtımlarda ve gentoo'da ikiden fazla komut almaz iyi bir alışkanlık oluşturmanın yanı sıra tüm paketler biriktiğinde uzun süre beklemekten kaçınır.
      selamlar

  10.   Fernan dijo

    Selam
    İkili dağıtımlarda manjaro kullanıyorum ve ubuntu kullanmadan önce güncellemesi kolay, güncelleme olup olmadığını her gün kontrol ediyorum, ilk baktığım şey bu ama manjaro güncellemesinde bana ilgili problemler vermedi, genellikle pacman'a her şeye evet ve en fazla imzaları güncellemek, hatta bir dosyayı silmek zorunda olduğunu söyleyin. Ancak gentoo'da okuduğum kadarıyla terminolojiyi portage'ın ne dediğini anlamak bazen zor.
    Selamlar.

    1.    ChrisADR dijo

      Her şeye evet deyin, fernan asla iyi değildir G GNU / Linux'a eriştiyseniz, onu bilmeli ve anlamalısınız. Pekala, görülecek bir şey yok, bu sadece bir gelenek, zamanla kırmızının sahip olduğun şey olduğunu, mavinin olmadığını, yeşilin ekleyeceğini anlarsın ve işte bu :). Başlamak için doğru bir şekilde yapılandırdıysam güncellemek için hiçbir şeyi değiştirmem gerekmez, ara sıra USE bayrakları eklerim veya kaldırırım, ancak ortak olan, ne yapıldığını bilmek için listeyi okuduktan sonra Y'ye evet vermektir 🙂
      Not: pacman -Syy, emerge -sync ile aynıdır
      Pacman -Suy, emerge -uD @world ile aynıdır (-av yalnızca ayrıntılı olmak içindir ve devam etmeden önce size sorar, eğer ekibinizi tanıyorsanız ve ne yaptığınızı biliyorsanız gereksizdir, ancak sorunları önlemek için koydum daha sonra 😉) Hatırlamanın o kadar zor olduğunu görmüyorum 🙂

      selamlar

  11.   Mauricio Lopez dijo

    Hem öncekini hem de bu makalenizi mükemmelleştirin. Bir şüphem var ve Arch veya Manjaro ve Gentoo arasında ne kadar hız kazandığınız. Kendi başına özelleştirme ve öğrenmeye bakılmaksızın, onu yüklemeye değer kılar.
    Sahip olduğum bir diğer soru da sürücülerle nasıl başa çıkılacağı, bu bana Arch'da sorun çıkaran bir şey.

    1.    ChrisADR dijo

      Merhaba Mauricio,
      Eh, ikisini kıyaslamayı asla bırakmadım ve gerçekte bu çok belirsiz bir soru, kullandığınız yazılıma ve sahip olduğunuz donanıma bağlı olarak, bu çok az veya hiçten çok fazla değişebilir. En azından bugün her iki sistem de kullanmam gereken şeyde benim için oldukça iyi çalışıyor. (Zaman zaman kullandığım bir ana Gentoo'm ve bir Arch'ım var) Normalde onu sanallaştırma ve program düzenlemede kullanıyorum (ancak genellikle terminal ile bir IDE'de fazla bellek kullanmıyor. Chrome beni tamamen sakin bir şekilde 40'tan fazla sekme ile destekliyor (Bunu defalarca denedim, ancak genel olarak uzun süreler için yalnızca en fazla 5 tane açıkım.
      Bir gün denemeye cesaret edersen, nasıl gittiğini söyle bana 🙂

      Sürücülere gelince, çekirdeği istediğiniz gibi kontrol ettiğiniz için, normalde "ortak" sürücülerin çoğu kurulabilir veya en azından yönetilebilir. Çok özel bir donanım söz konusu olduğunda (özellikle genel olarak Linux ile çok az uyumlu), sanırım diğer birçok dağıtımdakiyle aynı iş, çok özel donanımım yok, bu yüzden bu konuda çok fazla yorum yapamam 🙂

      Selamlar ve şans

  12.   Jeanpier subero dijo

    sosyal ağlarınız ChirsADR nedir?