Haruskah saya menginstal program dari source tarball (`.tar.gz`), dari Pusat Perangkat Lunak Ubuntu, atau dari tempat lain?

29

Ada beberapa cara untuk menginstal aplikasi di Ubuntu:

  • Anda dapat mengunduh tarball sumber (umumnya file .tar.gzatau .tar.bz2) dan menginstalnya secara manual. (Lihat Bagaimana cara saya menginstal file .tar.gz (atau .tar.bz2)? )

  • Anda dapat mengunduh .debfile dan menginstalnya secara manual, menggunakan dpkgatau Pusat Perangkat Lunak.

  • Anda dapat mencari aplikasi di Pusat Perangkat Lunak Ubuntu dan menginstalnya di sana, atau menggunakannya aptdengan repositori resmi Ubuntu.

  • Anda dapat menemukan PPA atau repo pihak ketiga, dan menginstalnya dari sana.

Apa pro dan kontra dari setiap metode? Silakan bahas implikasi keamanan, frekuensi pembaruan dan keandalan program dari masing-masing metode dalam jawaban Anda.

Flimm
sumber
1
itu banyak pertanyaan dalam satu. Mungkin sedikit lebih baik untuk mengajukan pertanyaan yang lebih fokus. Standarnya adalah menggunakan Pusat Perangkat Lunak Ubuntu. Perbandingan / kontras yang baik adalah antara bola tar (.tar.gz) dan ekosistem apt-get + .deb (termasuk baris perintah dan Pusat Perangkat Lunak Ubuntu).
Warren P
Jika ditanyakan sebagai empat pertanyaan terpisah, jawabannya akan / harus sama untuk keempat pertanyaan: lebih suka menginstal / memperbarui menggunakan manajer pkg dari repo (utama atau pihak ke-3). Jika itu bukan opsi, maka Anda dapat mulai masuk ke pro & kontra umum tentang hal ini - tetapi pada saat itu mungkin akan memunculkan aplikasi apa yang sedang digunakan & apa yang secara spesifik ingin Anda lakukan dengannya. (Misalnya, saya menginstal standar yang disediakan "java" dari repo publik, tetapi sebagai pengembang saya juga menginstal 5 versi berbeda di / opt / java via tar.gz's).
michael

Jawaban:

33
  • Keandalan:
    • Saat memasang dari tarball, perangkat lunak dapat mencoba untuk menimpa perangkat lunak lain. Dibutuhkan dependensi build, dan prosesnya memiliki tingkat kegagalan yang tinggi. Jika Anda menginstal perangkat lunak yang bergantung pada repositori, ini tidak akan memenuhi dependensi itu karena tidak terdaftar dpkg, kecuali jika Anda menggunakannya checkinstalluntuk sementara mengonversinya ke paket debian. Dengan ini, Anda melakukan pemecahandpkg risiko . Meskipun kodenya open-source, kecuali Anda memastikannya belum diubah, Anda tetap harus mengunduhnya dari situs tepercaya. Anda dapat menginstal beberapa versi perangkat lunak, asalkan menggunakan direktori yang berbeda. Anda dapat menimpa ini di makefile.
    • Menggunakan paket debian akan memastikan file tidak menimpa file dari program lain, namun, jika menggunakan sudo dpkg -i file.deb, dependensi harus diinstal terlebih dahulu. Ketika diinstal dengan cara ini, Anda tidak akan mendapatkan pembaruan kecuali paket tersebut juga ada di dalam repositori, tetapi paket ini akan memenuhi dependensi yang memerlukan perangkat lunak ini. Ini juga kemungkinan besar akan memberikan paket menu ini entri menu atau setidaknya mendaftar manual. Paket Debian biasanya diuji dengan Lintian yang memastikan paket memenuhi atau melampaui serangkaian standar yang bisa sangat ketat, sejauh apakah file tertentu memiliki kode yang dapat dieksekusi atau tidak. Beberapa versi dari paket yang sama tidak dapat diinstal. Paket yang dibuat dengan buruk dapat gagal dipasang, gagal dihapus, atau bahkan rusak DPKG, mengarah ke perbaikan yang sulit, pencarian cadangan yang panik, atau bahkan instal ulang jika masalahnya serius.
    • Menggunakan aptadalah pilihan terbaik bila memungkinkan. Dependensi akan secara otomatis diambil dan diinstal, dan paket dibangun menggunakan konfigurasi build server yang andal di launchpad, meminimalkan kegagalan. Paket dapat dicari melalui aptitudeatau alat lainnya, dan pembaruan akan dengan mudah difasilitasi melalui manajer pembaruan. Karena dependensi juga berasal apt, paket lebih cenderung berinteraksi dengan dependensi dengan benar. Paket diuji melalui Lintian seperti dengan debs, tetapi pengujian, dikombinasikan dengan server yang sangat stabil, membuat paket lebih stabil. Karena paket-paket melewati server build Ubuntu, kemungkinan besar mereka akan di-tweak untuk berintegrasi dengan OS lainnya. Beberapa versi dari paket yang sama tidak bisadipasang. Karena server build Ubuntu digunakan untuk PPA, ada sedikit perubahan yang akan Anda hancurkan aptkarena auto-linitianing.
  • Memperbarui:
    • Dengan tarball, Anda tidak akan mendapatkan pembaruan, kecuali jika program memiliki pemeriksaan sendiri untuknya. Dengan itu, Anda harus menginstal pembaruan seperti itu secara manual, dan itu tidak akan dikonsolidasikan dalam satu tempat. Anda mungkin bisa mendapatkan kode sumber setiap malam atau bahkan saat ini di tarball untuk dikompilasi dan diinstal. Jika Anda membutuhkan kode yang berdarah, itu mungkin berguna.
    • Dengan debian, paket hanya akan diperbarui jika Anda memiliki repositori untuknya. Pengembang kemungkinan besar akan membuat paket debian sedikit di belakang sumber tepi pendarahan, tetapi beta sering ditemukan dengan debet online.
    • Dengan apt, paket akan diperbarui dengan sangat mudah. Pembaruan dikonsolidasikan di satu tempat, manajer pembaruan, dan dilakukan secara otomatis atau semi-otomatis. Kecuali jika Anda menggunakan alfa atau beta dari Ubuntu, Anda akan menggunakan versi yang telah teruji dengan baik, bahkan jika itu adalah satu atau dua versi di belakang sumber hulu saat ini. Pembaruan keamanan akan didorong segera setelah diuji ringan untuk memastikan mereka tidak membuat situasi lebih buruk. Ini berarti bahwa keamanan Anda akan dilindungi dengan pembaruan tepat waktu, tetapi pembaruan ini akan diperiksa untuk menghindari kehilangan data.
  • Keamanan:
    • Tarbal tidak ditandatangani secara digital dengan cara apa pun. Mereka mungkin hancur atau dimodifikasi oleh pihak ketiga yang berbahaya. Bahkan jika Anda melakukan hashsum (Hindari MD5), Anda harus tetap mempercayai pemilik situs dan pembuat paket, karena mereka menyediakan jumlah SHA- atau MD5.
    • Paket Debian tidak ditandatangani, namun dpkgtidak akan mengizinkan paket debian untuk menimpa file orang lain, sehingga deb jahat dapat tidak menghancurkan initatau mengacaukan dengan bashmenimpanya. Anda harus selalu mempercayai situs web dan pembuat paket.
    • aptmenggunakan kunci bertanda tangan untuk repositori, sehingga mereka tidak dapat dihancurkan tanpa bendera merah muncul. Unggahan PPA ditandatangani secara digital sehingga bukan pemilik PPA tidak dapat memasang paket yang rusak atau tidak aman. Tidak ada timpa file untuk paket lain juga diberlakukan. Tentu saja, Anda harus mempercayai PPA atau pemilik repositori, karena paket yang tidak diperiksa dengan kode jahat akan dijalankan setelah dijalankan.
ζ--
sumber
1
Saya sarankan Anda menambahkan Integrasi. Ubuntu dan manajer paket Debian hulu memastikan bahwa paket berpartisipasi dalam fitur seluruh sistem, seperti sistem alternatif (Saya memiliki program X yang dapat membuka halaman web, yang mana yang saya inginkan sebagai default) dan seterusnya. Pemasangan tarball manual biasanya tidak berfungsi seperti itu.
Warren P
@ WarrenP Saya memang menambahkan itu, tetapi mungkin tidak jelas. Terima kasih!
ζ--
"Jika Anda menginstal perangkat lunak yang menjadi sandaran dalam paket di repositori, ini tidak akan memuaskan dependensi itu karena tidak terdaftar dengan dpkg ." dalam poin pertama yang dimaksudkan untuk mencakup Integrasi ?
1
@ vasa1 Ini tentang tarball, karena Apt dan dpkg akan memeriksa database mereka, bukan sistem file, dalam menentukan apakah suatu paket diinstal. Anda selalu dapat menggunakannya checkinstalluntuk mengatasi hal itu.
ζ--
19

Jawaban singkatnya adalah menginstal dari Pusat Perangkat Lunak Ubuntu umumnya lebih baik daripada semua metode lain . Namun, ada saatnya Anda mungkin ingin menginstal program dari tempat lain.


Menginstal dari sumber:

  • Implikasi keamanan : Anda perlu mempercayai pembuat perangkat lunak dan situs web yang menjadi tuan rumah unduhan. Anda juga harus memeriksa apakah unduhan dilakukan melalui HTTPS, jika tidak, pihak ketiga dapat memodifikasi unduhan tersebut.

  • Frekuensi pembaruan : Anda akan selalu mendapatkan yang terbaru dan terbaik! Pembaruan akan sesering yang dipilih penulis asli. Namun, Anda perlu memeriksa sendiri pembaruan secara manual.

  • Keandalan : Ini mungkin tidak dapat diandalkan seperti metode lain, karena perangkat lunak akan melalui pengujian kurang, dan bahkan mungkin belum diuji sama sekali untuk Ubuntu, hanya distro Linux lainnya.

  • Kemudahan instalasi dan penghapusan instalasi : Paling sulit dari semua opsi. Bahkan pengguna berpengalaman dapat menghindari opsi ini, karena mereka lebih suka menggunakan paket asli Debian, yang jauh lebih mudah dikelola.

Menginstal dari suatu .debpaket:

  • Implikasi keamanan : Sama seperti menginstal dari sumber.

  • Frekuensi pembaruan : Sama seperti menginstal dari sumber.

  • Keandalan : Sedikit lebih baik daripada menginstal dari sumber. Jika penulis telah menyediakan .debpaket, itu menyiratkan bahwa mereka mungkin telah melakukan beberapa pengujian minimal pada Debian atau Ubuntu.

  • Kemudahan instalasi dan penghapusan : Sangat mudah. Cukup klik dua kali dan klik "instal"! Demikian pula mudahnya untuk instalasi.

Menginstal dari Pusat Perangkat Lunak Ubuntu:

  • Implikasi keamanan : Anda perlu mempercayai pembuat perangkat lunak, dan pengelola repo Ubuntu. Secara keseluruhan, ini adalah keamanan yang lebih baik daripada menginstal langsung dari sumber, karena program ini telah ditinjau sampai batas tertentu oleh Debian dan / atau pengelola Ubuntu. Debian dan / atau pengelola Ubuntu dapat menambal program untuk memperbaiki kelemahan keamanan juga, jika program tersebut open source.

  • Frekuensi pembaruan : Debian dan / atau pengelola Ubuntu hanya memilih beberapa rilis perangkat lunak. (Misalnya, mereka hanya dapat memilih pembaruan stabil). Ada penundaan antara rilis program, dan dimasukkannya ke dalam repo Debian dan / atau Ubuntu. Jika Anda menginginkan yang terbaru dan terhebat, ini bukan pilihan terbaik. Jika Anda ingin pembaruan stabil yang telah ditinjau, ini adalah opsi yang baik. Pembaruan diusulkan secara otomatis melalui manajer pembaruan dan apt-get.

  • Keandalan : Jauh lebih baik daripada menginstal dari sumber, karena program telah ditinjau dan disesuaikan untuk Ubuntu.

  • Kemudahan instalasi dan penghapusan instalasi : Sangat, sangat mudah.

Menginstal dari PPA atau repo pihak ketiga:

  • Implikasi keamanan : Anda perlu mempercayai penulis perangkat lunak, dan siapa pun yang memelihara PPA. Benar-benar semua orang dapat meng-host PPA, jadi jangan percaya pada PPA hanya karena ada di Launchpad. Pengguna bisa malas dan tidak meninjau perangkat lunak sama sekali.

  • Frekuensi pembaruan : Tergantung pada AKP. Memeriksa pembaruan itu mudah.

  • Keandalan : Sering kurang dapat diandalkan dibandingkan menginstal dari Pusat Perangkat Lunak Ubuntu. PPA ada untuk program yang belum memenuhi standar untuk Pusat Perangkat Lunak Ubuntu, sehingga secara praktis dijamin kurang dapat diandalkan.

  • Kemudahan pemasangan dan penghapusan instalasi : Tidak sulit untuk dipelajari, dan cocok dengan manajemen paket Ubuntu.

Flimm
sumber
1
Lagipula, USC hanyalah sebuah frontend apt-get. Jangan mengubahnya menjadi debat baris perintah GUI vs. Jika menurut Anda pilihan itu pantas didiskusikan, mulailah pertanyaan lain.
Flimm
2
@ Flimm: tidak cukup, USC juga dapat menginstal paket deb. Jadi lebih tepat untuk memanggil USC frontend untuk apt-get dan dpkg.
Lie Ryan
1
Saya tidak mengatakan "debat", saya mengatakan "pengguna datang ke sini untuk mendapatkan kejelasan, dan pertanyaan ini dan jawaban ini sepertinya tidak banyak memperjelas masalah".
Warren P
1
@ LieRyan: setuju.
Flimm
1
@ WarrenP: Saya tidak setuju untuk apa pengguna datang ke sini. Pengguna datang ke sini untuk memutuskan dari mana untuk mengunduh dan menginstal aplikasi. Jika itu tidak jelas dari pertanyaan, kita dapat mengeditnya. Saya pikir pertanyaannya jelas, jika Anda memiliki pertanyaan lain yang lebih bermanfaat bagi pengguna, buat posting pertanyaan baru.
Flimm