Étiquette : insserv

29 juillet 2015 /

L’OS du Raspberry Pi fonctionnant sur une carte SD (ou micro SD), voici une solution simple qui permet de limiter les écritures afin de prolonger la durée de vie de votre carte SD.

Pour cela, nous allons utiliser l’outil Ramlog qui crée un disque temporaire en mémoire vive, où sont stockés et mis à jour les logs. Les logs originels sont conservés dans le répertoire /var/log.hdd jusqu’à l’arrêt de ramlog où à ce moment elles prennent le chemin inverse. Donc pas de perte de logs systèmes sauf bien sûr si votre ordinateur plante. Cela limite ainsi grandement le nombre d’accès en écriture sur la carte.

Pour installer Ramlog sur le Raspberry Pi :

sudo apt-get install rsync
sudo apt-get install lsof
wget http://www.tremende.com/ramlog/download/ramlog_2.0.0_all.deb
sudo dpkg -i ramlog_2.0.0_all.deb

Ensuite, editez le fichier suivant :

sudo vi /etc/init.d/ramlog

Et ajoutez ces 2 lignes suivantes dans la section #BEGIN INIT INFO (oui, avec les #):

# X-Start-Before: rsyslog
# X-Stop-After: rsyslog


Puis, éditez le fichier suivant :

sudo vi /etc/init.d/rsyslog

Ajoutez y ramlog aux 2 lignes suivantes pour qu’il ce lance au démarrage et qu’il arrête lors du démontage:
# Required-Start: $remote_fs $time ramlog
# Required-Stop: umountnfs $time ramlog

Pour activer le script au démarrage :

sudo insserv

Redemarrez le Rapsberry 2 fois:

sudo reboot

Une fois redémarré, regardez le fichier /var/log/ramlog pour vérifier que tout se passe bien :

sudo cat /var/log/ramlog

Le plus souvent, les messages d’erreur ont besoin que vous arrêtiez d’autres démons (Cups, Samba etc…) avant de lancer Ramlog.

Pour régler ce problème, on peut indiquer dans les fichiers de configuration des programmes concernés, que Ramlog doit être lancé avant qu’ils ne commencent à écrire dans les logs.

Pour Samba:

sudo vi /etc/init.d/samba

Ajoutez ramlog à la fin des 2 lignes suivantes :
# Required-Start: $network $local_fs $remote_fs ramlog
# Required-Stop: $network $local_fs $remote_fs ramlog

Pour Cups :

sudo vi /etc/init.d/cups

Ajoutez ramlog à la fin de ces 2 lignes :
# Required-Start: $syslog $remote_fs ramlog
# Required-Stop: $syslog $remote_fs ramlog

Refaites un  insserv puis redémarrez :

sudo insserv
sudo reboot

Vous avez maintenant un Ramlog opérationnel.