2009-07-28 20 views
8

Sto tentando di aggiornare il nostro programma di installazione in modo che un utente possa semplicemente fare doppio clic su un file e avere tutte le dipendenze e il nostro software installati facilmente. Questa è una suite di applicazioni che verranno distribuite su un'installazione pulita di Ubuntu 8.04. Ho esaminato la creazione di un file .deb, ma l'elenco delle dipendenze non funziona perché non è disponibile l'accesso a Internet. Inoltre, qualsiasi script che configurasse un repository apt locale avrebbe ancora bisogno di essere eseguito dalla riga di comando. C'è un modo per inserire un file deb all'interno di un file deb?Installazione con doppio clic in Ubuntu?

So che molte aziende spediscono script di shell che devono chmod + x, quindi eseguire. Questo non è accettabile. È ridicolo che ciò non sia possibile; soprattutto considerando la distribuzione e l'architettura è fissa.

+0

Quindi stai dicendo che sai già che è impossibile? –

+0

So che è impossibile date le informazioni limitate che ho. Altre aziende (come Adobe) devono supportare più distro, quindi usano script bash eseguibili. Sebbene funzionino attraverso distro, l'usabilità è orribile. –

+3

La richiesta di chmod + x è considerata una funzione di sicurezza. Ci sono frontend GUI per questo se necessario ... – bdonlan

risposta

0

Dopo tutto questo tempo, ho trovato una risposta soddisfacente: un eseguibile autoestraente makeself che avvia lo script di installazione utilizzando sudo. L'utente può eseguirlo da un terminale (dopo averlo chmod-it) o ​​può fare doppio clic su di esso e dirgli di "Esegui" dal prompt.

-1

è possibile inserire file deb in deb-file. l'unica cosa che devi fare è configurare gli script appropriati.

un .deb file consiste in:

  • 1x control.tar.gz: contiene un file di "controllo" (descrive il pacchetto) e file facoltativi come "postinst" (Script eseguito subito dopo l'estrazione). ci sono altri file che potresti includere, google dovrebbe fornire informazioni sugli script disponibili.

  • 1x data.tar.gz: contiene una struttura di root-filesystem che contiene file/cartelle che devono essere (ri) posizionati. Inoltre, è possibile configurare il comportamento negli script citati.

  • 1x debian-binary: per quanto mi ricordo, questo è semplicemente un numero di versione in un file. non so esattamente che cosa significa, bisogna ricordare che nella maggior parte dei casi questo è 2,0

Così si può ora mettere i file .deb nel pacchetto di dati. quelli sono estratti dal tuo script ... e installati usando:

# dpkg -i yourpackage1.deb yourpackage2.deb 

la speranza che ne chiarifica una parte. se avete bisogno di dettaglio posso ulteriori ricerche, ho già fatto alcune deb-pacchetti per me stesso (script uso spesso, ecc)

riguarda

+0

Lo script di post-installazione non può richiamare in modo ricorsivo in modo sicuro dpkg, quindi non funzionerà. – bdonlan

+0

ha bisogno di farlo in modo ricorsivo? cosa succede se per esempio ha tutti i file .deb nella cartella/tmp-archive dell'archivio dei dati. lo script di shell den dpkg-i contiene tutti questi file in un solo passaggio ... cosa c'è di sbagliato in questo? – Atmocreations

4

Se siete totalmente sicuri che sarà installato sullo stesso sistema ogni volta , puoi trovare tu stesso l'elenco delle dipendenze del pacchetto, recuperarle dai repository di Ubuntu e comprimerle con il tuo software. Devi solo essere chiaro che il tuo software è per una versione specifica, probabilmente trattare cose come stare al passo con le versioni di manutenzione.

È inoltre possibile installare facilmente con uno script. Per quanto riguarda il tuo reclamo sul rendere eseguibile script, beh, non so come stai spedendo il tuo prodotto, ma dal momento che dici che sta andando da qualche parte senza accesso a Internet, presumo che verrà copiato da qualche tipo di media. Se rendi eseguibile lo script quando lo metti su quel supporto, hai finito.

Se si desidera eseguire questa operazione utilizzando i pacchetti, è possibile creare un CD contenente un repository di pacchetti. Puoi trovare tutti i tipi di informazioni su questo con Google. Per cominciare, prova questo - è una GUI per farlo. http://aptoncd.sourceforge.net/

+0

L'app è distribuita come file tar, credo. Ma gli utenti devono ancora estrarlo autonomamente ed eseguire lo script. –

+0

Beh, si potrebbe certamente usare quel file tar come dati per un pacchetto .deb, e usare lo script per creare il resto del pacchetto. – Cascabel