Jenis penginstal apa yang harus digunakan perangkat lunak komersial untuk mendukung Linux?

9

Kode sumber tidak terbuka atau gratis, jadi kompilasi saat instalasi bukan merupakan pilihan. Sejauh ini saya telah melihat pengembang yang:

  • menyediakan file tar.gz dan terserah pengguna untuk membuka kompresi di lokasi yang sesuai.
  • menyediakan skrip install.sh untuk menjalankan installer dasar .tar.gz, bahkan mungkin mendorong pengguna untuk opsi instal.
  • menyediakan RPM dan / atau file deb, yang memungkinkan pengguna untuk terus menggunakan alat manajemen paket asli yang mereka kenal untuk menginstal / meningkatkan / menghapus instalan.

Ingin mendukung distribusi Linux dengan jumlah terbanyak, membuat kehidupan pengguna semudah mungkin, dan juga mempertahankan infrastruktur pembangun / pengemasan / pemasang sesedikit mungkin.

Mencari rekomendasi tentang cara mengemas perangkat lunak saya.

Mike Gray
sumber

Jawaban:

19

Saya melihat dua cara untuk melihatnya.

Salah satunya adalah menargetkan Linux yang paling populer, menyediakan paket asli untuk masing-masing, memberikan paket dalam urutan popularitas. Beberapa tahun yang lalu, itu berarti menyediakan RPM untuk Linux tipe Red Hat terlebih dahulu, kemudian karena waktu mengizinkan pembangunan kembali sumber RPM untuk setiap Linux berbasis RPM yang kurang populer. Inilah sebabnya, katakanlah, RPM Mandriva sering sedikit lebih tua dari Red Hat atau SuSE RPM. Namun, dengan Ubuntu yang begitu populer beberapa tahun terakhir ini, Anda mungkin ingin memulai dengan .deb dan menambahkan RPM nanti.

Yang lain adalah mencoba menargetkan semua Linux sekaligus, yang merupakan apa yang berusaha menyediakan tarbal biner. Saya sangat tidak suka opsi ini, sebagai sysadmin dan pengguna akhir. Tarbal seperti itu menyebarkan file ke seluruh sistem tempat Anda membongkar file-file itu, dan tidak ada pilihan lain untuk basi seperti penghapusan, verifikasi paket, peningkatan cerdas, dll.

Anda dapat mencoba pendekatan campuran: paket asli untuk Linux paling populer, ditambah tarbal biner untuk Linux aneh dan sysadmin sekolah lama yang tidak suka manajer paket karena alasan apa pun.

Warren Young
sumber
Ini hampir persis pendekatan yang saya ambil sejauh ini - dimulai dengan RPM untuk Redhat / Fedora / CentOS, sekarang menyediakan file .deb Ubuntu / Debian, tetapi belum memutuskan apakah membuat tar.gz masih akan berguna dan dibutuhkan. Kedengarannya seperti itu akan baik untuk memungkinkan pengguna dengan distro yang kurang populer untuk setidaknya membuat perangkat lunak bekerja sendiri daripada bahkan tidak memiliki opsi. Terima kasih.
Mike Gray
2
Membuat tarball biner portabel mungkin lebih banyak pekerjaan daripada yang Anda bayangkan. Hanya satu jebakan potensial adalah bahwa g ++ ABI telah berubah beberapa kali selama bertahun-tahun, jadi Anda mungkin harus mengirimkan versi biner dari pustaka C ++ yang Anda gunakan daripada menggunakan versi platform untuk mencapai kompatibilitas yang cukup luas. Ini adalah salah satu alasan RPM biner tunggal tidak menginstal dan berjalan di mana-mana. Namun, sepertinya ada penerimaan budaya terhadap fakta ini dengan RPM, sedangkan tarball - mungkin karena mereka adalah standar kuno - diharapkan bekerja di mana-mana.
Warren Young
Saya telah melihat pendekatan campuran menjadi yang terbaik: bahwa Anda dapat menjangkau banyak orang dan usahanya tidak sebanyak itu.
Hugo
Membuat tarball biner yang sederhana, masih bagus. Khususnya jika tarball itu menyimpan semua file game di satu direktori mandiri. Ini akan memungkinkan beberapa pengguna untuk membongkar dan menjalankannya tanpa menginstal; dan itu juga akan membuat hidup lebih mudah untuk distro lain (seperti Gentoo, Arch, dan sebagainya), karena akan lebih mudah bagi mereka untuk membongkar / mengemas ulang tarball itu.
Denilson Sá Maia
4

Apa pun yang Anda lakukan, pastikan Anda memasukkan "skrip dukungan" yang memungkinkan Anda mengumpulkan informasi sebanyak mungkin pada sistem target untuk kesalahan pemecahan masalah. Saya jamin Anda akan mengalami masalah dan men-debug hal-hal yang pelanggan katakan versus kenyataan seringkali sangat berbeda.

vwduder
sumber
0

Preferensi saya selalu untuk paket (rpm | deb dll). Bergantung pada sifat perangkat lunaknya, mungkin layak untuk menargetkan paket untuk distro tertentu (rhel / centos dll.), Tetapi Anda mungkin tidak akan pernah dapat menggulung paket yang cukup untuk semua orang.

Instal skrip bisa ok, tergantung skripnya. Bagi saya, hal terpenting dengan perangkat lunak yang tidak dikemas adalah mudah menginstalnya di lokasi yang saya pilih.

theecereceive
sumber
0

Game cenderung menggunakan installer (sebelumnya Loki Installer, sekarang MojoSetup), yang memasang game dengan rapi ke dalam awalan dan menangani hal-hal seperti ikon.

directhex
sumber