Velocizzare l'avvio con i daily/weekly scripts
Inviato: dom 17 lug 2011, 10:12
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:
Mi sono creato un file con permessi di esecuzione
rc.DS
e ho sostituito i frammenti qui sopra che erano nel rc.M con:
rc.M
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.
Critiche?
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
Mi sono creato un file con permessi di esecuzione
rc.DS
Codice: Seleziona tutto
# 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
rc.M
Codice: Seleziona tutto
[...]
# 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
[...]
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.
Critiche?