No More Read-Only File-System in W0CHP-PiStar-Dash
…or, “R/O no mo, yo.” 😆
Most users are accustomed to W0CHP-PiStar-Dash
(and Pi-Star) having a forced
Read-Only file system by default. While this can be useful, it’s unnecessary
in W0CHP-PiStar-Dash
and in fact, is a pain in the ass sometimes.
Soon, when W0CHP-PiStar-Dash
automatically updates itself at night, or when
users invoke an update, the file-system will no longer be in Read-Only mode by
default.
Rationale for enabling a persistent Read-Write file-system
The dashboard and underlying software only writes significant data to log files,
which are used/parsed by the dashboard software to display meaningful data.
However, these log files aren’t even written to/read from disk; they are
actually stored to memory using
tempfs
.
Other than that, there is very little else for write activity, and most of it is also written to memory, vs. disk (see ASCII figure below).
And when a user needs to make configuration changes, setups, etc., the file system in Read-Only mode often creates issues where settings may not be saved properly. A huge pain in the ass!
Frankly, I feel a Read-Only file system in W0CHP-PiStar-Dash
is a false sense
of security, does not do much in prolonging SD card life1 since most data is
in memory, and it honestly introduces needless complexity.
ASCII table of all all tempfs
-enabled (memory) mountpoints in W0CHP-PiStar-Dash
tmpfs /run tmpfs nodev,noatime,nosuid,mode=1777,size=32m 0 0
tmpfs /run/lock tmpfs nodev,noatime,nosuid,mode=1777,size=5m 0 0
tmpfs /sys/fs/cgroup tmpfs nodev,noatime,nosuid 0 0
tmpfs /tmp tmpfs nodev,noatime,nosuid,mode=1777,size=64m 0 0
tmpfs /var/log tmpfs nodev,noatime,nosuid,mode=0755,size=64m 0 0
tmpfs /var/lib/sudo tmpfs nodev,noatime,nosuid,mode=1777,size=16k 0 0
tmpfs /var/lib/dhcpcd tmpfs nodev,noatime,nosuid,mode=1777,size=32k 0 0
tmpfs /var/lib/logrotate tmpfs nodev,noatime,nosuid,mode=0755,size=16k 0 0
tmpfs /var/lib/nginx/body tmpfs nodev,noatime,nosuid,mode=1700,size=1m 0 0
tmpfs /var/lib/php/sessions tmpfs nodev,noatime,nosuid,mode=0777,size=64k 0 0
tmpfs /var/lib/samba/private tmpfs nodev,noatime,nosuid,mode=0755,size=4m 0 0
tmpfs /var/cache/samba tmpfs nodev,noatime,nosuid,mode=0755,size=1m 0 0
tmpfs /var/lib/vnstat tmpfs nodev,noatime,nosuid,mode=0755,size=64m 0 0
-
Here’s an example of SD card longevity provided by my colleague, Tom. He’s been running read/write-heavy software on this instance for over 8 years without issue. Get a decent SD card and you’ll be just fine: http://www.threefools.org/weewx/status/index.html. I also run the same software as Tom, and my instance has been running non-stop on the same good-quality SD card since 2015. ↲