Как мне сделать noatime mounts по умолчанию?
Я делаю производную от Ubuntu и хочу сделать noatime опцией монтирования по умолчанию для всех файловых систем (вместо relaytime, которое по умолчанию в Ubuntu).
Кажется, есть логическое значение default_relatime
параметр ядра для переключения между значениями по умолчанию atime или relaytime (также доступны записью в /proc/sys/kernel/default_relatime), но я не могу найти эквивалент для noatime и не знаю, как включить это в дистрибутиве дефолт.
Как настроить запись данных для мгновенного запуска? предполагает, что есть способ добавить параметр noatime mount через udev, но я понятия не имею, будет ли это работать для внутренних носителей и как это сделать.
Какой наименее инвазивный способ сделать ядро по умолчанию для noatime?
Текущее значение по умолчанию можно просмотреть с помощью "cat /proc/mounts", поскольку оно показывает даже неявные параметры монтирования; не верь "горе".
Да, я прочитал Стоит ли настраивать Ext4 с noatime? и я все еще хочу сделать это.
1 ответ
В ядре была опция конфигурации для использования ATIME или RELATIME; не знаю, если это также включало некоторые опции для NOATIME. В любом случае, это ушло сейчас.
Я также изучил util-linux, чтобы узнать, имеет ли команда mount настраиваемые значения по умолчанию или может быть изменена, но это не так.
Однако похоже, что вы можете исправить ядро, чтобы изменить поведение по умолчанию. Изменить./fs/namespace.c, вокруг строк 2334:
long do_mount(...)
...
/* Default to relatime unless overriden */
if (!(flags & MS_NOATIME))
mnt_flags |= MNT_RELATIME;
...
Поменяйте местами это:
long do_mount(...)
...
/* Default to noatime unless overriden */
if (!(flags & MS_RELATIME))
mnt_flags |= MNT_NOATIME;
...
И это должно сделать это.