it-swarm-id.com

Apakah ada cara sederhana untuk menginstal tarbal?

Sebagian besar perangkat lunak Linux dikemas dalam tarbal. Semuanya membutuhkan beberapa perintah untuk mengkompilasi dan menginstalnya.

Pertanyaanku adalah; kami memiliki gdebi untuk paket debian mandiri, jadi mengapa tidak aplikasi untuk menginstal tarbal dengan cara yang sama? Mengapa proses yang tampaknya sederhana tidak otomatis? Mengapa kita harus terus mengintimidasi dan mengusir pengguna baru dengan ide-ide kompilasi perangkat lunak?

6
Dante Ashton

Proses-proses itu otomatis. Anda mendapatkannya dalam paket .deb atau .rpm. Satu-satunya perbedaan (pada level yang Anda pikirkan) antara tarball dan .deb adalah kompilasi. Tarball umumnya berisi kode sumber dan membuat file, bukan binari yang dikompilasi sebelumnya (meskipun mereka terkadang juga mengandung kode itu). .deb telah dikompilasi sebelumnya di beberapa arsitektur.

Inilah analogi untuk Anda:

deb. adalah truk yang mengangkut seluruh mobil.

Tarball adalah truk yang membawa sekotak suku cadang mobil dan manual yang memberi tahu Anda cara memasang suku cadang untuk mendapatkan mobil.

Jadi, ketika Anda menginstal sesuatu dari .deb (atau .rpm pada distro "lain") Anda menginstal hal yang sama dengan yang Anda dapatkan di tarball itu, hanya dengan pekerjaan yang sudah dilakukan untuk Anda.

Meskipun saya tidak setuju dengan txwikinger tentang perkembangan/regresi. Tidak ada yang salah sama sekali dengan tarbal dan saya sering menggunakannya untuk membungkus kode atau tangkapan layar, mencatat file, atau apa yang harus Anda kirim ke orang karena berbagai alasan. Saya juga mengunduh tarbal sumber untuk membaca kode sumber untuk suatu program sehingga saya dapat melihat apa yang terjadi jika saya mengalami masalah.

12
DreadPirateJeff

Alih-alih menghabiskan waktu membuat instalasi tarbal lebih mudah, akan lebih bermanfaat secara keseluruhan untuk menghabiskannya mengemas perangkat lunak untuk Debian/Ubuntu. Ini tidak hanya akan meningkatkan penawaran distribusi berbasis Debian seperti Ubuntu, ini juga akan menginstal dependensi dengan benar

5
Adam Collard

Checkinstall dapat menghasilkan deb dari sumber. (Ini juga dapat menghasilkan paket RPM dan slackeware)

Anda menjalankan ./configure lalu

checkinstall -D 

untuk membuat paket debian.

Saya pikir alat ini terutama dimaksudkan untuk memungkinkan Anda meningkatkan dan menghapus perangkat lunak pada mesin Anda sendiri dan tidak untuk membuat distribusi untuk orang lain - tetapi jika Anda tidak memiliki ketergantungan yang kompleks, itu harus melakukan apa yang Anda inginkan.

3
Robert Christie

tarball biasanya sangat bisa dikustomisasi. meskipun dengan 90% dari mereka Anda hanya pergi ./configure && make install, beberapa yang lain memerlukan parameter khusus atau dalam kasus terburuk mereka menggunakan langkah-langkah berbeda untuk membangun aplikasi.

imho sebagai pengguna normal Anda tidak harus berurusan dengan tarbal. Anda mungkin lebih baik memeriksa apakah ada dalam repositori seseorang terlebih dahulu.

masalah dengan tarball (sebagai metode instal untuk pengguna akhir) adalah: - jika terjadi kesalahan Anda dengan cepat harus sangat ahli dalam memperbaikinya - tidak selalu mematuhi struktur folder disto Anda - tidak selalu mungkin dengan mudah uninstall lagi perangkat lunak.

untuk pertanyaan kedua Anda: ya, proses ini diotomatiskan dengan paket sumber debian atau paket sumber rpm. tapi itu tidak bermasalah dan saya pikir mereka hanya bisa dibuka di gdebi. saya tidak yakin Anda tahu, tetapi tarball adalah cara termudah pengembang dapat mengeluarkan kode mereka ke dunia. tidak peduli kekacauan apa yang mereka miliki dalam proyek mereka, cukup Zip up sumbernya dan unggah --- itu satu-satunya syarat yang saya tahu untuk tarball: harus mengandung sumber beberapa aplikasi dan akhirnya menyediakan skrip pembuatan.

jadi meskipun itu tidak akan bekerja untuk menggunakan tarbal itu secara langsung, saya pikir Anda menyentuh masalah yang sangat penting di sini: kemasan linux berantakan. itu banyak pekerjaan bahkan untuk satu distro dan praktis tidak mungkin untuk proyek kecil untuk memelihara paket untuk berbagai distro.

ada (dan masih) sekelompok proyek yang mencoba untuk menyatukan kemasan di seluruh distro, tetapi afaik ini tidak pernah benar-benar pergi ke mana pun. setidaknya tidak ada yang biasa seperti paket msi untuk windows atau dmg di mac.

saya tahu jawaban ini pasti membuat frustrasi, tetapi jika saya belum melewatkan revolusi baru-baru ini dari yang kita terjebak untuk saat ini.

3
hansi

Anda dapat menulis skrip bash kecil jika Anda sering melakukan ini ...

#!/bin/bash
FILE=$1
DIR="${FILE%.tar.gz}"
tar -xzf $1
cd $DIR
./configure
make
Sudo make install

Sebut saja tarinstall (atau sesuatu), letakkan di jalur Anda dan kemudian lakukan:

tarinstall thisnewpackage.tar.gz

Meskipun saya setuju bahwa jauh lebih baik menggunakan sistem pengemasan seperti .deb atau .rpms.

2
x3ja

Aplikasi yang berbeda ditulis oleh pengembang yang berbeda dengan standar yang berbeda. Itu akan terbukti menjadi tugas yang sangat sulit untuk memiliki satu aplikasi untuk menginstal semua tarbal. Alih-alih, kami memiliki utang yang didahului. Tarball juga menyediakan masalah ketergantungan yang telah diperbaiki oleh debian dan turunannya dengan apt dan aptitude yang hampir tidak mungkin dicapai hanya dengan tarball.

1
Nigel

Sebagai pengguna normal, Anda mungkin tidak ingin menginstal tarbal. Tim Debian dan Ubuntu menghabiskan banyak waktu untuk menyesuaikan dan memverifikasi paket-paket upstream sebelum dimasukkan ke dalam repositori. Membuat paket adalah kekacauan besar dari dependensi dan distribusi skrip instalasi khusus. Tidak ada cara sederhana untuk mengotomatiskan proses.

Namun jika Anda seorang programmer atau Anda mencoba berkontribusi pada proyek upstream, Anda harus menginstal tarbal resmi pada akhirnya. Meskipun tidak otomatis, ada beberapa alat yang membantu membuat proses lebih mudah.

Jika Anda hanya ingin menambal beberapa bug dalam program yang Anda instal, Anda bisa mendapatkan kode sumber dengan apt-get sourcenama paket dan retas. Jika Anda ingin mengirim patch itu ke hulu, tetapi lebih baik jika Anda mulai dengan tarball hulu.

Sebagian besar proyek di luar sana menggunakan autotool yang mengotomatiskan cukup banyak keputusan waktu kompilasi. Anda biasanya dapat mengetahui apakah suatu proyek menggunakan autotool karena ada skrip konfigurasi dalam folder tersebut. Jika ada, Anda dapat membangun dan menginstal paket menggunakan satu baris ./configure && make && make install. Kecuali jika Anda telah membangun paket sebelumnya, mungkin akan gagal karena Anda kehilangan beberapa dependensi waktu kompilasi.

Jika paket yang Anda coba instal sudah ada di repositori Ubuntu, Anda bisa mendapatkan APT untuk menginstal secara otomatis semua perpustakaan yang Anda perlukan untuk mengkompilasi tarball dengan apt-get build-depnama paket . Jika tidak ada dependensi baru, biasanya ini yang perlu Anda lakukan sebelum dapat mengompilasi program. Jika tidak ada di repositori Ubuntu Anda sendiri, periksa dokumentasi proyek untuk mencari tahu apa yang dibutuhkan.

Satu masalah dengan prosedur ./configure && make && make install adalah bahwa biasanya tidak ada make uninstall. Ada sebuah program bernama checkinstall yang akan menjalankan make install untuk Anda dan daftarkan paketnya di APT sehingga Anda dapat menghapusnya nanti. checkinstall tidak selalu berfungsi, dan tergantung pada seberapa penting paket yang Anda instal untuk sistem, itu bisa sangat berbahaya.

1
wm_eddie

Paket .deb adalah tarball dengan informasi yang diperlukan untuk melakukan manajemen paket yang tepat ditambahkan padanya.

Jika Anda baru saja menginstal tarball, bagaimana Anda memastikan bahwa semua dependensi terpenuhi? Semua perpustakaan yang diperlukan sudah diinstal?

Bagaimana Anda ingin menghapus paket yang hanya diinstal oleh tarball?

Anda kehilangan semua perlindungan yang diberikan manajemen paket berbasis debian dan yang secara khusus membuatnya sangat mudah untuk menginstal perangkat lunak oleh pengguna baru. Untuk membuatnya lebih mudah bagi mereka untuk menginstal tarbal karena mereka akan menjadi langkah mundur, bukan kemajuan.

Selain ini, bagaimana bisa

./configure && make && Sudo make install

selanjutnya disederhanakan? (Jika Anda menganggap pengguna yang harus mampu menangani masalah yang diangkat di atas)

0
txwikinger

Seperti pada posting di atas checkinstall akan membantu Anda menginstal dan menghapus instalan aplikasi sumber dengan cara yang efisien. Karena ia membuat paket asli (rpm untuk rasa redhat dan deb untuk rasa debian termasuk ubuntu), sangat mudah untuk mengelola paket ini dengan pengelola paket asli seperti pusat perangkat lunak. Lihat artikel ini untuk info lebih lanjut: findasolution.in manajemen paket checkinstall dipermudah di linux . Ini awalnya kembali untuk Centos tetapi juga akan berfungsi di ubuntu.

0
aneeshep