Bagaimana sebenarnya paket diinstal melalui apt-get install?


29

Saat menggunakan apt-get installmetode untuk menginstal paket ke ubuntu, apakah ada perbedaan mendasar antara mendapatkan kode sumber untuk paket itu dan membangunnya dari awal? Apakah apt-get installfungsi hanya mengunduh sumber dan membangunnya di mesin Anda ke direktori yang ditentukan atau ada lebih banyak yang terjadi di belakang layar?

Akhirnya (mungkin ini tidak memiliki jawaban) adalah satu metode yang lebih baik daripada yang lain? Apa yang saya memancing di sini adalah apakah membangunnya sendiri dari kode sumber memiliki kelebihan atau lebih baik membiarkannya apt-getmelakukan hal itu?

Jawaban:


25

Keuntungan dari sistem manajemen paket seperti apt, yum, pacman, emerge, dll meliputi:

  • Mudah untuk menanyakan versi paket apa yang diinstal atau tersedia.
  • Sangat mudah untuk menghapus paket sepenuhnya, memastikan semua file-nya hilang.
  • Sangat mudah untuk memverifikasi integritas file paket, sehingga Anda dapat melihat apakah sudah rusak atau dirusak.
  • Sangat mudah untuk meningkatkan paket dengan menginstal versi baru dan menghapus semua file versi lama. Ini akan memastikan untuk tidak meninggalkan file yang tersisa dari paket lama untuk membingungkan atau merusak sesuatu.
  • Sangat mudah untuk melihat paket apa yang membutuhkan atau menyediakan hal-hal yang disediakan atau dibutuhkan paket lain, sehingga Anda dapat memastikan item yang dibutuhkan agar paket berfungsi dengan benar.
  • Mudah untuk menginstal atau menghapus grup paket.
  • Dalam banyak kasus, mungkin untuk menurunkan versi ke versi paket sebelumnya, misalnya ketika versi baru memiliki bug.

Meskipun ini untuk Fedora, lihat juga:

https://fedoraproject.org/wiki/Package_management_system

Menginstal dari sumber mungkin memiliki kelebihan

  • Anda dapat menyesuaikan binari (mengaktifkan / menonaktifkan opsi)
  • Lebih banyak paket terbaru tersedia di repositori
  • Terkadang diperlukan untuk perbaikan bug

Tetapi kekurangannya adalah Anda harus memperbarui paket secara manual ketika versi baru tersedia dan Anda sering kehilangan dukungan.

IMO jika Anda ingin mengkompilasi semua atau sebagian besar paket Anda, saya akan menyarankan Gentoo.


1
Untuk memperjelas jawaban yang sangat bagus ini, jika Anda mengkompilasi sendiri, Update Manager tidak akan mengetahui dan karenanya tidak akan memperbarui aplikasi Anda ketika pembaruan dirilis. Juga, apt (manajer paket yang dipilih Ubuntu) tidak dapat dikompilasi; itu mengunduh binari kompilasi yang sudah jadi. Akhirnya, apt secara otomatis memelihara sistem menu Anda ketika Anda menginstal atau menghapus program. Ketika Anda mengkompilasi secara manual, Anda harus melakukannya sendiri.
Paddy Landau

1
Satu keuntungan lain yang biasanya kecil dari kompilasi paket sendiri adalah bahwa mereka akan dikompilasi dengan lebih banyak pengetahuan tentang perangkat keras Anda dan dapat berjalan lebih cepat. Jika Anda memilih rute ini, pertimbangkan untuk menggunakan checkinstall. asic-linux.com.mx/~izto/checkinstall Ini melacak apa yang telah diinstal dan membantu untuk menghapusnya nanti jika perlu.
Joe

Saya berdiri terkoreksi tentang bagian yang berjalan lebih cepat.
Joe

18

Apt-get adalah utilitas penanganan paket APT (CLI), back-end ke Synaptic dan Aptitude .

Metode apt-get untuk memicu dari sistem Anda memeriksa sumber atau repositori resmi yang tercantum dalam file

etc/apt/sources.list

Untuk misalnya. pada menjalankan (yang saya gunakan) , menjalankan sesuatu sepertisudo apt-get update && sudo apt-get upgrade

masukkan deskripsi gambar di sini

di mana Ign (Ignore) di depan Link menyatakan bahwa tidak ada perubahan yang dibuat sejak kunjungan terakhir ke repositori itu, dan Get menyatakan pengambilan file Sumber yang menyatakan perubahan paket yang baru tersedia di Repositori itu.

Tidak, utilitas apt-get tidak mengunduh File Sumber , melainkan mengunduh paket .deb yang dikemas dan dirilis oleh Pembuat Paket Ubuntu Resmi yang telah diuji Stabilitas dan Integrasi dengan sistem Anda.

Paket yang diunduh apt-get dapat ditemukan di

/var/cache/apt

di mana Anda dapat melihat semua paketUpdates sebagai .deb , dan Anda bahkan dapat membandingkan untuk memeriksa ulang versi mereka dengan mengunjungi paket Precise-update ini .

Sejauh Kompilasi dari paket sumber yang bersangkutan, itu tidak dianjurkan dan bahkan tidak direkomendasikan untuk Ubuntu 12,04 karena merupakan rilis LTS, Anda dapat melihat alasannya di sini

Apakah lebih baik mengkompilasi dari sumber atau menginstal dari paket .deb?

Apakah mengkompilasi program dari sumber mempercepat sistem operasi saya?

Keuntungan / Kerugian menginstal dari kode sumber

Untuk Referensi lebih lanjut: apt-get , sources.list .


sebenarnya 3 program, apt-get, aptitude, dan synaptic adalah back-end untukdpkg
Javier López

1
Aptitude adalah ujung depan untuk dpkg . Sedangkan dpkg dapat digunakan sebagai front-end ke dpkg-deb dan dpkg-query
atenz

2

Jika Anda membangun dari sumber, Anda memiliki lebih banyak opsi dalam apa yang disertakan. Menginstal dari apt-gethanya menginstal paket pra-dibangun.

Adapun yang lebih baik, itu tergantung pada apa yang Anda butuhkan. Saya tidak pernah perlu mengkompilasi dari sumber tetapi saya tidak melakukan sesuatu yang sangat luas pada laptop ubuntu saya.


Jadi apt-get tidak membangun apa pun - hanya mengunduh biner pada dasarnya?
ahli matematika1975

3
Persis. Ini mengunduh biner pra-bangun untuk arsitektur Anda (amd64, i386, armel, dll).
tgm4883

2

Saya pikir Anda dapat menggunakan apt-get untuk menginstal sumber paket.

  1. Anda perlu mengaktifkan repositori kode sumber

    Buka file /etc/apt/sources.list, Anda akan melihat komentar baris (dimulai dengan #) yang memiliki "source".

    Hapus komentar mereka

  2. Instal dependensi program yang Anda inginkan:

    sudo apt-get build-dep "program"

  3. Unduh dan kompilasi program Anda:

    sudo apt-get -b source "program"

Setelah itu Anda mendapatkan paket deb di direktori home Anda.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.