Apa perbedaan antara paket deb dan bola tar? Apa kelebihan / kekurangan masing-masing?

9

Saya tidak tahu tentang bola tar. Sebagian besar paket tersedia dalam bentuk tar ball tetapi paket Ubuntu adalah paket Debian.

Apa perbedaan antara paket deb dan bola tar?

Apa kelebihan / kekurangan masing-masing?

siraj
sumber

Jawaban:

7

Bola tar biasanya kode sumber yang harus Anda kompilasi. Debs adalah program yang sudah dikompilasi, sudah dibangun dan dikonfigurasikan untuk Ubuntu / Debian.

Saya sangat menyarankan menggunakan deb ketika tersedia, karena lebih mudah, dan mereka terintegrasi dengan manajer paket, sehingga Anda dapat dengan mudah menghapusnya.

Hutang juga akan menginstal semua dependensi yang diperlukan. Menginstal dari sumber dapat menyebabkan apa yang disebut "ketergantungan neraka". Sebagian besar program sumber terbuka bergantung pada beberapa program / perpustakaan lain untuk berfungsi. Ketika menginstal dari sumber, itu tidak akan menginstal ini, dan sebaliknya (semoga) mengeluh bahwa ketergantungan tidak terpenuhi. Anda kemudian mencoba menginstal dependensi itu dan kemudian meledak, membutuhkan dependensi lain, dll., Dll.

Menginstal dari sumber juga dapat meletakkan file Anda di tempat-tempat yang tidak terduga, karena distro-distro yang berbeda meletakkannya sedikit berbeda.

Ketika saya perlu menginstal suatu program, saya mencoba opsi saya dalam urutan ini:

  1. Lihat di Pusat Perangkat Lunak. Ini jelas yang paling mudah, meskipun Pusat Perangkat Lunak tidak termasuk semua dan tidak mutakhir dengan versi terbaru.

  2. Cobalah untuk menemukan repositori yang menyediakannya. Menambahkan repositori akan membuat program muncul di Pusat Perangkat Lunak, menerima peningkatan tepat waktu, dll.

  3. Cari paket deb.

  4. Instal dari sumber (tar ball).

reverendj1
sumber
6

bola tar hanyalah bentuk kompresi seperti zip. Meskipun format dan teknik kompresi berbeda, pada dasarnya wadah untuk sekelompok file dan folder.

Biasanya, kode sumber dan file yang dibutuhkan olehnya akan tersedia di internet oleh orang / kelompok yang menulis perangkat lunak dalam bentuk bola tar. Jadi Anda dapat mengunduhnya, membukanya, menyusun perangkat lunak dan menginstalnya.

Namun, apa yang dilakukan paket deb adalah membuat proses instalasi ini mudah bagi Anda dengan mempertahankan standar. Perangkat lunak yang tersedia di internet akan diambil oleh pengelola paket Debian, dibuat menjadi paket .deb yang sesuai dan dimasukkan ke dalam repositori Debian.

masukkan deskripsi gambar di sini

Anda dapat membacanya dari blog pengelola Paket Debian di sini: http://www.j4v4m4n.in/2012/05/01/debian-utsavam-at-mes-kuttippuram-kerala-2/

Adapun keuntungan dan kerugiannya, paket deb dikelola oleh manajer paket seperti apt dan aptitude. Jadi, setiap kali Anda menginstal perangkat lunak dengan itu, mereka akan secara otomatis mencari tahu apakah Anda memiliki dependensi yang diperlukan untuk menjalankan perangkat lunak itu pada sistem Anda dan akan menginstalnya untuk Anda.

Tetapi jika Anda menggunakan bola tar untuk menginstalnya, Anda harus mencari tahu apa yang tergantung pada perangkat lunak itu dan setiap kali Anda harus memeriksa secara manual apakah dependensi dari perangkat lunak yang Anda instal sudah diinstal sebelumnya.

Tetapi tepat melakukan semua ini untuk Anda.

Juga, menginstal dari sumber (menginstal dari bola tar) akan memiliki metode yang berbeda untuk perangkat lunak yang berbeda. Ada filosofi GNU tentang install-make-make install dan ada metode lain tergantung pada bagaimana perangkat lunak ditulis.

Namun, mengubahnya menjadi deb sepenuhnya menghapus semua perbedaan ini dan membuatnya lebih mudah bagi pengguna untuk menginstal dan menggunakan perangkat lunak.

Satu poin lagi. Kapan Anda perlu menginstal dari sumber? Itu dari bola tar? Pada dasarnya ada dua situasi.

  1. Jika tim pengemasan debian belum mengemas perangkat lunak.
  2. Jika Anda ingin berkontribusi pada proyek. Itu berarti Anda dapat membuat perubahan pada kode sumber, kompilasi dan uji perubahan.

