Quella che vado a presentare è una tecnica per velocizzare l’avvio di un sistema Linux in cui viene utilizzato il file system Reiserfs per una o più partizioni.
Reiserfs è sicuramente ottimo, l’unica cosa che un pò mi infastidisce è, ad ogni avvio di Debian o Ubuntu, il controllo dell’integrità del file system che rallenta in modo consistente l’avvio del sistema.
Ubuntu, ad esempio, possiede 2 script chiamati checkroot.sh e checkfs.sh che eseguono rispettivamente il controllo della partizione del sistema operativo e delle altre partizioni. Poiché trovo sensato che il controllo venga fatto soltanto in caso di arresto improvviso, mi sono messo a cercare un modo per impedire l’avvio automatico del reiserfs check. Ho notato che i questi script eseguono il controllo soltanto se non esiste un file di nome /fastboot e al termine rimuovono questo file.
Ho pensato di scrivere uno script che alla chiusura o riavvio del sistema, come ultima operazione, crei il file /fastboot in modo da impedire il controllo all’avvio successivo.
In caso di spegnimento improvviso il file non viene creato e il controllo dei dischi viene eseguito all’avvio.
Procedura passo passo
Per prima cosa si eseguono, in una shell con i privilegi di root, le seguenti operazioni:
touch /etc/init.d/nextfastboot
Poi si apre il file nextfastboot con un editor di testo e si inseriscono queste righe:
#! /bin/sh
# Makes next boot faster preventing the execution of reiserfs check at boot
touch /fastboot
Così facendo è stato creato lo script che crea il file /fastboot e che quindi disabilita il controllo del file system.
Con i prossimi comandi lo script viene reso eseguibile e lanciato come ultima operazione all’arresto o riavvio del sistema.
chmod +x /etc/init.d/nextfastboot
ln -s /etc/init.d/nextfastboot /etc/rc0.d/K99nextfastboot
ln -s /etc/init.d/nextfastboot /etc/rc6.d/K99nextfastboot
Fatto questo il lavoro è ultimato. I prossimi avvii saranno sensibilmente più rapidi.
Per approfondimenti in materia di ottimizzazione dell’avvio del sistema rimando all’ottimo articolo Capire e ottimizzare la procedura d’avvio di Ubuntu, Debian, Fedora