Gentoo: Mengapa saya memilih untuk mengkompilasi program saya sendiri?

Nah, dengan sambutan yang bagus dari posting saya sebelumnya, saya datang untuk memberitahu Anda lebih banyak tentang distribusi favorit saya, Gentoo Linux. Saya berjanji bahwa posting ini akan memiliki informasi menghibur yang akan membantu Anda memahami sedikit tentang mitos yang muncul di depan para menakutkan. kompilasi perangkat lunak. Saya juga berjanji bahwa informasi ini akan berguna untuk panduan instalasi Gentoo Linux berikutnya dalam ~ 20 langkah (saya belum menghitungnya dengan baik, tetapi menurut saya jumlahnya lebih sedikit). Tanpa basa-basi lagi, mari kita mulai:

Apa itu kompilasi?

Ini adalah proses yang dilakukan oleh program (biasa disebut compiler) untuk mengubah kode yang ditulis dalam bahasa manusia (file C, C ++, dll.) Menjadi kode yang dapat dipahami oleh mesin (kode biner). Mari kita lihat contoh berikut ini:

Desainnya sendiri, Christopher Díaz Riveros

Ini adalah program C kecil kami (jika Anda ingin tutorial C lainnya nanti, saya juga akan dengan senang hati menunjukkan kepada Anda apa yang telah saya pelajari saat ini). Sekarang mari kita lihat seperti apa keluarannya setelah kompilasi.

Desainnya sendiri, Chrirstopher Díaz Riveros

Cantik, bukan? 🙂 Inilah yang mesin kami pahami untuk dapat menulis "Halo" kecil itu di terminal kami setiap kali program dijalankan.

Proses pembangunan:

Karena tidak ada gunanya memiliki program yang mencetak "Halo" sederhana di layar, karena file .c dan .h berlimpah dalam proyek (seperti dalam semua bahasa pemrograman). Untuk membuat proses kompilasi sedikit lebih mudah, alat baru muncul, yang paling representatif dari semuanya adalah perintah membuat.

Make ambil file Makefile sebagai titik awal dan mengkompilasi apa yang diperlukan untuk membuat eksekusi akhir, dalam beberapa kasus langkah ini memerlukan eksekusi file bernama configure untuk dapat menetapkan beberapa variabel yang diperlukan oleh kompilator untuk mengkompilasi (memaafkan redundansi) file yang berguna.

Inilah mengapa dalam banyak tutorial kita akan menemukan langkah-langkah berikut:

Sendiri. Christopher Diaz Riveros

Keajaiban ./configure:

Untuk menunjukkan kepada Anda salah satu rahasia yang paling tersembunyi dan menghibur dari kode sumber, kita akan pergi ke kode sumber dari program yang kita semua tahu dengan sempurna, sudo. Pertama langkah biasa, tapi saya akan berhenti di . / Configure  untuk menunjukkan kepada mereka sesuatu yang istimewa.

Sendiri. Christopher Diaz Riveros

Ini akan mengembalikan daftar panjang opsi, di antaranya saya akan menunjukkan kepada Anda salah satu yang paling menarik perhatian saya.

Sendiri. Christopher Diaz Riveros

--with-insults... sesuai namanya, kompilasi sudo dengan penyalahgunaan 😀 adalah fitur menyenangkan yang memungkinkan Anda mengirimkan hinaan kepada pengguna setiap kali mereka membuat kesalahan dalam kata sandi. Untuk apa ini? Yah, belum lama ini 😛 tapi jelaskan satu hal Ada ribuan opsi yang tidak datang secara default di sebagian besar distribusi.

Seperti Anda, ada banyak orang lain yang mungkin aktif dalam distribusi kode biner dan yang tidak akan pernah Anda gunakan, atau akan ada beberapa yang Anda butuhkan, tetapi mereka tidak akan datang dengan biner terdistribusi resmi Anda, yang menyiratkan bahwa setiap pembaruan akan dilakukan. manual.

Mulailah bersenang-senang di Gentoo:

Kami telah melihat berapa banyak opsi yang dapat kami lewatkan atau seret dengan program yang telah dikompilasi sebelumnya. Tapi sekarang mari kita fokus sedikit pada masalah yang telah dikompilasi sebelumnya.

Kinerja:

Pernahkah Anda bertanya-tanya mengapa mesin baru hanya terlihat sedikit lebih cepat dibandingkan dengan yang tidak terlalu modern? Jika prosesor lebih baik, ada lebih banyak RAM, semuanya lebih baik, mengapa tidak lebih cepat? Jawabannya sederhana ... kompilasi.

Mari kita ambil contoh yang sangat praktis.

