{{tag>raspberry-pi gk}}
==== Raspberry Read-Only ====
^Page en construction^
=== Objectif ===
Apporter des modifications à la distribution Raspbian pour une utilisation sans écritures sur la carte SD et permettre une extinction brutale de la machine sans risque de détériorer le système de fichiers
=== Limitation ==
Utilisation de la version Raspbian/Buster, version stable à ce jour (déc 2019).
L'image installée à la base est la version **lite** pour limiter les logiciels installés.
=== lectures ===
https://the.mad-tinkerer.me/raspberry-pi/read-only-root-filesystem-debian-buster/
https://medium.com/@andreas.schallwig/how-to-make-your-raspberry-pi-file-system-read-only-raspbian-stretch-80c0f7be7353
https://k3a.me/how-to-make-raspberrypi-truly-read-only-reliable-and-trouble-free/
http://blog.gegg.us/2014/03/a-raspbian-read-only-root-fs-howto/
https://github.com/JasperE84/root-ro
https://www.a-netz.de/blog/2013/02/read-only-root-filesystem/
https://the.mad-tinkerer.me/raspberry-pi/read-only-root-filesystem-debian-buster/
=== Buster read-only ===
sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
sudo apt install python3
sudo apt install puredata
sudo apt install pd-osc pd-mrpeach pd-iemlib
sudo apt install lsof
lsof / | awk 'NR==1 || $4~/[0-9]+[uw]/'
sudo systemctl disable apt-daily.timer apt-daily-upgrade.timer man-db.timer
sudo systemctl mask systemd-tmpfiles-setup apt-daily apt-daily-upgrade systemd-tmpfiles-clean systemd-tmpfiles-clean.timer systemd-update-utmp systemd-update-utmp-runlevel systemd-rfkill systemd-rfkill.socket systemd-logind.service man-db.service
systemd-update-utmp-runlevel systemd-rfkill systemd-rfkill.socket systemd-logind.service man-db.service
sudo systemctl disable dphys-swapfile
sudo apt clean
Modifier /etc/fstab
modifier en ro /boot et /
PARTUUID=6c586e13-01 /boot vfat defaults,ro 0 2
PARTUUID=6c586e13-02 / ext4 defaults,ro,noatime 0 1
ajouter
none /tmp tmpfs size=128M,mode=01777 0 0
none /var/tmp tmpfs size=16M 0 0
none /var/log tmpfs size=16M,mode=0755 0 0
none /var/lib/logrotate tmpfs size=1M 0 0
sudo reboot et vérifier les services en erreur
systemctl list-units --state=failed
=== Changement de mode ===
== Autoriser l'écriture ==
sudo mount / -o remount,rw
sudo mount /boot -o remount,rw
== Retourner en mode read-only ==
sudo mount / -o remount,ro -f
sudo mount /boot -o remount,ro -f
Ajouter à /etc/bash.bashrc **source** : https://hallard.me/raspberry-pi-read-only/
# set variable identifying the filesystem you work in (used in the prompt below)
set_bash_prompt(){
fs_mode=$(mount | sed -n -e "s/^\/dev\/.* on \/ .*(\(r[w|o]\).*/\1/p")
PS1='\[\033[01;32m\]\u@\h${fs_mode:+($fs_mode)}\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
}
alias ro='sudo mount -o remount,ro / ; sudo mount -o remount,ro /boot'
alias rw='sudo mount -o remount,rw / ; sudo mount -o remount,rw /boot'
# setup fancy prompt"
PROMPT_COMMAND=set_bash_prompt
=== Compléments ===
== Logrotate ==
modifier /etc/cron.daily/logrotate
#/usr/sbin/logrotate /etc/logrotate.conf
/usr/sbin/logrotate --state /var/log/logrotate.state /etc/logrotate.conf
==lightdm==
modifier /etc/lightdm.conf
cache-directory=/var/tmp/lightdm