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).