Dalam panduan singkat ini saya akan menjelaskan (dan mengajari Anda) mengapa lebih baik Anda mengompilasi program (katakanlah Firefox, Vlc, dll) dari kode sumbernya, daripada mengunduhnya (dari Pusat Perangkat Lunak, Yumex, Pacman, dll. ) instal.
Pertama kita pergi dengan teori:
Apa itu "kompilasi"?
Kompilasi adalah mengubah kode sumber (kode yang ditulis dalam bahasa pemrograman tertentu, katakanlah C, C ++, dll.) Menjadi program yang dapat dieksekusi untuk operasinya melalui penggunaan prosesor untuk mengubah bahasa yang digunakan untuk menghasilkan kode menjadi biner dan assembler. Itu juga sering disebut kemasan.
Mengapa lebih baik "mengkompilasi"?
Pertama, Anda harus mengetahui hal berikut untuk memahami alasannya. Dikatakan dengan cara «kasar» (sederhana, tidak terlalu profesional, dll), setiap ras (Pentium, Core, Atom, dll) dan spesiesnya (Intel, AMD, ARM, dll.) Prosesor memiliki instruksi (perangkat lunak yang ditulis dalam assembler yang memproses kode) model mereka (Core i7, Core i5, Atom x2, Phantom x8, Arm, dll.) dan juga memiliki instruksi umum yang dimiliki oleh semua jenisnya.
Saat Anda mengunduh program dari repositori melalui Pusat Perangkat Lunak (misalnya, apt-get/Yumex/Yum/Pacman/dll.), program tersebut akan diinstal secara otomatis dan dikatakan telah dikompilasi sebelumnya untuk dijalankan pada semua prosesor yang memungkinkan (Intel dan AMD). Karena merupakan program yang telah dikompilasi sebelumnya, program tersebut kehilangan instruksi khusus untuk model prosesor tertentu (bayangkan jika program seperti Firefox atau Chrome, yang memiliki lebih dari 7 atau 8 juta baris kode, harus menyertakan semua instruksi khusus untuk setiap prosesor di pasaran; jumlah kode akan sangat besar sehingga program tersebut tidak lagi efisien), hanya mempertahankan instruksi umum dari pembuatnya (Intel, AMD, ARM).
Saat Anda mengunduh, mengekstrak, dan mengkompilasi kode sumber suatu program sendiri, kode tersebut dikompilasi dengan instruksi khusus dari prosesor ANDA ( yang tidak berarti program tersebut tidak akan berfungsi pada mesin dengan prosesor yang berbeda, hanya saja program tersebut akan dioptimalkan secara khusus dan murni untuk prosesor Anda) , sehingga melepaskan dan membebaskan semua daya yang mampu diberikan oleh prosesor Anda berkat instruksi khususnya.
Dalam detail yang lebih teknis, instruksi spesifik ini terkait erat dengan apa yang dikenal sebagai chipset motherboard Anda, yang merupakan masalah besar bagi kita yang memiliki Intel ketika ingin meningkatkan prosesor dan motherboard.
Anda akan terkejut dengan kekuatan yang dapat diberikan oleh prosesor AMD Atom x2 atau Intel Core i3 , Core 2 Duo , atau prosesor lain pada PC lama Anda . Sekarang Anda mengerti mengapa kompilasi kernel yang terkenal (jantung setiap sistem operasi) begitu banyak dibicarakan di dunia Linux? Bayangkan jika Anda dapat mengkompilasi seluruh sistem khusus untuk PC Anda (lingkungan grafis (GNOME, KDE, dll.), kernel, program yang umum digunakan (Firefox, VLC, Chrome, Wine, dll.))—tingkat kecepatan dan optimasi yang akan Anda dapatkan.
Prinsip kompilasi untuk mendapatkan kode yang dioptimalkan khusus untuk mesin Anda adalah yang digunakan oleh distro seperti Gentoo dan turunannya (yang tidak akan saya bicarakan sekarang, saya menggunakan Fedora minimal dengan kompilasi Gnome 3, kernel dan program lainnya) di mana sistem, pembaruan Anda dan program Anda selalu dikompilasi.
Kontra kompilasi:
Saya sudah menjelaskan semua keuntungannya, tetapi seperti semua yang ada di alam semesta ini memiliki satu lawan.
Dalam kasus kompilasi mereka adalah;
- Waktu yang diperlukan untuk ini (Firefox dengan i7 4790K (tanpa overclock karena saya sangat buruk dengan voltase) membutuhkan waktu 3 menit, Gnome Shell (tidak lebih dari bar) dengan Gnome-Control-Center membutuhkan waktu sekitar 2 menit, keduanya dikompilasi pada waktu yang sama di Fedora. Tetapi pada mesin dengan prosesor yang kurang bertenaga kali ini bisa sangat lama).
- Prosesor ini menggunakan 100% tenaganya dengan semua intinya secara maksimal, sehingga konsumsi dan panasnya melonjak (pertimbangkan hal ini jika Anda memiliki overclocking atau terutama notebook), jadi lebih mudah jika Anda menyiapkan pasangan atau kopi. untuk acara ini.
- Mungkin Anda kehilangan pustaka (alat) yang menggunakan program sehingga tidak ada kesalahan dalam kompilasi. Secara umum, semua distro memiliki paket atau kumpulan untuk menghindari hal ini (mereka dikemas dengan berbagai pustaka dan hal-hal lain yang memungkinkan kernel untuk berkomunikasi sebagaimana mestinya dengan prosesor selama proses).
Bagaimana saya bisa mengkompilasi?
Di sini saya berbicara tentang kompilasi program untuk penggunaan normal, bukan kernel.
aptitude install build-essential dh-make devscripts fakeroot debhelper debian-policy ccache dh-autoreconf autotools-dev build-dep ardor
Saya menaruh debian-policy, tetapi jika distro Anda bukan Debian dan itu memberi Anda kesalahan bahwa tidak ada paket seperti itu, abaikan saja. Saya harus mengklarifikasi bahwa saya sudah lama tidak menggunakan sistem ini, jadi jika sebuah paket tidak lagi ada di repositori, jangan buat masalah.
Untuk Fedora:
sudo yum -y menginstal header-kernelpengembangan kernelsudo yum groupinstall "Alat Pengembangan"sudo yum groupinstall "Perpustakaan Pengembangan"
Disini saya harus meminta maaf kepada mereka yang menggunakan Arch (saya tidak tahu distro dengan baik) dan OpenSuse, karena saya tidak tahu distro ini atau masing-masing paket untuk melakukan kompilasi yang benar (dan saya belum menguatkan apa yang ada di jaringan, sehingga untuk keduanya saya tidak tahu apakah mereka bekerja).
Sekarang Anda telah memiliki semua persyaratan yang diperlukan, Anda hanya perlu mengunduh kode sumber dari program yang ingin Anda kompilasi, tergantung pada ekstensi yang Anda unzip menggunakan terminal (jangan khawatir, saya akan meninggalkan Anda perintahnya) dan ketika Anda pergi ke folder (selalu dengan terminal) Anda melakukan hal yang sama:
Jika Anda memiliki kemungkinan untuk mengkonfigurasi sendiri untuk memilih komponen dan lainnya:
./configure
Kemudian Anda mengetik:
make
Dan terakhir untuk menginstal program di linux Anda:
make install
Perintah untuk membuka ritsleting menggunakan terminal (berkas dibuka ritsleting di folder tempat berkas itu berada):
Berkas .Tar (tar) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Paket | tar cvf file.tar / file / * Buka kemasan | tar xvf file.tar Lihat konten | tar tvf file.tar
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .tar.gz - .tar.z - .tgz (tar dengan gzip ) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Kemas dan zip | tar czvf file.tar.gz / file / Unpack dan unzip | tar xzvf file.tar.gz Lihat konten (tidak diekstrak) | tar tzvf file.tar.gz
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .gz (gzip) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Kompres | gzip -q file (File mengompres dan mengganti namanya menjadi "file.gz") Unzip | gzip -d file.gz (File mengekstraknya dan membiarkannya sebagai "file" Catatan: gzip hanya memampatkan file, bukan direktori
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .bz2 (bzip2) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Kompres | file bzip2 | file bunzip2 (File mengompres dan mengganti namanya menjadi "file.bz2") Unzip | bzip2 -d file.bz2 | bunzip2 file.bz2 (File mengekstraknya dan membiarkannya sebagai "file") Catatan: bzip2 hanya memampatkan file, bukan direktori
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .tar.bz2 (tar dengan bzip2) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Kompres | file tar -c | bzip2> file.tar.bz2 Unzip | bzip2 -dc file.tar.bz2 | tar -xv | tar jvxf file.tar.bz2 (tar versi terbaru) Lihat konten | bzip2 -dc file.tar.bz2 | tar -tv
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .zip (zip) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Kompres | zip file.zip / mayo / archives Unzip | unzip file.zip Lihat konten | unzip -v file.zip
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .rar (rar) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Kompres | rar -a file.rar / may / archives Unzip | rar -x file.rar Lihat konten | rar -v file.rar | rar -l file.rar
Dan itu saja. Salam dari Buenos Aires, Argentina. Selamat Liburan dan Tahun Baru! :).