No More Read-Only File-System in WPSD
…or, “R/O no mo, yo.” 😆
Most users are accustomed to the “other sftware” having a forced Read-Only file system by default. While this can be useful, it’s unnecessary in WPSD and in fact, is a pain in the ass sometimes.
Soon, when WPSD 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 WPSD 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 WPSD
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. ⤴