Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Mi pare doveroso ribadire che sono ancora un utente alle prime armi, quindi vi chiedo se quel che ho fatto ieri dopo cena sia una fesseria o possa avere un senso.
Premessa
Mi sono reso conto che un bel po' di tempo durante il boot viene assorbito da:
aggiornamento delle librerie condivise
aggiornamento degli indici dei font X
aggiornamento delle cache delle icone
aggiornamento del database mime
Strategia
Mi sono creato un file con permessi di esecuzione
# Update all the shared library links:
if [ -x /sbin/ldconfig ]; then
echo "Updating shared library links: /sbin/ldconfig &"
/sbin/ldconfig &
fi
# Update the X font indexes:
if [ -x /usr/bin/fc-cache ]; then
echo "Updating X font indexes: /usr/bin/fc-cache -f &"
/usr/bin/fc-cache -f &
fi
# Update any existing icon cache files:
if find /usr/share/icons 2> /dev/null | grep -q icon-theme.cache ; then
for theme_dir in /usr/share/icons/* ; do
if [ -r ${theme_dir}/icon-theme.cache ]; then
echo "Updating icon-theme.cache in ${theme_dir}..."
/usr/bin/gtk-update-icon-cache -t -f ${theme_dir} 1> /dev/null 2> /dev/null &
fi
done
# This would be a large file and probably shouldn't be there.
if [ -r /usr/share/icons/icon-theme.cache ]; then
echo "Deleting icon-theme.cache in /usr/share/icons..."
#/usr/bin/gtk-update-icon-cache -t -f /usr/share/icons 1> /dev/null 2> /dev/null &
rm -f /usr/share/icons/icon-theme.cache
fi
fi
# Update mime database:
if [ -x /usr/bin/update-mime-database -a -d /usr/share/mime ]; then
echo "Updating MIME database: /usr/bin/update-mime-database /usr/share/mime &"
/usr/bin/update-mime-database /usr/share/mime 1> /dev/null 2> /dev/null &
fi
e ho sostituito i frammenti qui sopra che erano nel rc.M con:
[...]
# Execute DailyScripts
if [ -x /etc/rc.d/rc.DS ]; then
counterFileName="/etc/rc.d/rc.DS.counter"
dsFileName="/etc/rc.d/rc.DS"
actualDay=$(date -u +%j)
lastDay=$(cat $counterFileName)
if [ "$lastDay" != "$actualDay" ]; then
echo $actualDay > $counterFileName
echo "Running Daily Scripts"
. $dsFileName
fi
fi
[...]
Conclusione
Così facendo gli script di rc.DS vengono eseguiti solo al primo avvio della giornata, facendo guadagnare al mio netbook qualche secondo prezioso durante tutti gli altri avvii.
EDIT: dimenticavo che, logicamente, altri servizi che devono essere eseguiti di rado potrebbero essere inseriti in un rc.WS che viene lanciato solo una volta alla settimana in maniera simile ai DS visti sopra.
Non saprei... Le possibilita' che si corrompa il filesystem sono remote, ma farlo controllare una volta ogni tanto mi fa sentire piu' tranquillo
Per quanto riguarda gli altri script, farli eseguire a ogni boot mi pare un grande spreco, cosi' come trovo eccessivo il non farli mai eseguire (per me e' noioso farli partire a mano quando serve), quindi quello di una volta al giorno (o, volendo, un po' piu' di rado) mi sembrava un buon tradeoff.
Prendendo spunto da Salix , ho spostato l'esecuzione degli script in "/etc/cron.daily/housekeeping" (uso anacron, che senza dover reinventare niente, provvede ogni giorno ad eseguire gli script che mi servono).
Questo è il contenuto, che ho ovviamente provveduto a commentare in rc.S:
#!/bin/sh
# Update all the shared library links:
if [ -x /sbin/ldconfig ]; then
echo "Updating shared library links: /sbin/ldconfig &"
/sbin/ldconfig &
fi
# Update the X font indexes:
if [ -x /usr/bin/fc-cache ]; then
/usr/bin/fc-cache -f &
fi
# Update any existing icon cache files:
if find /usr/share/icons 2> /dev/null | grep -q icon-theme.cache ; then
for theme_dir in /usr/share/icons/* ; do
if [ -r ${theme_dir}/icon-theme.cache ]; then
/usr/bin/gtk-update-icon-cache -t -f ${theme_dir} 1> /dev/null 2> /dev/null &
fi
done
# This would be a large file and probably shouldn't be there.
if [ -r /usr/share/icons/icon-theme.cache ]; then
rm -f /usr/share/icons/icon-theme.cache
fi
fi
# Update mime database:
if [ -x /usr/bin/update-mime-database -a -d /usr/share/mime ]; then
/usr/bin/update-mime-database /usr/share/mime 1> /dev/null 2> /dev/null &
fi
# These GTK+/pango files need to be kept up to date for
# proper input method, pixbuf loaders, and font support.
if [ -x /usr/bin/update-gtk-immodules ]; then
/usr/bin/update-gtk-immodules
fi
if [ -x /usr/bin/update-gdk-pixbuf-loaders ]; then
/usr/bin/update-gdk-pixbuf-loaders
fi
if [ -x /usr/bin/update-pango-querymodules ]; then
/usr/bin/update-pango-querymodules
fi