Program saya dikompilasi dengan opsi --march=broadwell... ini karena prosesor saya adalah broadwell (intel i7). Sisi negatifnya? tidak ada prosesor sebelum broadwell mampu mengenali biner ini. Pada titik ini Anda akan melihatnya dengan sangat jelas, jika saya mengkompilasi dengan file -Maret  spesifik, semua hal di atas tidak akan berfungsi ... jadi bagaimana paket biner mendukung begitu banyak jenis perangkat keras? Mudah, mereka mengkompilasi dengan opsi sesedikit mungkin 🙂 ini menjamin bahwa semua jenis perangkat keras akan dapat membacanya (setidaknya untuk kompatibilitas).

Masalah sebenarnya ... jika Anda menggunakan program yang dikompilasi untuk i3 ... Semua kekuatan i7 Anda (atau analogi AMD masing-masing) sia-sia !! Bukankah itu menyedihkan? 🙁

Fleksibilitas:

Karena para pengembang Gentoo sangat pintar, seluruh proses tar, ./configure, make, dll ... telah diganti dengan kekuatan dari Portage. Semua pengaturan aneh ini telah diganti namanya menjadi flag USE, jadi jika Anda menginginkan pengaturan tertentu, Anda tidak perlu memasukkan kode sumber, cukup atur variabelnya. Berikut adalah contoh bagaimana melakukannya dengan sudo di portage. Pertama kita akan melihat opsi apa yang kita miliki dalam konfigurasi kita saat ini permintaan.

Sendiri. Christopher Diaz Riveros

Seperti yang bisa kita lihat, opsi merah diaktifkan, yang biru tidak, yah ... semua orang bisa membaca legenda 🙂

katakanlah saya ingin menambahkan opsi ...

Sendiri. Christopher Diaz Riveros

Sesederhana menambahkan baris dalam file bernama sudo (nama referensial) di dalam /etc/portage/package.use/. Dengan ini, lain kali kami menginstal sudo, ia akan memberi tahu kami bahwa itu akan dikompilasi ulang dengan opsi diaktifkan.

Sendiri. Christopher Diaz Riveros

Jika kita memberi, YES, yang harus Anda lakukan adalah menunggu sebentar dan voila 🙂 sesederhana ini.

Pikiran terakhir:

Nah, kita telah melihat betapa mudahnya menangani fungsionalitas tambahan di Gentoo, yang memungkinkan kita menambah, menghapus atau mengubah opsi dalam program favorit kita. Kami juga telah melihat bagaimana kinerja program kami sangat bergantung pada variabel yang kami kompilasikan. Jika Anda memiliki komputer yang sangat baru, Gentoo adalah pilihan terbaik Anda. Jika Anda memiliki komputer yang sangat tua, Gentoo juga merupakan pilihan Anda (walaupun membutuhkan beberapa saat untuk mengkompilasi, program akhir akan jauh lebih ringan).

Saya akan segera menulis panduan instalasi Gentoo saya, baik untuk pecinta SystemD dan petualang OpenRC (saya menggunakan systemd dengan GNOME). Omong-omong, keuntungan besar lain dari Gentoo adalah kemampuannya memilih segala sesuatu di dalam sistem Anda, dan ketika saya mengatakan semuanya SEMUA.

Jika Anda melewatkan posting pertama saya, ini tautannya:

Gentoo Linux: Kisah Perjalanan

Salam,


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   Pasar dijo

    Bagus! Saya akan menunggu Gentoo dengan panduan instalasi Gnome. Mungkin saya didorong untuk bermigrasi ke Gentoo meskipun saya masih memiliki PC yang agak tua (intel core i5 3rd gen.). Bersulang!

    1.    krisadr dijo

      Tak lama kemudian, Mart ganó meyakinkan saya untuk berbagi lebih banyak hal, jadi saya menulis pos lain yang menunggu untuk diterbitkan, tetapi segera 🙂 Saya berjanji

  2.   njord dijo

    Saya rasa saya akan mulai melihat banyak posting di sekitar sini tentang distribusi linux favorit saya o!!
    Saya telah berada di Gentoo sejak 2005 di mana saya menggunakannya untuk menyiapkan Server Email di universitas tempat saya belajar (dan tempat saya sekarang bekerja) dan meskipun saya telah mengalami serangan distrohopping sporadis, saya selalu kembali dengan Gertroodis tersayang (pertama dengan Gnome2, lalu Xfce, dan sekarang openbox), dan seperti yang Anda komentari di kiriman sebelumnya, dengan peningkatan keterampilan dan pengetahuan untuk menyempurnakannya 😉
    Saya akan menunggu kontribusi Anda berikutnya, salam dan terima kasih telah membuat hari saya = D!

    1.    krisadr dijo

      Nah, yang berikutnya akan datang 🙂 ini seperti melakukan percakapan yang menghibur tentang topik favorit saya, yang berikutnya akan segera datang, dan berikutnya, dan berikutnya 😛 Salam dan terima kasih banyak atas komentar Anda 🙂

  3.   Pemenang dijo

    Saya telah berpindah antar distro selama bertahun-tahun dan telah berpikir untuk menyusun distro saya…. panduan itu akan menjadi langkah yang saya lewatkan…. sementara saya akan menghibur diri dengan buku pegangan. Terimakasih untuk semuanya……

    1.    krisadr dijo

      Nah, buku pegangan adalah surga informasi, hanya ada segalanya 🙂 Saya hanya dapat menyumbangkan butiran kecil pasir saya 🙂 tetapi segera, posting berikutnya akan keluar, dan segera yang akan keluar (saya sudah melihatnya cukup diharapkan) ~ 20 langkah panduan instalasi. Bersulang,

      1.    Pemenang dijo

        Sungguh pria yang tidak memberi saya waktu untuk berlalu dari awal yang berbicara tentang mikroprosesor yang berbeda dan panduannya ada di sini !!!!! Akhir dari diriku ini kacau untuk yang PERTAMA! !!! Jutaan terima kasih !!!!

  4.   soymicmic dijo

    Knoppix, Mandrake, Ubuntu dan Debian ... Dan selalu memikirkan Gentoo ...

    Menunggu 20 langkah itu!

    1.    krisadr dijo

      Hahaha baiklah, ini seperti mimpi bukan? 🙂 Saya katakan sudah waktunya untuk mewujudkannya 😉 salam

  5.   Cool As Ice dijo

    Halo ChrisADR, pertama-tama saya ingin memberi tahu Anda bahwa saya belum tidur nyenyak sejak artikel pertama Anda tentang Gentoo, dan ini terkait dengan artikel baru ini, impian saya didasarkan pada kompilasi Gentoo di Netbook Aspire One lama saya. Dalam mimpi saya, sistem memberi tahu saya bahwa netbook saya sangat tua sehingga tidak mengenali perangkat keras.
    Di sisi lain, setelah saya melihat Gentoo dan menarik perhatian saya, mereka menyebutkan kekuatan yang ditawarkannya ke komputer (komputer). Sejak hari itu saya mengatakan pada diri sendiri bahwa suatu hari saya akan menginstalnya, lebih dari 10 tahun telah berlalu dan saya belum melakukannya, mungkin karena mereka mengatakan kepada saya bahwa sangat sulit untuk menginstalnya, pada saat itu saya hampir anti-linux jadi mereka meningkatkan keluhan saya terhadapnya. Namun rasa ingin tahu terus berlanjut. Suatu kali saya mencoba menginstal BSD di netbook saya tanpa hasil, dan diberi tahu bahwa Gentoo adalah linux yang sangat mirip dengan BSD.
    Apa yang Anda rekomendasikan agar saya menginstal Gentoo di Aspire One lama saya dengan kompiler Atom lama?

    dan terima kasih banyak atas artikel Anda, saya terus menunggu lebih banyak

    1.    ChrisADR dijo

      Yah, saya sarankan Anda… LAKUKAN! Dan akhirnya, jika pada akhirnya gagal (yang saya sangat meragukan karena kernel dibuat untuk mendukung semua jenis perangkat keras) Anda akan memiliki pengalaman yang sangat memperkaya di dunia Linux 🙂 Anda telah mengkompilasi kernel Anda, Anda akan memiliki pasang sistem file Anda dari awal, Anda akan membuat konfigurasi yang sedikit dilakukan dalam hidup mereka 🙂 ini akan memberi Anda perspektif baru tentang dunia hahaha Jika Anda tidak dapat melihat profil Unix & StackExchange saya 🙂 jawaban saya mencakup berbagai macam linux yang ini karena mengetahui Gentoo telah memungkinkan saya mempelajari banyak hal tentang semua Linux 😉 Saya tinggalkan link profil saya di sini

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

      Jangan takut, dan pada akhirnya jika semuanya berjalan dengan baik (pasti biayanya sedikit) akan menjadi prestasi untuk bukumu 😉 Salam

  6.   Esteban dijo

    Saya juga berpikir untuk pindah ke Gentoo, tapi saya ragu. Pertama-tama, seberapa up-to-date paket ke Arch? Di sisi lain, laptop saya memiliki baterai built-in, dan kita semua tahu apa pengaruh panas yang terus menerus pada baterai. Dan karena saya akan menghabiskan banyak waktu untuk menyusun ...

    1.    ChrisADR dijo

      Sebenarnya saya tidak dapat memberitahu Anda dengan pasti mana yang lebih Rolling Release 😛 yang dapat saya katakan dengan pasti adalah bahwa Gentoo memiliki dua cabang: "stable" dan "not stable", meskipun "tidak stabil" harus memiliki Sebagian besar paket di tepi teknologi, saya memiliki banyak pengembang terkenal yang menggunakannya dalam sehari-hari tanpa komplikasi. Banyak dari ini dibuat untuk bekerja dengan repositori git proyek, jadi tidak ada yang lebih terkini 🙂 Saya pribadi menggunakan cabang "stabil", tetapi ini terutama karena pekerjaan saya dalam komunitas sebagai koordinator keamanan dan sebagai anggota tim penguji (Arch Tester). Jika Anda tidak harus memiliki versi "stabil" untuk pekerjaan itu, Anda pasti akan berada di tepi teknologi dengan "tidak stabil".
      Saya tidak tahu apakah ini menjawab pertanyaan Anda, tetapi setidaknya saya harap ini cukup menarik perhatian Anda untuk mencobanya 😛 Salam

  7.   Quixote gratis dijo

    Yang benar adalah kamu membuatku ingin 😉
    Saya sangat tertarik dengan apa yang Anda tunjukkan tentang tutorial C, serta Python dan saya akan menghargai jika Anda memiliki permata tersembunyi di luar sana untuk kakek-nenek yang canggung.
    Untuk memberikan beberapa hits pada Anda dan dengan segala hormat saya karena saya pikir konten lebih penting daripada benua, tapi bagaimana saya agak cerewet dengan bahasanya, saya akan memberi tahu Anda sedikit.
    Anda mengatakan di awal:
    "Kompilasi adalah proses yang dilakukan kompilator untuk menggunakan kode yang ditulis dalam bahasa manusia dan mengubahnya menjadi kode yang dapat dipahami oleh mesin."
    Menurut pendapat saya, tidak benar untuk memasukkan apa yang didefinisikan dalam definisi, karena untuk mendefinisikan kompilasi Anda menyertakan istilah compiler, jadi sesuatu seperti ini akan lebih tepat:
    Kompilasi adalah proses di mana program memperoleh dari file teks yang ditulis dalam bahasa (C, C ++) file yang dapat dieksekusi oleh komputer.

    1.    ChrisADR dijo

      Kontribusi Anda tampaknya benar bagi saya, saya menampungnya untuk mencoba tetap pada intinya dan menambahkan informasi itu 😉 terima kasih.

  8.   Ganda D dijo

    Saya menggunakan ubuntu 16.04, apakah menurut Anda saya harus beralih ke gentoo? Apa kelebihan gentoo versus ubuntu?

    1.    ChrisADR dijo

      Saya benar-benar tidak tahu 😛 ini tergantung pada apa yang akan Anda lakukan dengan peralatan Anda, atau perangkat keras yang Anda miliki, atau apakah Anda memiliki waktu (dan keinginan) untuk mempelajari cara menggunakan Gentoo. Saya akan memberi tahu Anda bahwa jika Anda punya waktu, dan Anda merasa ingin, Anda bisa Maju! dan Anda akan melihat bahwa Anda akan belajar banyak di sepanjang jalan 😉
      salam

  9.   Fernan dijo

    Hello:
    Jika sebenarnya gentoo memiliki banyak hal untuk dibaca, misalnya Anda membuat paket emerge -pv dan Anda menggunakannya dalam warna merah, biru dan hijau, ditambah kemungkinan kunci yang memerlukan perubahan penggunaan, buka kedok paket, penggantian slot sangat berbeda dari apa yang ditampilkan oleh manajer paket lainnya.
    Saya kira gentoo harus diperbarui setiap hari, jika Anda membiarkannya selama 1 bulan maka perlu dicari cara untuk memperbaikinya.
    Salam.

    1.    ChrisADR dijo

      Ya, hehe, awalnya agak surut 🙂 tapi lama kelamaan kamu jadi familiar bahkan sampai berpikir kenapa tidak ada package manager lain kamu punya banyak fleksibilitas 🙂 dari segi waktu, saya kenal orang yang punya server yang sama berjalan selama bertahun-tahun tanpa memperbarui dan tetap benar-benar teguh seperti hari pertama, dan bagi mereka yang telah berada di sana selama bertahun-tahun (bukan berbulan-bulan) ada bagian khusus dari wiki yang menjelaskan kemungkinan solusi untuk masalah tersebut:

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

      Dan dalam hal pembaruan, mungkin melihat masalah keamanan secara langsung telah membuat saya mengambil perspektif baru, tetapi memperbarui setiap hari adalah sesuatu yang terlepas dari distribusinya harus dilakukan, biasanya tidak membutuhkan lebih dari dua perintah di semua distribusi, dan di gentoo selain menghasilkan kebiasaan yang baik, hindari menunggu lama saat semua paket terakumulasi.
      salam

  10.   Fernan dijo

    Hello:
    Di distro biner saya pake manjaro dan sebelum saya pake ubuntu gampang di update, saya cek tiap hari kalau ada update, itu hal pertama yang saya lihat, tapi di update manjaro belum memberikan saya masalah yang relevan, biasanya saya beri tahu pacman bahwa ya untuk semuanya dan paling banyak harus memperbarui tanda tangan atau bahkan menghapus file. Tetapi dari apa yang saya baca di gentoo terminologi terkadang sulit untuk memahami apa yang dikatakan portage.
    Salam.

    1.    ChrisADR dijo

      Katakan ya untuk semuanya tidak pernah baik fernan 🙂 jika Anda telah mencapai GNU / Linux Anda harus tahu dan memahaminya. Yah, tidak ada yang bisa dilihat, itu hanya kebiasaan, seiring waktu Anda menyadari bahwa merah adalah yang Anda miliki, biru apa yang tidak Anda miliki, hijau apa yang akan Anda tambahkan dan hanya itu :). Saya tidak perlu mengubah apa pun untuk diperbarui jika saya telah mengonfigurasi dengan benar untuk memulai, kadang-kadang saya menambah atau menghapus flag USE, tetapi hal yang umum adalah memberi Y ya setelah membaca daftar untuk mengetahui apa yang sedang dilakukan 🙂
      PS: pacman -Syy sama dengan emerge -sync
      Pacman -Suy sama dengan emerge -uD @world (-av hanya untuk verbose dan meminta Anda sebelum melanjutkan, yang tidak perlu jika Anda tahu tim Anda dan Anda tahu apa yang Anda lakukan, tetapi saya taruh untuk menghindari masalah nanti 😉) Menurutku tidak terlalu sulit untuk diingat 🙂

      salam

  11.   Mauricio Lopez dijo

    Sempurnakan artikel Anda, baik yang sebelumnya maupun yang ini. Saya ragu dan seberapa besar kecepatan yang Anda dapatkan antara Arch atau Manjaro dan Gentoo. Terlepas dari penyesuaian dan pembelajaran itu sendiri, mereka membuatnya layak untuk dipasang.
    Pertanyaan lain yang saya miliki adalah bagaimana menangani driver, ini adalah sesuatu yang memberi saya masalah di Arch.

    1.    ChrisADR dijo

      Halo Mauricio,
      Yah, saya tidak pernah berhenti untuk membandingkan keduanya, dan pada kenyataannya ini adalah pertanyaan yang sangat ambigu, tergantung pada perangkat lunak yang Anda gunakan, dan peralatan yang Anda miliki, ini dapat bervariasi dari sedikit atau tidak sama sekali hingga banyak. Setidaknya untuk hari ini kedua sistem bekerja dengan cukup baik untuk saya dalam hal yang saya perlukan untuk menggunakannya. (Saya memiliki Gentoo utama dan Arch yang saya gunakan dari waktu ke waktu) Biasanya saya menggunakannya dalam virtualisasi dan pengeditan program (tetapi biasanya dengan terminal sehingga tidak menggunakan banyak memori dalam IDE. Chrome mendukung saya dengan cara yang sangat tenang lebih dari 40 tab (Saya sudah mencobanya dari waktu ke waktu, meskipun umumnya saya hanya memiliki maksimal 5 buka untuk waktu yang lama.
      Jika suatu hari Anda berani mencoba, beri tahu saya bagaimana hasilnya 🙂

      Mengenai driver, karena Anda mengontrol kernel sesuka hati, biasanya sebagian besar driver "umum" dapat diinstal, atau setidaknya dapat dikelola. Dalam kasus perangkat keras yang sangat terspesialisasi (terutama yang sedikit kompatibel dengan Linux secara umum), saya kira ini adalah pekerjaan yang sama seperti di banyak distro lain, saya tidak memiliki banyak perangkat keras khusus sehingga saya tidak dapat berkomentar banyak tentangnya 🙂

      Salam dan semoga berhasil

  12.   Jeanpier subero dijo

    apa jaringan sosial Anda ChirsADR?