Upresnis jeste jaky pouzivate file system? EXT4? a "jak velky" je pocet zapisu?
/boot je vfat (vyžaduje to firmware RPi), zbytek je jeden btrfs oddíl se subvolumy (root, var, nějaké naše atd). Rootfs parametr Linuxu odkazuje na symlink, který ukazuje na aktivní verzi firmware (subvolume), takže upgrade/rollback je jen věcí přehození symlinku a reboot. Nové verze se distribuují jako
btrfs send -p delty - takže jednak jde vzduchem málo dat, a jednak i ten zápis nové verze (celý rootfs) je šetrný, protože btrfs zapíše jen nové bloky. Mám tam potom vedle sebe třeba 10 plnohodnotných instancí (verzí) firmwaru, každá má podle
du třeba 2 GB, ale karta je jen čtyřgigová a místa je zabráno třeba 2.2 GB :-)
V provozu to zapisuje jenom minimálně: / je ro, /var je rw ale normálně do něj nikdo nepíše, jen při bootu a otáčení systemd timerů se tam zapisují lockfily a další drobotina. Určitě to nejsou ani MB za den. Loguje se do /run/log, něco se vzduchem přenáší na server.
Vymyslel to kolega před pár lety, musel hodně bojovat aby nás přesvědčil, ale teď si už práci se squashfs+overlayfs nedovedu představit. Má to všechny výhody read-only modelů s těmi read-write - i to že můžu např. udělat zákaznickou úpravu něčeho bez komplikací (
btrfs příkazem přehodím flag read-only) a dokonce se ta změna upgradem na novou verzi nepřepíše.