Rumah  >  Artikel  >  Tutorial sistem  >  Pakej binari vs pakej kod sumber di bawah Linux: Mana yang patut anda pilih?

Pakej binari vs pakej kod sumber di bawah Linux: Mana yang patut anda pilih?

WBOY
WBOYke hadapan
2024-02-14 19:06:02878semak imbas

Dalam sistem Linux, prosedur pemasangan biasanya berbeza daripada kaedah perisian pemasangan Windows tradisional. Anda boleh memasangnya daripada pakej pra-bina atau menyusun program itu sendiri. Dalam pengedaran yang semakin popular itu, pakej pra-bina selalunya merupakan penyelesaian utama. Tetapi kadangkala, anda juga mungkin perlu menyusun daripada kod sumber. Ini juga merupakan salah satu ciri sistem pengendalian Linux. Menyusun atur cara daripada kod sumber memastikan program tersebut akan berjalan dengan betul pada sistem dan mempunyai lebih fleksibiliti dan penyesuaian. Tidak kira kaedah yang anda pilih, anda perlu memilih kaedah yang paling sesuai untuk anda berdasarkan keperluan anda.

Apakah pakej binari?

Linux 下二进制包 vs 源代码包:你应该选择哪个?

Memasang program pada Linux biasanya berbeza daripada cara tradisional memasang perisian pada Windows. Daripada memuat turun pemasang dari tapak web vendor, fail datang daripada repositori program, biasanya disesuaikan dengan pengedaran Linux anda. Anda boleh mengakses repositori ini menggunakan pengurus pakej Linux anda atau gedung aplikasi.

Atur cara dalam repositori ini terdiri daripada berbilang fail dan dibungkus dalam format arkib untuk akses dan pengedaran yang mudah. Sebagai contoh, Debian menggunakan format DEB untuk menyimpan dan mengedarkan program. Fail yang dibungkus ini dipanggil pakej binari.

Cara membaca kod binari

Anda memerlukan program khas untuk mengekstrak fail ini dan memasangnya pada komputer anda, biasanya pengurus pakej atau gedung aplikasi anda. Alat ini juga mempunyai ciri berguna lain, seperti menjejaki fail yang dipasang dan mengurus kemas kini perisian.

Format pakej yang lebih baharu, seperti Flatpak dan Snap, berfungsi dengan versi Linux yang berbeza, tetapi ia masih terdiri daripada binari yang telah dikompilasi. Kedua-duanya memerlukan gedung aplikasi grafik atau pengurus pakej berasaskan baris arahan untuk pemasangan.

Apakah kod sumber?

Semua perisian terdiri daripada baris teks yang dipanggil kod sumber, ditulis dalam bahasa pengaturcaraan tertentu, seperti C atau C++. Biasanya, anda tidak boleh hanya membungkus kod sumber ini ke dalam fail arkib dan memanggilnya sebagai pakej. Baris ini perlu diterjemahkan ke dalam bahasa yang boleh difahami dan dilaksanakan oleh komputer.

Proses ini dipanggil kompilasi, dan hasil akhirnya ialah penciptaan fail binari yang boleh dijalankan oleh komputer. Perbezaan antara pakej perisian dan perisian ialah fail binari perisian disimpan dalam pakej bersama-sama dengan fail lain seperti fail konfigurasi.

Apakah itu "Pasang daripada Sumber"?

Linux 下二进制包 vs 源代码包:你应该选择哪个?

Memasang program daripada sumber bermakna memasang tanpa menggunakan pengurus pakej. Anda perlu menyusun kod sumber dan menyalin binari ke komputer anda.

Dalam kebanyakan kes, anda boleh memuat turun kod sumber projek daripada perkhidmatan pengehosan seperti GitHub, GitLab atau Bitbucket. Program yang lebih besar mungkin menjadi tuan rumah kod sumber pada tapak web peribadi. Kod ini biasanya dimampatkan dalam format arkib (juga dipanggil pakej kod sumber).

