
Der Quellcode ist weder offen noch frei, daher ist Kompilierung bei der Installation keine Option. Bisher habe ich Entwickler gesehen, die:
- Stellen Sie eine TAR.GZ-Datei bereit und es liegt am Benutzer, diese an einem geeigneten Ort zu entpacken.
- Stellen Sie eine .tar.gz-Datei mit einem install.sh-Skript bereit, um ein grundlegendes Installationsprogramm auszuführen, und fragen Sie den Benutzer möglicherweise sogar nach Installationsoptionen.
- Stellen Sie RPM- und/oder Deb-Dateien bereit, sodass Benutzer zum Installieren/Aktualisieren/Deinstallieren weiterhin die ihnen vertrauten nativen Paketverwaltungstools verwenden können.
Ich möchte die größte Anzahl an Linux-Distributionen unterstützen, den Benutzern das Leben so einfach wie möglich machen und dabei dennoch so wenig Build-/Verpackungs-/Installer-Infrastruktur wie möglich pflegen.
Ich suche nach Empfehlungen zum Verpacken meiner Software.
Antwort1
Ich sehe zwei Möglichkeiten, das zu betrachten.
Eine Möglichkeit besteht darin, die beliebtesten Linux-Versionen anzusprechen und für jede Version native Pakete bereitzustellen, wobei die Pakete in der Reihenfolge ihrer Beliebtheit ausgeliefert werden. Vor einigen Jahren bedeutete dies, dass zunächst RPMs für Linux-Versionen vom Typ Red Hat bereitgestellt wurden und dann, wenn es die Zeit erlaubte, das Quell-RPM für jedes weniger beliebte RPM-basierte Linux neu erstellt wurde. Aus diesem Grund ist beispielsweise das Mandriva-RPM oft etwas älter als das Red Hat- oder SuSE-RPM. Da Ubuntu in den letzten Jahren jedoch so beliebt war, möchten Sie vielleicht mit .deb beginnen und RPM später hinzufügen.
Die andere Möglichkeit besteht darin, gezieltalleLinuxe auf einmal, was diejenigen, die binäre Tarballs bereitstellen, versuchen. Mir als Systemadministrator und Endbenutzer gefällt diese Option überhaupt nicht. Solche Tarballs verteilen Dateien überall auf dem System, auf dem Sie sie entpacken, und es gibt später keine Option für Feinheiten wie Deinstallation, Paketüberprüfung, intelligente Upgrades usw.
Sie können einen gemischten Ansatz ausprobieren: native Pakete für die gängigsten Linux-Versionen sowie binäre Tarballs für Sonderlinge unter den Linux-Versionen und Systemadministratoren der alten Schule, die Paketmanager aus irgendeinem Grund nicht mögen.
Antwort2
Ich bevorzuge immer ein Paket (rpm|deb usw.). Abhängig von der Art der Software kann es sinnvoll sein, Pakete für bestimmte Distributionen (rhel/centos usw.) bereitzustellen, aber Sie werden wahrscheinlich nie genug Pakete für alle zusammenstellen können.
Installationsskripte können je nach Skript in Ordnung sein. Für mich ist das Wichtigste bei nicht verpackter Software, dass sie sich einfach an einem Ort meiner Wahl installieren lässt.
Antwort3
Spiele verwenden in der Regel ein Installationsprogramm (früher Loki Installer, heute MojoSetup), das ein Spiel sauber in ein Präfix installiert und Dinge wie Symbole handhabt.