Ticari yazılımlar Linux'u desteklemek için hangi yükleyici türlerini kullanmalıdır?


9

Kaynak kodu açık veya ücretsiz değil, bu nedenle kurulumda derleme bir seçenek değil. Şimdiye kadar geliştiricileri gördüm:

  • bir tar.gz dosyası sağlayın ve uygun bir yerde sıkıştırmanın açılması kullanıcıya kalmıştır.
  • temel bir yükleyici çalıştırmak için bir install.sh komut dosyası içeren bir .tar.gz dosyası sağlayın, hatta kullanıcıdan yükleme seçenekleri isteyebilirsiniz.
  • RPM ve / veya deb dosyaları sağlayarak kullanıcının yükleme / yükseltme / kaldırma işlemlerini bildikleri yerel paket yönetimi araçlarını kullanmaya devam etmesini sağlar.

En çok sayıda Linux dağıtımını desteklemek, kullanıcıların hayatlarını mümkün olduğunca kolaylaştırmak ve aynı zamanda mümkün olduğunca az yapı / paketleme / kurulum altyapısı sağlamak istiyoruz.

Yazılımımı nasıl paketleyeceğime dair öneriler arıyorum.

Yanıtlar:


19

Bakmak için iki yol görüyorum.

Birincisi, en popüler Linux'ları hedeflemek, her biri için yerel paketler sağlamak, paketleri popülerlik sırasına göre sunmaktır. Birkaç yıl önce, bu, önce Red Hat tipi Linux'lar için RPM sağlamak, daha sonra zamanın daha az popüler RPM tabanlı Linux için kaynak RPM'yi yeniden oluşturmasına izin vermekti. Bu nedenle, diyelim ki, Mandriva RPM genellikle Red Hat veya SuSE RPM'den biraz daha yaşlıdır. Bununla birlikte, Ubuntu son birkaç yılda çok popüler olduğundan, .deb ile başlamak ve daha sonra RPM eklemek isteyebilirsiniz.

Diğeri, tüm Linux'ları bir kerede hedeflemeye çalışmaktır , bu da ikili tarball sağlayanlardır. Bu seçeneği gerçekten bir sysadmin ve son kullanıcı olarak beğenmedim. Bu tür tarball'lar, dosyaları açtığınız tüm sisteme dağıtır ve daha sonra kaldırma, paket doğrulama, akıllı yükseltmeler vb.

Karma bir yaklaşımı deneyebilirsiniz: en popüler Linuxlar için yerel paketler, ayrıca herhangi bir nedenle paket yöneticilerini sevmeyen tuhaf Linux'lar ve eski okul sistem yöneticileri için ikili tarball'lar.


Bu neredeyse tam olarak benim aldığım yaklaşım - Redhat / Fedora / CentOS için RPM ile başladı, şimdi Ubuntu / Debian .deb dosyaları sağlıyor, ancak tar.gz yapmanın hala yararlı ve gerekli olup olmayacağına henüz karar vermemişti. Daha az popüler dağıtımı olan kullanıcıların bir seçeneğe sahip olmaktan ziyade en azından yazılımı kendi başlarına çalıştırmasına izin vermek iyi görünüyor. Teşekkürler.
Mike Gray

2
Taşınabilir bir ikili tarball yapmak hayal ettiğinizden çok daha fazla iş olabilir. Potansiyel bir tuzak, g ++ ABI'nin yıllar boyunca birkaç kez değiştiği, bu nedenle yeterince geniş uyumluluk elde etmek için platform sürümlerini kullanmak yerine kullandığınız herhangi bir C ++ kütüphanesinin ikili sürümlerini göndermeniz gerekebilir. Bu, tek bir ikili RPM'nin her yere yüklenmemesinin ve çalışmamasının bir nedenidir. Ancak RPM ile bu gerçeğin kültürel bir kabulü var gibi görünüyor, oysa tarballların - muhtemelen eski bir standart oldukları için - her yerde çalışması bekleniyor.
Warren Young

Karışım yaklaşımının en iyisi olduğunu gördüm: birçok insana ulaşabilirsin ve çaba o kadar da değil.
Hugo

Basit, ikili bir tarball yapmak hala iyidir. Özellikle bu tarball tüm oyun dosyalarını tek bir dizinde saklarsa. Bazı kullanıcıların yüklemeden paketini açmasına ve çalıştırmasına izin verir; ve aynı zamanda diğer dağıtımların (Gentoo, Arch, vb. gibi) hayatı kolaylaştıracaktır, çünkü bu tarball'ı ambalajından çıkarmaları / yeniden paketlemeleri daha kolay olacaktır.
Denilson Sá Maia

4

Ne yaparsanız yapın, hataları gidermek için hedef sistemde mümkün olduğunca fazla bilgi toplamanızı sağlayan bir "destek komut dosyası" eklediğinizden emin olun. Müşterinin gerçeğe karşı söylediği şeylerle hata ayıklama konusunda genellikle çok farklı olduğunu garanti ederim.


0

Benim tercihim her zaman bir paket için (rpm | deb vb.). Yazılımın doğasına bağlı olarak, belirli dağıtımlar için paketleri hedeflemeye değer olabilir (rhel / centos vb.), Ancak muhtemelen asla herkes için yeterli paketi alamazsınız.

Yükleme komut dosyaları, komut dosyasına bağlı olarak tamam olabilir. Benim için, paketlenmemiş yazılımla ilgili en önemli şey, onu seçtiğim bir yere kurmanın kolay olmasıdır.


0

Oyunlar, bir oyunu temiz bir önek içine yükleyen ve simgeler gibi şeyleri işleyen bir yükleyici (eski adıyla Loki Installer, günümüzde MojoSetup) kullanma eğilimindedir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.