Я видел промышленный компьютер под управлением Debian, чтобы защитить флеш-диск от записи и поддерживать систему в определенном состоянии после каждой загрузки, весь диск был смонтирован только для чтения, нет подключены другие диски и нет сетевого хранилища. Есть несколько запущенных сервисов, в первую очередь Samba.
Я пытался воссоздать эту систему в образовательных целях, как мне остановить любую запись на диск, особенно / var?
Монтаж в режиме только для чтения ломает систему, как и монтаж в режиме tmpfs.
Я предполагаю, что оба подхода терпят неудачу по очень разным причинам.
Иерархия файловой системы / var
не может быть смонтирована в режиме «только для чтения», так как системе потребуется запись в нее. Нет никакого способа обойти это.
Монтирование ее как файловой системы tmpfs
кажется хорошим подходом, но такая файловая система будет пустой при монтировании, и это приведет к сбою системы по другим причинам.
Это все еще может быть жизнеспособным вариантом, но вам нужно будет заставить систему заполнить пустую иерархию / var
соответствующими файлами и каталогами сразу после ее монтирования , например путем распаковки предварительно упакованного файла /var.tar
(или чего-то еще) или рекурсивного копирования из существующего каталога где-нибудь.
Я не знаю, как это сделать в Debian. OpenBSD имеет файловую систему памяти под названием MFS . При монтировании файловой системы MFS можно предварительно заполнить ее содержимым каталога или файловой системы FFS на блочном устройстве (это можно сделать даже из файла / etc / fstab
) .
Очевидно, что изменения содержимого / var
во время работы машины не будут постоянными между перезагрузками без синхронизации с реальным диском после выключения, что может быть или не быть проблемой в ваше дело.