Domanda

Ho scritto un'applicazione che ancora non è open source e vorrei distribuire l'eseguibile attraverso le varie distribuzioni linux.Qual è il modo migliore per fare questo, ho guardato un po'.e rpm .deb imballaggio, ma non riesco a trovare se che può essere utilizzato per i file binari o non.Idealmente mi piacerebbe qualcosa di simile a PackageMaker su OS X o un regolare programma di installazione su windows e che sarà automaticamente copiato in /usr/bin.È che cosa .e rpm .pacchetti deb sono o devo bundle uno script di shell che farà tutto automaticamente?

È stato utile?

Soluzione

RPM e DEB pacchetti sono i due principali meccanismi per la distribuzione di pacchetti binari in Linux.RPM è utilizzato da RedHat e dei suoi derivati (Fedora, CentOS), mentre DEB è utilizzato in Debian e Ubuntu.

L' .e rpm .deb file sono generalmente "muto" archivi e vengono installati nelle posizioni corrette nel file system pre-installato applicazioni di supporto.Non è necessario preoccuparsi di scrittura di script per installare i file, a meno che non è una complessa applicazione che ha bisogno di speciale per la configurazione del sistema.

I soliti schemi vedo per la distribuzione di file binari sono:

  • Il rilascio di una compessed tar (.tar.gz o .tar.bz2), e lasciare che la distribuzione dei confezionatori preoccuparsi dei dettagli.Questo funziona bene per le applicazioni più diffuse, ma se è appena uscito, nessuno si cura abbastanza circa la vostra applicazione per il pacchetto.
  • Rilascio come un archivio tar, oltre a GIRI / min e/o pacchetti DEB (in base alle esigenze del cliente).I clienti con una distribuzione supportate può installare il pre-pacchetto.Qualcuno che utilizza un insolito distribuzione è probabilmente felice per installare da un tarball comunque.

Altri suggerimenti

MojoSetup è una, perfettamente cross-distro soluzione facile da usare e ben -licensed (zlib, molto permissiva). Tutto ciò che richiede è il guscio sh standard che viene fornito con qualsiasi distribuzione Linux. Essa consente anche di collegamenti sul desktop il modo più semplice per la creazione di collegamenti spec freedesktop.org, che sono supportati da quasi tutti gli ambienti grafici per Linux (così appena discarica in un PNG a diverse risoluzioni e riempire gli spazi vuoti del file .desktop).

Gli installatori sono script utilizzando il semplice linguaggio di programmazione Lua e ci sono diversi esempi di script di installazione nel repository Mercurial, nonché un lungo tutorial. Ci sono anche molti anni per eseguire il backup il suo sviluppo in un programma di installazione di cross-distro leggera.

Il numero di giri e deb memorizzerà i binari. Avrete bisogno di avere un diverso binari per ogni distro o distro variante più probabilmente, proprio perché su diverse distribuzioni le cose sono diverse, come i percorsi.

vi consiglio di iniziare con i due avete rpm e deb con le unghie e quei due distro. Poi magari fare un tarball per distribuzioni misc hanno le persone possono estrarre e la struttura delle directory e copiare e gestire i permessi per conto proprio.

Inoltre, per le cose come deb è possibile impostare un sito come archivio. Che lo rende facile per le persone per aggiungere il repo e ottenere / installare il deb in ubuntu molto facilmente. Un sacco di 3a parte chiusa sviluppatori di origine farlo.

Questo è ciò .rpm e file .deb fare, ma si deve essere sicuri che la distro installée ha la capacità di affrontare il .rpm e file .deb. Se si desidera qualcosa che è che per eseguire su più distribuzioni, dove non si può essere sicuri che avranno il gestore di pacchetti a destra, poi è praticamente necessario ricorrere al metodo di script di shell. Vorrei consigliare, se si può farla franca, costruire il binario per sia .rpm e .deb - in questo modo, si ottiene la maggior parte delle distribuzioni coperti, e si consente agli utenti di installare in modo sono confortevoli e familiari, e non si deve cercare di rotolare il proprio script di shell di installazione / disinstallazione.

Probabilmente si dovrebbe fornire un pacchetto nativo per ogni distribuzione Linux che sostenete ufficialmente (come ufficialmente sostenerli, sarete testando su di loro in modo da facendo questo dovrebbe essere banale), e di fornire un .tar.gz, che le persone possono salto per altri.

Gli utenti possono sempre fare la propria ecc .rpm per un po 'la distribuzione estranea che non supportano; ma non possono lamentarsi con voi a meno che non funziona su un sistema operativo supportato ufficialmente.

Quali sistemi operativi si fa ufficialmente supportati? Avrete ovviamente bisogno di testare su di loro tutto (per lo meno, è necessario passare tutta la tua suite di test di regressione su ogni sistema operativo su ogni release).

Questa è naturalmente complicato se sostenete più architetture.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top