operazioni di post installazione

Questo modulo viene eseguito come ultimo, prima del builtin-cleanup.

Si occupa delle operazioni di post installazione: pulizia, fixes.

=== network if up/down scripts ===

Dato che le interfaces di rete sono attivate da udev in uno stage
iniziale del sistema, attivare servizi in questa fase, quando una
serie di altri servizi non e` ancora running, o e` inutile, o
addirittura potenzialmente pericoloso (es: firewall non attivo),
quindi rimuovo i corrispondenti scripts.

Lo startup dei servizi e` comunque regolato dagli script di init,
con la dovuta sequenza temporale, quindi la rimozione di questi
script non comporta conseguenze dannose.

Rimane il problema, invece, dei processi che hanno effettivamente
bisogno di una "rinfrescata" quando una o piu` interfaces cambiano
stato: se le procedure di up/down avessero conoscenza dello stato
del sistema (se in fase di boot, se up&running, se in shutdown)
allora potrebbero utilizzare test appositi per sapere se essere
eseguiti o meno, ma al momento debian/ubuntu non fornisce questa
informazione, quindi alcuni script rimangono (es: openssh-server,
postfix).

<!> 2010.09.27: non e` vero che tutti le situazioni
sono gestite, come dovrebbero, dagli script di init, ad esempio
nfs *non* monta (come sarebbe logico aspettarsi) i filesystems
remoti, quindi riattivo lo script omonimo, in attesa di avere
un sistema decente (quello a cui stavo lavorando, un daemon che
periodicamente esegue il check di alcune condizioni ed esegue
le azioni corrette). Per il momento, comunque, non ripristino
lo script originale, ma uno analogo ad-hoc (vedi modulo base)

<!> 2011.05 il problema si e` di nuovo complicato con l'introduzione
di *upstart*, che pur essendo un sistema sensato per alcuni tipi
di situazioni, per il resto fa solo un casino pazzesco, in quanto
non garantisce sempre una corretta sequenza di startup dei processi;
in pratica hanno reintrodotto, ma in modo piu` complesso e per
l'intero sistema, il probelma base che aveva udev con gli script
di if-up/if-down delle interfacce di rete


=== rotazione dei logfiles ===

Sui sistemi linux esiste il cronjob *logrotate* che si occupa di questo,
completamente configurabile.

Debian e/o Ubuntu aggiungono a questo il cronjob *sysklogd* che ruota
una serie di logfiles giornalmente, sempre e comunque.

La lista dei files da ruotare non e` in un file di configurazione ma a sua volta
e` ricavata da un'altro script, *syslogd-listfiles* quindi e` fissa: la
documentazione dice che per cambiare i files in questa lista occorre modificare
manualmente lo script, che essendo marcato come config file non verra` quindi
aggiornato durante gli updates. Incredibile ma vero.

Guardando lo script *sksylogd* si puo` vedere che questo viene inibito
anche se esiste il file *usr/share/sksklogd/dummy*

L'impressione e` che questi due script siano una patch buttata su come
capitava, e che poi sia rimasta nelle distro. Ovviamente va eliminata
e/o disabilitata.

Purtroppo non e` possibile rimuovere il package perche` questi scripts
sono parte del pkg ''sysklogd'', quindi vanno disabilitati manualmente.

=== enanchement init.d logging ===

Il logging dei processi di boot su Ubuntu (anche su Debian?) e` broken
da tempo immemore: tutto quello che accade prima durante lo startup
viene loggato solo su console e non viene memorizzato in modo permamente
su nessun file.

Anche successive invocazioni degli script di init.d non registrano da
nessuna parte i messaggi di logging.

Questo e` un problema sui sistemi desktop (per via del fatto di
avere uno splash screen che nasconde i messaggi di console al boot,
parzialmente risolvibile usando l'opzione di ''recovery'' al boot,
anche questa sballata perche` non e` un recovery ma semplicemente
un boot senza lo splash screen).

Sui sistemi server invece non solo e` un problema: e` completamente
inaccettabile. Spesso i server sono headless o gestiti in remoto,
quindi non e` fisicamente possibile osservare i messaggi di console.

Inoltre una delle regole base dell'analisi forense di un sistema, anche
solo per ordinarie operazioni di manutenzione, richiede che qualsiasi
operazione rilevante sia loggata in modo permanente ed accessibile,
risulta quindi incredibile che una funzione cosi` essenziale sia
mancante da tempo su queste distribuzioni.

Sarebbe stato interessante vedere come altre distribuzioni (es: Fedora,
Mandriva) hanno risolto questo problema, ma l'avvio del progetto ''upstart''
da parte di Canonical ha reso inutile lo sforzo (inutile perche` basato
su un sistema completamente differente, non perche` abbiano risolto il
problema, occorrera` vedere come si sviluppa upstart).

Nel frattempo, sui sistemi sprovvisti di upstart viene installato
una versione patchata di /etc/lsb-base-logging.sh che gestiste in
qualche modo il logging su file, anche nelle fasi preliminari del
boot quando il filesystem root non e` accesibile in scrittura.


=== 10.04 update-notifier bug ===

Sulle workstation il desktop gnome fa girare ''update-notifier'', che
controlla la presenza di aggiornamenti, ma alcuni packages (eg: synaptic)
installano files sotto /etc/apt/apt.conf.d con permessi errati, non
leggibili da utente non root (/etc/apt/apt.conf.d/99synaptic); il problema
e` rilevabile perche` l'icona sull'applet bar diventa un disco rosso di
divieto.

