Quali tipi di programmi di installazione devono utilizzare software commerciali per supportare Linux?


9

Il codice sorgente non è aperto o gratuito, quindi la compilazione all'installazione non è un'opzione. Finora ho visto gli sviluppatori che:

  • fornire un file tar.gz e spetta all'utente decomprimere in una posizione adatta.
  • fornire a .tar.gz uno script install.sh per eseguire un programma di installazione di base, eventualmente anche chiedendo all'utente le opzioni di installazione.
  • fornire file RPM e / o deb, consentendo all'utente di continuare a utilizzare gli strumenti di gestione dei pacchetti nativi con cui hanno familiarità per installare / aggiornare / disinstallare.

Vorrebbe supportare il maggior numero di distribuzioni Linux, rendere la vita degli utenti il ​​più semplice possibile e tuttavia mantenere il minor numero di infrastrutture di build / packaging / installatore possibile.

In cerca di consigli su come impacchettare il mio software.

Risposte:


19

Vedo due modi per vederlo.

Uno è quello di prendere di mira i Linux più popolari, fornendo pacchetti nativi per ciascuno, offrendo pacchetti in ordine di popolarità. Qualche anno fa, ciò significava fornire prima gli RPM per i Linux di tipo Red Hat, quindi quando il tempo lo permetteva di ricostruire gli RPM di origine per ogni Linux basato su RPM meno diffuso. Ecco perché, per esempio, Mandriva RPM è spesso un po 'più vecchio di Red Hat o SuSE RPM. Con Ubuntu così popolare negli ultimi anni, potresti voler iniziare con .deb e aggiungere RPM in seguito.

L'altro è cercare di indirizzare contemporaneamente tutti i Linux, che è quello che stanno tentando quelli che forniscono tarball binari. Non mi piace molto questa opzione, come amministratore di sistema e utente finale. Tali tarball sparpagliano i file in tutto il sistema su cui li decomprimi, e non ci sono opzioni in seguito per cose come disinstallazione, verifica dei pacchetti, aggiornamenti intelligenti, ecc.

Puoi provare un approccio misto: pacchetti nativi per i Linux più popolari, oltre a tarball binari per Linux dispari e amministratori di sistema della vecchia scuola che non amano i gestori di pacchetti per qualsiasi motivo.


Questo è quasi esattamente l'approccio che ho adottato finora - iniziato con RPM per Redhat / Fedora / CentOS, ora fornendo file .deb Ubuntu / Debian, ma non avevo ancora deciso se fare un tar.gz sarebbe ancora utile e necessario. Sembra che sarebbe utile per consentire agli utenti con distribuzioni meno popolari di far funzionare il software da soli piuttosto che non avere nemmeno un'opzione. Grazie.
Mike Gray,

2
Realizzare un tarball binario portatile può essere molto più lavoro di quanto immagini. Solo una potenziale trappola è che l'ABI g ++ è cambiata più volte nel corso degli anni, quindi potrebbe essere necessario distribuire versioni binarie di qualsiasi libreria C ++ in uso anziché utilizzare le versioni della piattaforma per ottenere una compatibilità sufficientemente ampia. Questo è uno dei motivi per cui un singolo RPM binario non viene installato ed eseguito ovunque. Sembra però esserci un'accettazione culturale di questo fatto con RPM, mentre i tarball - probabilmente perché sono uno standard antico - dovrebbero funzionare ovunque.
Warren Young,

Ho visto l'approccio mix come il migliore: che puoi raggiungere molte persone e lo sforzo non è poi così tanto.
Hugo,

Fare un tarball binario semplice è ancora buono. Soprattutto se quel tarball memorizza tutti i file di gioco in una directory autonoma. Permetterà ad alcuni utenti di decomprimere ed eseguirlo senza installarlo; e renderà anche la vita più facile per altre distro (come Gentoo, Arch e così via), perché sarà più facile per loro decomprimere / riconfezionare quel tarball.
Denilson Sá Maia,

4

Qualunque cosa tu faccia, assicurati di includere uno "script di supporto" che ti consenta di raccogliere quante più informazioni possibili sul sistema di destinazione per errori di risoluzione dei problemi. Garantisco che incontrerai problemi e il debug di cose che il cliente afferma rispetto alla realtà è spesso molto diverso.


0

La mia preferenza è sempre per un pacchetto (rpm | deb ecc.). A seconda della natura del software, può valere la pena indirizzare i pacchetti per distro specifici (rhel / centos ecc.), Ma probabilmente non sarai mai in grado di lanciare abbastanza pacchetti per tutti.

Gli script di installazione possono andare bene, a seconda dello script. Per me, la cosa più importante con un software non impacchettato è che è facile installarlo nella posizione che scelgo.


0

I giochi tendono a utilizzare un programma di installazione (precedentemente Loki Installer, oggi MojoSetup), che installa un gioco in modo pulito in un prefisso e gestisce elementi come le icone.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.