Satu set alat khas membantu mengautomasikan proses binaan. Pada desktop Linux, ia biasanya wujud dalam bentuk program baris arahan yang dipanggil make. Kod sumber yang ditulis dalam bahasa yang berbeza memerlukan penyusun dan arahan khusus untuk menukarnya menjadi binari. Program make mengautomasikan proses ini.

Untuk menjadikan automasi ini berfungsi, program ini menyediakan fail yang dipanggil Makefile yang memberitahu make apa yang patut dilakukan dan cara menyusunnya. Pada masa kini, Makefiles biasanya dijana secara automatik oleh perisian khas seperti CMake. Di sinilah anda perlu melangkah masuk. Dari sini, anda boleh menentukan fungsi khusus yang anda ingin susun ke dalam perisian.

Contoh dibina daripada sumber

Sebagai contoh, arahan berikut menggunakan CMake untuk menjana fail konfigurasi untuk suite pejabat Calligra. Fail yang dibuat memberitahu program buat untuk menyusun hanya komponen Penulis Calligra.

cmake -DPRODUCTSET=WORDS -DCMAKE_INSTALL_PREFIX=$HOME/kde/inst5 $HOME/kde/src/calligra

Selepas melengkapkan langkah ini, pengguna hanya menjalankan alat make untuk menyusun dan menyalin hasilnya ke komputer mereka. Langkah-langkahnya adalah seperti berikut:

make
make install
Linux 下二进制包 vs 源代码包:你应该选择哪个?

Walaupun ini adalah corak umum untuk menyusun atur cara, terdapat banyak cara lain untuk memasang pakej sumber. Sebagai contoh, Gentoo Linux mempunyai cara terbina dalam mengendalikan pakej kod sumber, menjadikan proses lebih cepat dan lebih mudah. Tetapi membina pakej binari memerlukan lebih banyak langkah daripada arahan di atas.

Faedah menggunakan pakej binari

Jika anda menggunakan Linux, kemungkinan besar seseorang telah menyusun terlebih dahulu perisian yang telah anda pasang. Ini lebih biasa daripada menggunakan pakej kod sumber. Tetapi mengapa ini berlaku?

1. Versi binari lebih mudah diurus

Linux 下二进制包 vs 源代码包:你应该选择哪个?

Pakej binari bukan sahaja mengandungi fail pemasangan yang disusun, tetapi juga menyimpan maklumat lain, memudahkan pengurus pakej anda menjejaki semua program anda. Sebagai contoh, fail DEB (format pakej untuk Debian dan terbitannya) juga mengandungi maklumat penting seperti perisian lain yang diperlukan untuk program berjalan dan versi semasanya.

Ini menjadikan pemasangan pakej lebih mudah kerana anda tidak perlu risau tentang fail lain yang diperlukan untuk menjalankan program dengan jayanya. Pengurus pakej anda boleh membaca maklumat ini daripada pakej itu sendiri dan memuat turun semua kebergantungan yang diperlukan secara automatik.

Dan apabila memasang program daripada sumber, melainkan kod itu disusun ke dalam pakej binari kendiri, anda akan bertanggungjawab untuk menguruskan perisian. Anda perlu mengingati program lain yang anda perlukan untuk menjadikannya berfungsi dan memasangnya sendiri.

2. Versi binari mempunyai kestabilan yang lebih baik

Orang yang bertanggungjawab menyelenggara repositori pengurus pakej cenderung untuk menguji binari dan cuba menyelesaikan masalah yang timbul. Ini mungkin menghasilkan kestabilan yang lebih baik, kerana penyelenggara pakej mungkin menemui masalah yang mungkin telah diabaikan oleh mereka yang memasang kod sumber.

Selain itu, pakej biasanya perlu mematuhi set peraturan yang ketat untuk memastikan ia berjalan pada sistem anda. Sebagai contoh, Debian dan Ubuntu kedua-duanya mempunyai manual dasar, dan banyak pengedaran Linux lain mempunyai manual yang serupa.

Sesetengah program juga bergantung pada versi yang berbeza bagi kebergantungan perisian yang sama untuk dijalankan. Repositori pakej akan mencuba yang terbaik untuk menyelesaikan konflik ini untuk mengelakkan masalah kepada anda.

