...
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