У меня есть небольшой Linux-ящик со специальной задачей чтения данных датчика и сравнения значений с локальной базой данных, доступной только для чтения (т.е. я не буду писать в нее, но ничего не сделал, чтобы сделать ее доступной только для чтения).
Системе не нужно ничего записывать в файловую систему, за исключением, возможно, некоторых временных файлов, созданных при обращении к локальной веб-службе (веб-страница показывает данные, но не регистрирует их)
Система автоматически загружается при подаче питания и выключается при отключении питания.
Есть ли хорошее руководство по настройке системы, чтобы она остыла при резких отключениях питания? В настоящее время я использую ubuntu (потому что я знаком с ним, и он хорошо работает на подходящем компьютере 2, который я использую)
Или, учитывая, что у меня нет приложений, которые что-либо записывают на диск (временные файлы веб-сервера являются исключением), могу ли я не изменять систему? Единственный важный момент - нет человека, который мог бы вмешаться, если в процессе загрузки терминал выдает вопрос и зависает в ожидании ответа.
Смотреть в fsprotect. Когда вы устанавливаете его и даете ядру волшебный аргумент командной строки, он автоматически изменяет процесс загрузки так, что исходная корневая файловая система монтируется только для чтения, а настоящая корневая файловая система является aufs (файловая система union), позволяющая вносить изменения, которые будут отменены при выключении питания.
Если вы хотите внести изменения в систему (например, для обслуживания или обновления), просто опустите специальный аргумент командной строки ядра «fsprotect». Обычно вы устанавливаете "fsprotect" по умолчанию и переопределяете, редактируя командную строку ядра из grub, когда вы хотите выполнить обслуживание.
Пакет доступно в Debian, а может и другие.
Для этого и нужны файловые системы журналирования.
Если происходит сбой и система перезагружается, он не знает, была ли она на полпути изменения файлов, поэтому ему приходится проверять каждый файл, чтобы выяснить это. При использовании журналируемой файловой системы (метаданных) ОС записывает на диск схему изменений, которые она намеревается внести в журнал. Затем он применяет эти изменения. Поэтому при запуске ему нужно только проверить журнал, чтобы узнать, выполнялась ли операция записи во время простоя. Кроме того, если есть незавершенная операция, он может решить, достаточно ли информации для завершения изменения или следует отменить изменение. Большинство журналирующих файловых систем (ext3,4, XFS, JFS, Reiser) заботятся только о метаданных, то есть о записях каталогов. Но есть файловые системы, которые реплицируют план всей транзакции записи (BtrFS, ZFS). Обратите внимание: то, что операционная система воспринимает как транзакцию записи, может отличаться от того, что думает ваша операционная система (особенно для баз данных). Так что даже ведение журнала с полным объемом данных не решит всех проблем. Дело в том, что файловая система находится в согласованном состоянии.
Любая файловая система, смонтированная только для чтения, не требует fsck при загрузке (если обратный отсчет монтирования не достигает 0).
Кроме того, вам особо не о чем беспокоиться.
Конечно, существует множество систем Linux, которые загружаются и запускаются из ОЗУ. И практически в любом дистрибутиве Linux вы можете использовать tmpfs для создания RAM-дисков, если вам нужно записывающее хранилище, которое не сохраняется при перезагрузках.