[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Pacchettizzare un programma



2009/8/31 Fernando ff77 <ff@bglug.it>

...

1)come far permettere ad uno script eseguito da utente di scrivere in un file di log personale in /var/log

Lo script deve essere eseguito con i permessi di amministrazione in quanto /var/log è scrivibile da root.
Un'alternativa, visto che deve essere eseguito da un utente non privilegiato, potrebbe essere quella di scrivere il log in locale nella posizione $HOME/.local/var/log
Chiaramente nei tuoi script ricordati sempre di inserirci un mkdir -p $HOME/.local/var/log || exit 1
 

2) come rendere uno script un demone... in quando all'interno esegue netcat e resta un flusso continuo di dati,
penso che la miglior cosa sia utilizzare il PID di netcat..., è giusto creare uno script con un ciclo infinito che continua
a controllare l'esecuzione del programma, se la connessione salta tenta di ripristinarla...

Potresti provare qualcosa del tipo:

$sh -x mio_demone.sh 0<&- 1>/dev/null (o dove vuoi tu) 2>/tmp/mio_demone.log &

 

3)come creo un pacchetto .tar.gz   e .deb  e .rpm  ? conviene i file tenerli tutti nella stessa cartella o suddividerli nelle cartelle di sistema ?

Dipende da come vuoi gestire la distribuzione del tuo applicativo.
Se intendi distribuire con pacchetti deb e rpm allora devi far riferimento alle PATH LSB di root come fanno tutti i pacchetti, se rilasci con tar.gz allora puoi anche usare le path relative all'utente.

Supponiamo che vuoi distribuire nel modo classico gestito dal gestore di sistema (deb o rpm) allora decidi dove vuoi installare la tua applicazione, potresti usare il ramo /opt e quindi qualcosa del tipo /opt/mio_demone/
e sotto questa cartella usi una struttura LSB classica, quindi bin, lib, share etc etc
Dopo aver costruito questa struttura genera l'archivio tar.gz.
Lo devi costruire tale che quando lo espandi deve costruirti dove sei un ramo del tipo opt/mio_demone/...
Ora hai la distribuzione tar.gz.
Adesso per deb ed rpm puoi risolvere brutalmente con alien

alien --to-deb --to-rpm mio_demone.tar.gz

e ti ritrovi i due pacchetti pronti per essere distribuiti ed installati.
Il file control prodotto per il deb è abbastanza rozzo ti consiglio di metterci le mani per il fine tuning degli attributi di pacchetto.


ciao,

Luca









--
---
Luca Cappelletti
http://developerinfodomestic.blogspot.com

"...Together we stand, divided we fall."

.O.
..O
OOO

GTalk,MSN: luca <dot> cappelletti <at> gmail <dot> com
Linux Registered User: #223411
Ubuntu Registered User: #7221

"l'intelligenza è utile per la sopravvivenza se ci permette di estinguere una cattiva idea prima che la cattiva idea estingua noi"

"La chiave di ogni uomo è il suo pensiero. Benché egli possa apparire saldo e autonomo, ha un criterio cui obbedisce, che è l'idea in base alla quale classifica tutte le cose. Può essere cambiato solo mostrandogli una nuova idea che sovrasti la sua"

"Uno studioso è soltanto un modo in cui una biblioteca crea un’altra biblioteca "

Reply to: