Creare un pacchetto deb contenente script personali: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
(+ aggiunte a "Workaround")
(Correzione a "workaround")
Riga 393: Riga 393:
Il precedente metodo può essere efficace per installazioni su una singola macchina e, in ogni caso, i permessi andrebbero periodicamente controllati per adattare il file "postrm". Su molte macchine questo è assolutamente impraticabile.
Il precedente metodo può essere efficace per installazioni su una singola macchina e, in ogni caso, i permessi andrebbero periodicamente controllati per adattare il file "postrm". Su molte macchine questo è assolutamente impraticabile.


Un possibile workaround consiste nel creare un file all'interno della directory "/usr/local/bin" in modo tale da impedirne la cancellazione (se vuota). Questo file (il cui nome dovrebbe essere significativo, ad esempio "imieiscript.readme") va creato utilizzando il file "preinst" (o "postinst") e rimosso alla disinstallazione del pacchetto attraverso il file "postrm".<br/>
Un possibile workaround consiste nel creare un file all'interno della directory "/usr/local/bin" in modo tale da impedirne la cancellazione (se vuota). Questo file (il cui nome dovrebbe essere significativo, ad esempio "imieiscript.readme") va creato utilizzando il file "preinst" (o "postinst"). La sua rimozione, sfortunatamente, non può essere effettuata automaticamente ma solo manualmente <u> e solo nel caso in cui il pacchetto sia stato già disinstallato</u>.<br/>
Ad esempio:
Questo potrebbe essere il contenuto del file "postinst":
'''postinst'''
<pre>
<pre>
echo "-- ATTENZIONE --
echo "-- ATTENZIONE --
Riga 401: Riga 400:
per evitare la cancellazione della directory
per evitare la cancellazione della directory
/usr/local/bin (se vuota) durante la sua disinstallazione.
/usr/local/bin (se vuota) durante la sua disinstallazione.
Non rimuovere manualmente!!!" > /usr/local/bin/imieiscript.readme
Rimuovere manualmente solo se il pacchetto imieiscript è
</pre>
stato disinstallato!" > /usr/local/bin/imieiscript.readme
'''postrm'''
<pre>
if [ -f /usr/local/bin/imieiscript.readme ]; then
rm /usr/local/bin/imieiscript.readme
fi
</pre>
</pre>
La situazione di file e directory dovrebbe essere simile a:
La situazione di file e directory dovrebbe essere simile a:
Riga 421: Riga 415:
                       |      ├-- rules
                       |      ├-- rules
                       |      ├-- preinst
                       |      ├-- preinst
                       |      -- postinst
                       |      -- postinst  
                      |      └-- postrm
                       |
                       |
                       └-- script/
                       └-- script/