tmpfs - переменные для настройки файловой системы tmpfs в процессе загрузки
НАЗВАНИЕ
tmpfs − переменные для настройки файловой системы tmpfs в процессе загрузки
ОПИСАНИЕ
Файл /etc/default/tmpfs содержит переменные в формате POSIX:
ПЕРЕМЕННАЯ=ЗНАЧЕНИЕ
В каждой строке разрешено только одно назначение. Также разрешаются коментарии (начинающиеся с ’#’).
Этот файл предназначен для настройки файловой системы tmpfs, монтируемой на начальном этапе загрузки, перед
монтированием файловых систем из /etc/fstab. В настоящее время это файловые системы /run, /run/lock, /run/shm и /tmp. /run должна иметь тип tmpfs на системах,
поддерживающих монтирование tmpfs. /run/lock и /run/shm могут быть отдельными точками монтирования tmpfs, что полезно для принудительного задания ограничений
на размер. /tmp не обязательно должна иметь тип tmpfs и по умолчанию не монтируется как tmpfs.
/run
Ранее /run настраивалась через переменную RAMRUN в файле /etc/default/rcS, но теперь всегда монтируется как файловая система
в оперативной памяти (tmpfs). Размер этой tmpfs можно настраивать при помощи TMPFS_SIZE и RUN_SIZE. При желании значения по умолчанию можно заменить при помощи
записи в /etc/fstab, например:
tmpfs /run tmpfs nodev,nosuid,size=10%,mode=755 0 0
Содержимое /run пропадает при каждой перезагрузке системы и поэтому не очищается специально в процессе загрузки.
Пакеты не должны ждать наличия каталогов в /run после загрузки. Если же пакет рассчитывает на это, он неисправен и должен быть исправлен. Отметим, что раньше
вместо /run использовался /var/run, поэтому в целях совместимости создаётся символическая ссылка или точка монтирования типа bind.
/run/lock
Ранее настраивался при помощи RAMLOCK в файле /etc/default/rcS. Настраивается при помощи RAMLOCK, TMPFS_SIZE и LOCK_SIZE.
При желании, значения по умолчанию можно заменить при помощи записи в /etc/fstab, например:
tmpfs /run/lock tmpfs nodev,noexec,nosuid,size=52428800,mode=1777 0 0
Отметим, что вне зависимости от этих настроек /run/lock будет размещён на tmpfs, если смонтированы /run/lock (если
RAMLOCK=yes) или /run (если RAMLOCK=no), в результате чего содержимое /var/lock всё равно будет утрачено при перезагрузке системы и для этого больше не нужна
явная очистка в процессе загрузки. Пакеты не должны рассчитывать на существование каталогов в /var/lock после загрузки системы. Пакеты, рассчитывающие на это
являются неисправными и должны быть исправлены. Отметим, что /run/lock ранее располагался в /var/lock и в целях совместимости создаётся ссылка или
bind−монтирование.
/run/shm
Ранее настраивался при помощи RAMSHM в файле /etc/default/rcS. Отметим, что если есть настройка в /etc/default/rcS, она
продолжает использоваться, но при наличии настройки в файле /etc/default/tmpfs, она имеет приоритет. Настраивается при помощи RAMSHM, TMPFS_SIZE и SHM_SIZE.
При желании, значения по умолчанию можно заменить при помощи записи в /etc/fstab, например:
tmpfs /run/shm tmpfs nosuid,nodev,size=40%,mode=1777 0 0
Пакеты не должны рассчитывать на существование каталогов в /run/shm после загрузки системы. Отметим, что /run/shm
ранее располагался в /dev/shm и в целях совместимости создаётся ссылка или bind−монтирование. Если в файле /etc/fstab имеется запись для /dev/shm вместо
/run/shm, то будет продолжено использование /dev/shm; отметим, что это нужно только для пользователей свежих версий базы данных Oracle, которая содержит
неправильную проверку /dev/shm.
/tmp
Ранее настраивалась при помощи RAMTMP в файле /etc/default/rcS. Отметим, что если настройка есть в /etc/default/rcS, она будет использоваться, но
если указана настройка в /etc/default/tmpfs, она будет иметь приоритет. Настраивается с помощью RAMTMP, TMPFS_SIZE и TMP_SIZE. При желании, значения по
умолчанию можно заменить строчкой в файле /etc/fstab, например:
tmpfs /tmp tmpfs nodev,nosuid,size=20%,mode=1777 0 0
Пакеты не должны расчитывать на наличие каталогов в /tmp после загрузки системы.
ОПЦИИ
Могут быть настроены следующие переменные.
Включение и отключение монтирования tmpfs
Следующие опции определяют, должны ли использоваться специальные точки монтирования (за исключением /run). Отметим, что добавление строчек в файл /etc/fstab
для любой из этих точек монтирования включит их безусловное монтирование с заменой соответствующих настроек.
RAMLOCK
Смонтировать /run/lock как tmpfs (отдельно от /run). По умолчанию − yes − включено; задайте no чтобы отключить (в
таком случае /run/lock станет частью файловой системы /run типа tmpfs, если она используется).
RAMSHM
Смонтировать /run/shm как tmpfs (отдельно от /run). По умолчанию − yes − включено; задайте no чтобы отключить (в таком случае /run/shm станет
частью файловой системы /run типа tmpfs, если она используется).
RAMTMP
Смонтировать /tmp как tmpfs. По умолчанию − no − отключено; задайте yes чтобы включить (/tmp является частью корневой файловой системы, если
выключено). /tmp также может быть настроена отдельно через файл /etc/fstab. В таком случае настройки RAMTMP будут заменены.
Настройка ограничений размера для точек монтирования tmpfs
Следующие опции ограничивают размер точек монтирования tmpfs. Отметим, что настройка дополнительной записи в /etc/fstab заменит настроенные здесь
ограничения.
Следующие переменные _SIZE задают максимальый размер (в байтах), который может использоваться файловой системой
tmpfs. Этот размер будет округлён в меньшую сторону до размера, кратного размеру страницы − 4096 байт. Если размер не задан, в качестве умолчания будет
использоваться TMPFS_SIZE.
Для настройки более сложных опций можно использовать соответствующие записи в файле /etc/fstab. Например:
tmpfs /run tmpfs size=10% 0 0
будет равнозначно
RUN_SIZE=10%
и перекроет настройку RUN_SIZE. Таким образом можно задать дополнительные опции, например nr_blocks и nr_inodes, и
задать точные значения опций mode, nodev, nosuid, noexec, если нужно, чтобы они отличались от используемых по умолчанию.
TMPFS_SIZE
Максимальный размер всех файловых систем tmpfs, если соответствующий размер не был указан. По умолчанию − 20%VM (20%
виртуальной памяти, включая разделы подкачки). Если значение не указано, будет использовано значение по умолчанию из ядра (50% RAM). Отметим, что суффикс "%VM"
может использоваться не только здесь, но и во всех настройках _SIZE, описанных ниже, но не может использоваться в файле /etc/fstab, потому что абсолютные
значения вычисляются скриптами инициализации.
RUN_SIZE
Максимальный размер /run (ранее был размером /var/run). По умолчанию − 10% основной памяти; необходимый размер может сильно
отличаться в зависимости от нужд используемого программного обеспечения; это значение регулирует размер /run в зависимости от размера системы. В частности,
Samba замечена в использовании как минимум 50MiB на интенсивно используемом сервере. Обычно используются сотни KiB, максимум − десятки MiB.
LOCK_SIZE
Максимальный размер /run/lock (ранее был размером /var/lock). По умолчанию − 5242880 (5 MiB). Обычно используются десятки KiB;
максимум − сотни KiB. Значение по умолчанию − 5 MiB, для уверенности в том, что это ограничение не будет достигнуто.
SHM_SIZE
Максимальный размер /run/shm (ранее был размером /dev/shm). Нет значения по умолчанию; необходимый размер может сильно отличаться в
зависимости от нужд используемого программного обеспечения.
TMP_SIZE
Максимальный размер /tmp. Нет значения по умолчанию.
Аварийное переполнение /tmp
Если общий объём свободного места на корневой файловой системе упадёт ниже соответствующего размера, tmpfs будет смонтирована в /tmp (вне зависимости от
настройки RAMTMP, значение которой будет заменено). Это делается для того, чтобы в условиях нехватки места позволить войти в систему, что в противном случае
будет невозможно.
TMP_OVERFLOW_LIMIT
Смонтировать tmpfs в точке /tmp, если общий объём свободного места на корневой файловой системе упадёт ниже указанного предела в
процессе загрузки системы (по умолчанию − 1024 KiB).
АВТОР
Роджер Лейх (Roger Leigh) <rleigh@debian.org>
АВТОР ПЕРЕВОДА
Перевод на русский язык выполнил Владимир Ступин <vladimir@stupin.su>.
СМОТРИ ТАКЖЕ
mount(8), rcS(5).