Faedah menyusun pakej kod sumber

Memasang program daripada sumber bukanlah sesuatu yang perlu dilakukan oleh semua orang, kerana biasanya lebih mudah untuk menyelenggara komputer anda jika anda berpegang pada pakej binari. Namun, terdapat beberapa kelebihan untuk menggunakan cara yang lebih rumit untuk memasang program ini.

1. Kod sumber menyediakan perisian terkini

Satu kelemahan untuk menjadikan program lebih dipercayai ialah ia mengambil masa untuk menambah baik dan membaiki. Kadangkala mungkin terdapat binari, tetapi kod sumber akan diberikan kemudian. Bagi mereka yang ingin memiliki perisian terkini dan terhebat, mereka mungkin sanggup mengorbankan sedikit kestabilan semasa menukar perisian yang lebih baharu.

Walaupun terdapat beberapa sistem pengendalian Linux yang boleh memenuhi keperluan ini tanpa menyusun atur cara, mereka juga mempunyai beberapa kelemahan. Sebagai contoh, perisian yang tidak mengeluarkan versi pakej tetap dengan kerap akan mengalami kesukaran untuk mengemas kini dalam repositori. Sebaliknya, pemasangan daripada sumber tidak mempunyai sekatan ini.

Ini kerana pakej binari biasanya dibuat berdasarkan versi program yang dikeluarkan secara rasmi. Oleh itu, perubahan antara versi ini biasanya tidak diambil kira. Dengan menyusun perisian anda sendiri daripada kod sumber, anda boleh mendapat manfaat daripada perubahan ini serta-merta.

Ada kemungkinan juga sistem pengendalian Linux anda tidak mempunyai perisian yang anda mahu sediakan untuk anda. Pada masa lalu, ini akan menjadikan pemasangan daripada sumber satu-satunya pilihan. Format pakej biasa telah mengubahnya. Pakej Flatpak dan Snap juga secara amnya menerima kemas kini lebih cepat daripada repositori sistem. Tetapi masih ada masa apabila penyusunan adalah satu-satunya cara untuk mendapatkan perisian yang anda inginkan.

2. Boleh pilih sendiri fungsinya

Linux 下二进制包 vs 源代码包:你应该选择哪个?

Ciri-ciri FFmpeg Manfaat lain menggunakan pakej kod sumber ialah anda mempunyai lebih kawalan ke atas program yang anda pasang. Apabila memasang dari repositori binari, anda terhad dalam keupayaan anda untuk menyesuaikan pakej.

Ambil FFmpeg sebagai contoh, ia adalah alat penukaran audio dan video berasaskan baris arahan. Secara lalai, ia datang dengan banyak ciri, beberapa daripadanya mungkin anda tidak pernah gunakan. Sebagai contoh, FFmpeg menyokong audio JACK, walaupun perisian ini biasanya hanya digunakan dalam persekitaran pengeluaran.

Dengan menyusun FFmpeg, anda boleh mengalih keluar ciri yang anda tidak perlukan dan menjadikannya lebih ringan dan sesuai dengan keperluan anda. Prinsip yang sama berlaku untuk program besar lain.

Apabila sumber terhad, mengalih keluar fungsi boleh mengurangkan beban dengan berkesan. Tidak hairanlah bahawa ChromeOS berasaskan Linux Gentoo digunakan pada banyak komputer rendah. Gentoo adalah berdasarkan kod sumber dan menyusun banyak perisian, yang berpotensi menjadikan sistem ini lebih ringan untuk dijalankan.

Mengapa tidak menggunakan pakej binari dan sumber?

Walaupun anda mungkin tidak mahu menyusun pakej setiap hari, ini adalah pendekatan yang berguna. Namun, dengan format pakej universal baharu yang tersedia daripada tapak seperti Snap Store dan Flathub, anda berkemungkinan kecil tidak perlu membina daripada sumber untuk mendapatkan perisian terkini.

Atas ialah kandungan terperinci Pakej binari vs pakej kod sumber di bawah Linux: Mana yang patut anda pilih?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:lxlinux.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam