Avec mes Pi j'ai un soucis récurrent c'est l'usure des cartes SD… J'ai tenté pleins de choses (réduire les logs, changer le swap, etc…) mais sans jamais de grand succès au final la carte SD se corrompt et rebelotte…
J'ai donc décidé de changer carrément de méthode, à partir de maintenant pour les projets ou je n'ai pas besoin d'écrire sur la carte SD, et bien je monte carrément le système en lecture seule. Pour ça il suffit de changer un peu le « /etc/fstab » :
proc /proc proc defaults 0 0 /dev/mmcblk0p1 /boot vfat defaults 0 2 /dev/mmcblk0p2 / ext4 ro 0 1 # Valeur par defaut : /dev/mmcblk0p2 / ext4 defaults,noatime 0 1 tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0 tmpfs /var/log tmpfs defaults,noatime,mode=0755 0 0 tmpfs /var/lib/systemd tmpfs defaults,noatime,mode=0755 0 0
À partir de maintenant si vous redémarrez le Pi votre système sera en lecture seule.
Donc c'est un bon début… Mais parfois c'est pratique de pouvoir modifier son système (mise à jour par exemple), j'ai donc trouvé un petit script qui permet de passer de lecture seule à lecture/écriture hyper simplement :
#!/bin/bash case "${1}" in rw) sudo mount -o remount,rw / echo "Filesystem mounted in READ-WRITE mode" ;; ro) sudo mount -o remount,ro / echo "Filesystem mounted in READ-ONLY mode" ;; *) if [ -n "$(mount | grep mmcblk0p2 | grep -o 'rw')" ] then echo "Filesystem is mounted in READ-WRITE mode" else echo "Filesystem is mounted in READ-ONLY mode" fi echo "Usage ${0} [rw|ro]" ;; esac
Pour l’utiliser c’est simple :
- Repasser en lecture/écriture : ./mountfs.sh rw
- Repasser en lecture seule : ./mountfs.sh ro
En espérant que ça aide certains d’entre vous …