Jika Anda ingin tahu lebih banyak tentang kemasan debian, Anda dapat membacanya dari sini: http://www.debian.org/doc/manuals/maint-guide/

Semoga ini membantu.

harisibrahimkv
sumber
1

Paket Debian (dan karenanya Ubuntu) adalah kumpulan binari dan instruksi terkait untuk instalasi mereka. Ini berarti bahwa paket itu sendiri tahu bagaimana dan di mana akan menginstal, dan itu juga tahu daftar paket yang bergantung padanya.

Tarbal sumber (file dengan ekstensi .tar.gzatau .tar.bz2- atau bahkan .tgz atau .tbz2 ) hanyalah kumpulan file dan direktori yang telah dipaket bersama dengan tarutilitas dan juga dikompresi dengan salah satu gzipatau bzip2. Untuk membangun kode sumber Anda harus:

  1. membongkar file dengan tar xvfz file.tar.gzatau tar xvfj file.tar.bz2(dalam direktori kosong)
  2. konfigurasikan paket dengan ./configure(paket menguji sistem untuk melihat apakah semuanya baik-baik saja sebelum memulai kompilasi)
  3. mulai kompilasi dengan make
  4. jika Anda mau, jalankan make installuntuk menginstal aplikasi ke lokasi "default" (biasanya di / usr / {s} bin atau / usr / local / {s} bin tetapi tergantung pada aplikasi dan distribusi)

Keuntungan utama dari paket Debian / Ubuntu sehubungan dengan tarbal sumber adalah bahwa paket itu "mandiri" dan binari mereka dilacak. Ini berarti bahwa proses pembongkaran transparan untuk pengguna yang hanya melihat (kira-kira) satu paket per aplikasi. Pengguna bahkan tidak perlu mengingat file apa yang telah diinstal oleh aplikasi tertentu dan di mana, sehingga instalasi / penghapusan aplikasi menjadi (sebagian besar) proses satu instruksi.

Keuntungan utama dari tarbal sumber sehubungan dengan paket biner adalah bahwa dalam kasus pertama kode sumber dikompilasi langsung pada mesin target dan kemudian dapat dioptimalkan sesuai. Selain itu, bahkan sistem paket terbaik dapat rusak dalam kasus-kasus tertentu (mis. Paket perangkat lunak terlalu baru atau terlalu lama) dan biasanya paket resmi dibersihkan oleh server ketika mereka menjadi terlalu tua. Dalam kasus ini seseorang harus mencari secara manual Internet untuk aplikasi yang diinginkan dan untuk perpustakaan tertentu pada versi tertentu untuk memenuhi semua dependensinya.

Avio
sumber
1
Poin kecil. Langkah "configure, make, make install" adalah untuk Perangkat Lunak yang menggunakan filosofi pembuatan automake GNU. Ada Software yang dapat dibangun dari sumber (dari bola tar) dengan berbagai cara. Jadi mungkin tidak benar mengatakan "Untuk membangun sumber, lakukan konfigurasi, buat, buat instal". Cara terbaik untuk menjelaskannya mungkin adalah, "Untuk menginstal dari sumber, baca file README atau INSTALL di dalam sumber dan ikuti langkah-langkah yang disebutkan di dalamnya. Lihat ini: sosaysharis.wordpress.com/2011/11/28/…
harisibrahimkv
Ya, saya baru saja berbicara tentang metode semacam ini karena diadopsi oleh sebagian besar tarbal sumber.
Avio
Tidak ada perdebatan di sana. :)
harisibrahimkv
1

Saya dapat melihat beberapa jawaban yang cukup bagus sudah diposting. Namun ada beberapa hal yang perlu dibenahi.

Bertentangan dengan apa yang dikenal sebagai "neraka ketergantungan" ketika datang untuk mengkompilasi dari sumber, Anda benar-benar dapat mengkonfigurasi Ubuntu sedemikian rupa sehingga secara otomatis menginstal dependensi tersebut ketika Anda mengkompilasi dari tarball / sumber apa pun.

Baca cara melakukannya di sini:

http://www.howtogeek.com/106526/how-to-resolve-dependencies-while-compiling-software-on-ubuntu/

Selain itu, jika Anda mengesampingkan masalah dependensi itu, hal baiknya tentang tarballs adalah Anda dapat mengonfigurasi banyak instalasi terkait hal-hal seperti tempat menginstal dll, sangat mudah jika menginstal dari sumber.

Juga, kata "Paket Debian" dapat membingungkan Anda dalam konteks ini. Ingat bahwa paket Debian datang dalam dua jenis seperti yang dikatakan di sini:

http://www.debian.org/doc/manuals/debian-faq/ch-pkg_basics.en.html

Tentu saja, jika Anda hanya berbicara tentang file deb, maka mereka umumnya adalah perangkat lunak yang dikompilasi seperti yang sudah disebutkan di atas.

Bharadwaj Srigiriraju
sumber