Quels types d'installateurs les logiciels commerciaux devraient-ils utiliser pour prendre en charge Linux?

9

Le code source n'est pas ouvert ou gratuit, donc la compilation à l'installation n'est pas une option. Jusqu'à présent, j'ai vu des développeurs qui:

  • fournir un fichier tar.gz et c'est à l'utilisateur de décompresser dans un emplacement approprié.
  • fournir un .tar.gz avec un script install.sh pour exécuter un programme d'installation de base, éventuellement même inviter l'utilisateur à choisir les options d'installation.
  • fournir des fichiers RPM et / ou deb, permettant à l'utilisateur de continuer à utiliser les outils de gestion de packages natifs qu'il connaît pour installer / mettre à niveau / désinstaller.

Souhaiterait prendre en charge le plus grand nombre de distributions Linux, rendre la vie des utilisateurs aussi simple que possible, tout en maintenant aussi peu d’infrastructure de construction / conditionnement / installateur que possible.

Vous cherchez des recommandations sur la façon de conditionner mon logiciel.

Mike Gray
la source

Réponses:

19

Je vois deux façons de voir les choses.

L'une consiste à cibler les Linux les plus populaires, en fournissant des packages natifs pour chacun, en fournissant des packages par ordre de popularité. Il y a quelques années, cela signifiait d'abord fournir des RPM pour les Linux de type Red Hat, puis comme le temps le permettait de reconstruire le RPM source pour chaque Linux basé sur RPM moins populaire. C'est pourquoi, disons, le RPM Mandriva est souvent un peu plus ancien que le RPM Red Hat ou SuSE. Avec Ubuntu étant si populaire ces dernières années, vous voudrez peut-être commencer par .deb et ajouter RPM plus tard.

L'autre est d'essayer de cibler tous les Linux à la fois, ce que tentent ceux qui fournissent des tarballs binaires. Je n'aime vraiment pas cette option, en tant qu'administrateur système et utilisateur final. Ces tarballs dispersent les fichiers sur tout le système sur lequel vous les décompressez, et il n'y a pas d'option plus tard pour des subtilités comme la désinstallation, la vérification des packages, les mises à niveau intelligentes, etc.

Vous pouvez essayer une approche mixte: des packages natifs pour les Linux les plus populaires, ainsi que des tarballs binaires pour les Linux oddball et les administrateurs système à l'ancienne qui n'aiment pas les gestionnaires de packages pour une raison quelconque.

Warren Young
la source
C'est presque exactement l'approche que j'ai adoptée jusqu'à présent - a commencé avec RPM pour Redhat / Fedora / CentOS, fournissant maintenant des fichiers Ubuntu / Debian .deb, mais n'avait pas encore décidé si la création d'un tar.gz serait toujours utile et nécessaire. On dirait que ce serait bien pour permettre aux utilisateurs avec des distributions moins populaires d'obtenir au moins le logiciel de fonctionner eux-mêmes plutôt que de ne pas avoir même une option. Merci.
Mike Gray
2
Faire un tarball binaire portable peut être beaucoup plus de travail que vous ne l'imaginez. Un seul piège potentiel est que g ++ ABI a changé plusieurs fois au fil des ans, vous devrez donc peut-être expédier des versions binaires de toutes les bibliothèques C ++ que vous utilisez plutôt que d'utiliser les versions de la plate-forme pour obtenir une compatibilité suffisamment large. C'est une des raisons pour lesquelles un seul RPM binaire ne s'installe et ne s'exécute pas partout. Cependant, il semble y avoir une acceptation culturelle de ce fait avec RPM, alors que les tarballs - probablement parce qu'ils sont une norme ancienne - devraient fonctionner partout.
Warren Young
J'ai vu que l'approche mixte était la meilleure: que vous pouvez atteindre beaucoup de gens et que l'effort n'est pas si important.
Hugo
Faire un tarball simple et binaire est toujours bon. Surtout si cette archive tar stocke tous les fichiers du jeu dans un répertoire autonome. Il permettra à certains utilisateurs de le décompresser et de l'exécuter sans installer; et cela facilitera également la vie des autres distributions (comme Gentoo, Arch, etc.), car il leur sera plus facile de déballer / reconditionner cette archive tar.
Denilson Sá Maia
4

Quoi que vous fassiez, assurez-vous d'inclure un "script de support" qui vous permet de collecter autant d'informations que possible sur le système cible pour résoudre les erreurs. Je vous garantis que vous rencontrerez des problèmes et que le débogage des choses que le client dit par rapport à la réalité est souvent très différent.

vwduder
la source
0

Ma préférence va toujours à un package (rpm | deb etc.). Selon la nature du logiciel, il peut être utile de cibler des packages pour des distributions spécifiques (rhel / centos, etc.), mais vous ne pourrez probablement jamais rouler suffisamment de packages pour tout le monde.

Les scripts d'installation peuvent être corrects, selon le script. Pour moi, la chose la plus importante avec un logiciel non packagé est qu'il est facile de l'installer à l'emplacement de mon choix.

l'autre reçoit
la source
0

Les jeux ont tendance à utiliser un programme d'installation (anciennement Loki Installer, de nos jours MojoSetup), qui installe un jeu proprement dans un préfixe et gère des choses comme des icônes.

directhex
la source