MyTetra Share
Делитесь знаниями!
Опции команды mount и опции монтирования
Время создания: 09.12.2022 12:33
Текстовые метки: linux, mount, монтирование, опции, файловая система, раздел, диск, ext4, ext3, ext2, ext, ntfs, fat, exfat, umsdos, msdos, vfat, vboxsf, iso9660, udf, fuse, tmpfs, cifs, smb3
Раздел: Компьютер - Linux - Bash - Команды и скрипты
Запись: xintrea/mytetra_syncro/master/base/1670578396ezepuidmdv/text.html на raw.github.com

Дисклеймер: В этой статье методично сделано описание опций монтирования на русском языке для всех популярных файловых систем: ext4, ext3, ext2, ext, ntfs, fat, exfat, umsdos, msdos, vfat, vboxsf, iso9660, udf, fuse, tmpfs, cifs, smb3. Данные файловые системы используются в Linux, Windows, MacOs, а так же при организации сетевых файловых хранилищ (файл-серверов).



Опции команды mount


Полный набор опций монтирования, используемых при вызове монтирования, определяется сначала извлечением опций монтирования для файловой системы из таблицы fstab, затем применением любых опций, указанных аргументом -o, и, наконец, применением опции -r или -w, если они присутствуют.


Параметры командной строки, доступные для команды mount:

-a, --all

Смонтировать все файловые системы (указанных типов), упомянутые в fstab (кроме тех, чья строка содержит ключевое слово noauto). Файловые системы монтируются в соответствии с их порядком в fstab. Команда mount сравнивает источник файловой системы, цель (и корень fs для bind mount или btrfs) для обнаружения уже смонтированных файловых систем. Таблица ядра с уже смонтированными файловыми системами кэшируется во время монтирования --all. Это означает, что все повторяющиеся записи fstab будут смонтированы.

Параметр --all также можно использовать для операции повторного монтирования. В этом случае все фильтры (-t и -O) применяются к таблице уже смонтированных файловых систем.

Начиная с версии 2.35, можно использовать параметр командной строки -o для изменения параметров монтирования из fstab (см. также --options-mode).

Обратите внимание, что использование mount -a для проверки fstab — плохая практика. Рекомендуемое решение:


findmnt --verify


-B, --bind

Перемонтировать поддерево в другом месте (чтобы его содержимое было доступно в обоих местах).

-c, --no-canonicalize

Не канонизировать пути. Команда mount по умолчанию канонизирует все пути (из командной строки или fstab). Этот параметр можно использовать вместе с флагом -f для уже канонизированных абсолютных путей. Опция предназначена для помощников монтирования, которые вызывают mount -i. Настоятельно рекомендуется не использовать этот параметр командной строки для обычных операций монтирования.

Обратите внимание, что mount не передаёт эту опцию помощникам /sbin/mount.ТИП.

-F, --fork

(Используется вместе с -a.) Разветвляет новое воплощение mount для каждого устройства. Это позволит выполнять монтирование на разных устройствах или на разных серверах NFS параллельно.

Эта опция имеет преимущество в скорости; также таймауты NFS продолжаются параллельно. Недостатком является то, что порядок операций монтирования не определён. Таким образом, вы не можете использовать эту опцию, если хотите монтировать и /usr и /usr/spool.

-f, --fake

Делает все, кроме самого системного вызова; проще говоря, это подделка монтирования файловой системы. Эта опция полезна вместе с флагом -v, чтобы определить, что пытается сделать команда монтирования. Её также можно использовать для добавления записей для устройств, которые были смонтированы ранее с параметром -n. Параметр -f проверяет наличие существующей записи в /etc/mtab и завершается ошибкой, если запись уже существует (при обычном монтировании без подделки эта проверка выполняется ядром).

-i, --internal-only

Не вызывать помощник /sbin/mount.ФАЙЛОВАЯ-СИСТЕМА, даже если он существует.

-L, --label МЕТКА

Скопировать раздел, имеющий указанную метку.

-l, --show-labels

Добавляет метки в вывод монтирования. Для этого у mount должно быть разрешение на чтение с дискового устройства (например, root-идентификатор пользователя). Такую метку можно установить для ext2, ext3 и ext4 с помощью утилиты e2label, для XFS с помощью xfs_admin и для reiserfs с помощью reiserfstune.

-M, --move

Переместить поддерево в другое место. Смотри подраздел «Перемещение точки монтирования».

-n, --no-mtab

Смонтировать без записи в /etc/mtab. Это необходимо, например, когда /etc находится в файловой системе, доступной только для чтения.

-N, --namespace ns

Выполнит операцию монтирования в пространстве имён монтирования, указанном ns. ns — это либо PID процесса, запущенного в этом пространстве имён, либо специальный файл, представляющий это пространство имён.

mount переключается на пространство имён mount, когда он читает /etc/fstab, записывает /etc/mtab (или записывает в /run/mount) и вызывает системный вызов mount, в противном случае он выполняется в исходном пространстве имён mount. Это означает, что целевое пространство имён необязательно должно содержать какие-либо библиотеки или другие требования, необходимые для выполнения вызова mount.

Смотрите mount_namespaces для получения дополнительной информации.

-O, --test-opts opts

Ограничивает набор файловых систем, к которым применяется опция -a. В этом отношении он похож на параметр -t, за исключением того, что -O бесполезен без -a. Например, команда:


mount -a -O no_netdev


монтирует все файловые системы, кроме тех, для которых параметр _netdev указан в поле параметров в файле /etc/fstab.

Она отличается от -t тем, что каждый параметр соответствует точно; ведущее «no» в начале одного варианта не отменяет остальных.

Опции -t и -O действуют кумулятивно; то есть команда:


mount -a -t ext2 -O _netdev


монтирует все файловые системы ext2 с параметром _netdev, а не файловые системы, которые либо ext2, либо с указанным параметром _netdev.

-o, --options ОПЦИИ

Использовать указанные параметры монтирования. Аргумент ОПЦИИ представляет собой список, разделённый запятыми. Например:


mount LABEL=mydisk -o noatime,nodev,nosuid


--options-mode РЕЖИМ

Управляет тем, как комбинировать параметры из fstab/mtab с параметрами из командной строки. РЕЖИМ может быть одним из ignore (игнорирования), append (добавления), prepend (добавления перед) или replace (замены). Например, append означает, что параметры из fstab добавляются к параметрам из командной строки. Значение по умолчанию — prepend — это означает, что параметры командной строки оцениваются после параметров fstab. Обратите внимание, что последний вариант выигрывает, если есть конфликтующие.

--options-source ИСТОЧНИК

Источник опций по умолчанию. ИСТОЧНИК — это список файлов fstab, mtab и disable, разделённых запятыми. disable отключает fstab и mtab и отключает --options-source-force. Значение по умолчанию — fstab,mtab.

--options-source-force

Использовать параметры из fstab/mtab, даже если указаны и устройство, и каталог.

-R, --rbind

Перемонтировать поддерево и все возможные подмонтирования в другом месте (чтобы его содержимое было доступно в обоих местах). Смысл опции в привязке директории с файловой системой через bind.

-r, --read-only

Монтирует файловую систему только для чтения. Синоним -o ro.

Обратите внимание, что, в зависимости от типа файловой системы, состояния и поведения ядра, система все ещё может записывать данные на устройство. Например, ext3 и ext4 будут воспроизводить журнал, если файловая система загрязнена. Чтобы предотвратить такой доступ для записи, вы можете смонтировать файловую систему ext3 или ext4 с параметрами монтирования ro,noload или установить само блочное устройство в режим только для чтения, для этого используйте команду blockdev.

-s

Терпит неаккуратные варианты монтирования вместо завершения работы с ошибкой. При этом будут проигнорированы параметры монтирования, не поддерживаемые типом файловой системы. Не все файловые системы поддерживают эту опцию. В настоящее время она поддерживается только помощником монтирования mount.nfs.

--source УСТРОЙСТВО

Если указан только один аргумент для команды монтирования, то этот аргумент может интерпретироваться как цель (точка монтирования) или источник (устройство). Эта опция позволяет вам явно указать, что аргумент является источником монтирования.

--target ДИРЕКТОРИЯ

Если указан только один аргумент для команды монтирования, то этот аргумент может интерпретироваться как цель (точка монтирования) или источник (устройство). Эта опция позволяет вам явно указать, что аргумент является целью монтирования.

--target-prefix ДИРЕКТОРИЯ

Добавляет указанный каталог ко всем целям монтирования. Этот параметр можно использовать для отслеживания fstab, но операции монтирования выполняются в другом месте, например:


mount --all --target-prefix /chroot -o X-mount.mkdir


монтирует всё из системного fstab в /chroot, все отсутствующие точки монтирования создаются (из-за X-mount.mkdir). Смотрите также --fstab, чтобы использовать альтернативный fstab.

-T, --fstab ПУТЬ

Задаёт альтернативный файл fstab. Если ПУТЬ — это каталог, то файлы в каталоге сортируются с помощью strverscmp; файлы, начинающиеся с "." или без расширения .fstab игнорируются. Опция может быть указана более одного раза. Этот параметр в основном разработан для сценариев initramfs или chroot, где указывается дополнительная конфигурация помимо стандартной конфигурации системы.

Обратите внимание, что mount не передаёт параметр --fstab помощникам /sbin/mount.ТИП, что означает, что альтернативные файлы fstab будут невидимы для помощников. Это не проблема для обычных монтирований, но пользовательские (не root) монтирования всегда требуют fstab для проверки прав пользователя.

-t, --types fstype

Аргумент, следующий за -t, используется для указания типа файловой системы. Типы файловых систем, которые в настоящее время поддерживаются, зависят от работающего ядра. Смотрите /proc/filesystems и /lib/modules/$(uname -r)/kernel/fs для получения полного списка файловых систем. Наиболее распространены ext2, ext3, ext4, xfs, btrfs, vfat, sysfs, proc, nfs и cifs.

Программы mount и umount поддерживают подтипы файловых систем. Подтип определяется суффиксом «.subtype». Например, «fuse.sshfs». Рекомендуется использовать обозначение подтипа вместо добавления префикса к источнику монтирования (например, «sshfs#example.com» является устаревшим).

Если опция -t не указана или указан тип auto, mount попытается угадать желаемый тип. Mount использует библиотеку blkid для определения типа файловой системы; если при этом не появится ничего знакомого, mount попытается прочитать файл /etc/filesystems или, если он не существует, /proc/filesystems. Будут опробованы все перечисленные там типы файловых систем, кроме тех, которые помечены как «nodev» (например, devpts, proc и nfs). Если /etc/filesystems оканчивается строкой с одним *, то mount затем прочитает /proc/filesystems. Во время попытки все типы файловых систем будут смонтированы с опцией монтирования silent.

Создание файла /etc/filesystems может быть полезно для изменения порядка проверки (например, чтобы попробовать vfat перед msdos или ext3 перед ext2) или если вы используете автозагрузчик модуля ядра.

Для параметра -t, а также в записи /etc/fstab можно указать несколько типов, разделённых запятой. Список типов файловых систем для параметра -t может начинаться с префикса no, чтобы указать типы файловых систем, с которыми не следует предпринимать никаких действий. Префикс no не действует, если он указан в записи /etc/fstab.

Префикс no может иметь значение с параметром -a. Например, команда


mount -a -t nomsdos,smbfs


монтирует все файловые системы, кроме систем типа msdos и smbfs.

Для большинства типов всё, что нужно сделать программе mount, - это выполнить простой системный вызов mount, и никаких подробных знаний о типе файловой системы не требуется. Однако для некоторых типов (таких как nfs, nfs4, cifs, smbfs, ncpfs) необходим специальный код. Файловые системы nfs, nfs4, cifs, smbfs и ncpfs имеют отдельную программу монтирования. Чтобы можно было обрабатывать все типы единообразно, mount будет выполнять программу /sbin/mount.ТИП (если она существует) при вызове с типом ТИП. Поскольку разные версии программы smbmount имеют разные соглашения о вызовах, /sbin/mount.smbfs может быть сценарием оболочки, который устанавливает желаемый вызов.

-U, --uuid uuid

Монтирует раздел с указанным uuid.

-v, --verbose

Подробный режим.

-w, --rw, --read-write

Монтирует файловую систему для чтения/записи. Чтение-запись — это значение по умолчанию ядра, а монтировании по умолчанию только для чтения выполняется при попытке монтирования, если предыдущий системный вызов монтирования с флагами чтения-записи на защищённых от записи устройствах файловых систем завершился неудачно.

Синоним -o rw.

Обратите внимание, что указание -w в командной строке заставляет mount никогда не пробовать монтирование только для чтения на устройствах защищённых от записи или уже смонтированных файловых системах только для чтения.

-V, --version

Показать информацию о версии и выйти.

-h, --help

Показать текст справки и выйти.


Опции монтирования, не зависящие от файловой системы

Некоторые из этих параметров полезны только тогда, когда они появляются в файле /etc/fstab.

Некоторые из этих параметров могут быть включены или отключены по умолчанию в ядре системы. Чтобы проверить текущую настройку, смотрите параметры в /proc/mounts. Обратите внимание, что файловые системы также имеют параметры монтирования по умолчанию для каждой файловой системы. Например, чтобы посмотреть установленные параметры для файловых систем extN выполните команду вида:


tune2fs -l /dev/РАЗДЕЛ


Следующие параметры применяются к любой монтируемой файловой системе (но на самом деле не каждая файловая система учитывает их — например, параметр sync сегодня действует только для ext2, ext3, ext4, fat, vfat, ufs и xfs):

async

Все операции ввода-вывода в файловую систему должны выполняться асинхронно. (Смотрите также параметр sync.)

atime

Не использовать функцию noatime, поэтому время доступа к inode контролируется настройками ядра по умолчанию. Смотрите также описание параметров монтирования relatime и strictatime.

noatime

Не обновлять время доступа к индексным дескрипторам в этой файловой системе. Это работает для всех типов inode (также для каталогов), поэтому подразумевает nodiratime.

auto

Может быть смонтирован при запуске mount с опцией -a.

noauto

Может быть смонтирован только явно (т.е. опция -a не приведёт к монтированию файловой системы).

context=КОНТЕКСТ, fscontext=КОНТЕКСТ, defcontext=КОНТЕКСТ и rootcontext=КОНТЕКСТ

Параметр context= полезен при монтировании файловых систем, которые не поддерживают расширенные атрибуты, таких как дискета или жёсткий диск, отформатированные с помощью VFAT, или системы, которые обычно не работают под SELinux, например, отформатированный в ext3 или ext4 диск из рабочей станции не-SELinux. Вы также можете использовать context= для файловых систем, которым вы не доверяете, например, для дискет. Это также помогает в совместимости с файловыми системами, поддерживающими xattr, в более ранних версиях ядра 2.4.<x>. Даже там, где поддерживаются xattrs, вы можете сэкономить время, не помечая каждый файл, назначив всему диску один контекст безопасности.

Обычно для съёмных носителей используется параметр «context="system_u:object_r:removable_t"».

Два других параметра — это fscontext= и defcontext=, они оба исключают параметр context=. Это означает, что вы можете использовать fscontext и defcontext друг с другом, но ни один из них не может использоваться с context.

Параметр fscontext= работает для всех файловых систем, независимо от их поддержки xattr. Опция fscontext устанавливает общую метку файловой системы для определённого контекста безопасности. Эта метка файловой системы отделена от отдельных меток файлов. Она представляет всю файловую систему для определённых видов проверок разрешений, например, во время монтирования или создания файла. Индивидуальные метки файлов по-прежнему берутся из xattrs самих файлов. Параметр context фактически устанавливает совокупный контекст, который предоставляет fscontext, в дополнение к предоставлению той же метки для отдельных файлов.

Вы можете установить контекст безопасности по умолчанию для немаркированных файлов, используя опцию defcontext=. Это переопределяет значение, установленное для немаркированных файлов в политике, и требует файловой системы, поддерживающей маркировку xattr.

Параметр rootcontext= позволяет вам явно пометить корневой индексный узел монтируемой файловой системы до того, как эта файловая система или индексный узел станет видимым для пользовательского пространства. Это оказалось полезным для таких вещей, как Linux без сохранения состояния.

Обратите внимание, что ядро отклоняет любой запрос перемонтирования, который включает параметр контекста, даже если он не изменился по сравнению с текущим контекстом.

Предупреждение: значение context может содержать запятые, и в этом случае значение должно быть правильно заключено в кавычки, иначе mount интерпретирует запятую как разделитель между параметрами монтирования. Не забывайте, что оболочка удаляет кавычки, и поэтому требуется двойное цитирование. Например:


mount -t tmpfs none /mnt -o 'context="system_u:object_r:tmp_t:s0:c127,c456",noexec'


Больше подробностей смотрите в справке по selinux.

defaults

Использовать параметры по умолчанию: rw, suid, dev, exec, auto, nouser и async.

Обратите внимание, что реальный набор всех параметров монтирования по умолчанию зависит от типа ядра и файловой системы.

dev

Интерпретировать специальные символьные или блочные устройства в файловой системе.

nodev

Не интерпретировать специальные символьные или блочные устройства в файловой системе.

diratime

Обновлять время доступа inode к каталогу в этой файловой системе. Это значение по умолчанию. (Этот параметр игнорируется, если установлено noatime.)

nodiratime

Не обновлять время доступа inode к каталогу в этой файловой системе. (Этот параметр подразумевается, если установлен noatime.)

dirsync

Все обновления каталогов в файловой системе должны выполняться синхронно. Это влияет на следующие системные вызовы: creat, link, unlink, symlink, mkdir, rmdir, mknod и rename.

exec

Разрешить выполнение двоичных файлов.

noexec

Не разрешать прямое выполнение любых двоичных файлов в смонтированной файловой системе.

group

Разрешить обычному пользователю монтировать файловую систему, если одна из групп этого пользователя соответствует группе устройства. Этот параметр подразумевает параметры nosuid и nodev (если они не переопределены последующими параметрами в строке опций group,dev,suid).

iversion

Каждый раз, когда изменяется индексный дескриптор, поле i_version будет увеличиваться.

noiversion

Не увеличивать поле иноды i_version.

mand

Разрешить обязательную блокировку этой файловой системы. Смотрите fcntl.

nomand

Не разрешать принудительные блокировки этой файловой системы.

_netdev

Файловая система находится на устройстве, которому требуется доступ к сети (используется для предотвращения попыток системы смонтировать эти файловые системы до тех пор, пока в системе не будет включена сеть).

nofail

Не сообщать об ошибках для этого устройства, если оно не существует.

relatime

Обновить время доступа к inode относительно времени модификации или изменения. Время доступа обновляется, только если предыдущее время доступа было раньше, чем текущее время модификации или изменения.

(Подобно noatime, но не нарушает работу mutt или других приложений, которым необходимо знать, был ли файл прочитан с момента последнего изменения.)

Начиная с Linux 2.6.30, ядро по умолчанию использует поведение, обеспечиваемое этой опцией (если не указано noatime), а опция strictatime требуется для получения традиционной семантики. Кроме того, начиная с Linux 2.6.30, время последнего доступа к файлу всегда обновляется, если ему более 1 дня.

norelatime

Не использовать функцию relatime. Смотрите также вариант монтирования strictatime.

strictatime

Позволяет явно запрашивать полные обновления времени. Это позволяет ядру по умолчанию использовать relatime или noatime, но все же позволяет пользовательскому пространству переопределять его. Для получения дополнительных сведений о параметрах монтирования системы по умолчанию смотрите /proc/mounts.

nostrictatime

Использовать поведение ядра по умолчанию для обновления времени доступа inode.

lazytime

Обновлять только время (atime, mtime, ctime) версии файловых inode в памяти.

Эта опция монтирования значительно сокращает количество операций записи в таблицу inode для рабочих нагрузок, которые часто выполняют произвольную запись в заранее выделенные файлы.

Временные метки на диске обновляются только в следующих случаях:

  • необходимо обновить inode для некоторых изменений, не связанных с временными метками файла
  •  приложение использует fsync, syncfs или sync
  • неудалённый inode убирается из памяти
  • с момента записи i-node на диск прошло более 24 часов.

nolazytime

Не использовать функцию lazytime.

suid

Учитывать биты set-user-ID и set-group-ID или возможности файлов при выполнении программ из этой файловой системы.

nosuid

Не соблюдать биты set-user-ID и set-group-ID или возможности файла при выполнении программ из этой файловой системы.

silent

Включить флаг silent.

loud

Выключить флаг silent.

owner

Разрешить обычному пользователю монтировать файловую систему, если этот пользователь является владельцем устройства. Этот параметр подразумевает параметры nosuid и nodev (если они не отменены последующими параметрами, как в строке параметров owner,dev,suid).

remount

Попытка перемонтировать уже смонтированную файловую систему. Обычно это используется для изменения флагов монтирования файловой системы, особенно для того, чтобы сделать файловую систему доступной для записи. Это не меняет устройство или точку монтирования.

Операция перемонтирования вместе с флагом bind имеет особую семантику. Смотри подраздел «Операция привязки bind».

Функциональность повторного монтирования соответствует стандартному способу работы команды mount с параметрами из fstab. Это означает, что mount не читает fstab (или mtab) только тогда, когда указаны и устройство, и каталог.


mount -o remount,rw /dev/foo /dir


После этого вызова все старые параметры монтирования заменяются, а произвольный материал из fstab (или mtab) игнорируется, за исключением параметра loop=, который генерируется внутри и поддерживается командой mount.


mount -o remount,rw /dir


После этого вызова mount читает fstab и объединяет эти параметры с параметрами из командной строки (-o). Если в fstab не найдена точка монтирования, то разрешено перемонтирование с неуказанным источником.

mount позволяет использовать --all для перемонтирования всех уже смонтированных файловых систем, которые соответствуют указанному фильтру (-O и -t). Например:


mount --all -o remount,ro -t vfat


перемонтирует все уже смонтированные файловые системы vfat в режиме только для чтения. Каждая из файловых систем перемонтируется семантикой «mount -o remount,ro /dir». Это означает, что команда mount считывает fstab или mtab и объединяет эти параметры с параметрами из командной строки.

ro

Смонтировать файловую систему только для чтения.

rw

Смонтировать файловую систему для чтения-записи.

sync

Все операции ввода-вывода в файловую систему должны выполняться синхронно. В случае носителей с ограниченным числом циклов записи (например, некоторые флэш-накопители) синхронизация может привести к сокращению жизненного цикла.

user

Разрешить обычному пользователю монтировать файловую систему. Имя монтирующего пользователя записывается в файл mtab (или в частный файл libmount в /run/mount в системах без обычного mtab), чтобы этот же пользователь мог снова размонтировать файловую систему. Этот параметр подразумевает параметры noexec, nosuid и nodev (если они не отменены последующими параметрами, как в строке параметров user,exec,dev,suid).

nouser

Запретить обычному пользователю монтировать файловую систему. Это значение по умолчанию; поэтому данную опцию можно не указывать.

users

Разрешить любому пользователю монтировать и размонтировать файловую систему, даже если её смонтировал другой обычный пользователь. Этот параметр подразумевает параметры noexec, nosuid и nodev (если они не отменены последующими параметрами, как в строке параметров users,exec,dev,suid).

X-*

Все параметры с префиксом «X-» интерпретируются как комментарии или как параметры конкретного приложения в пользовательском пространстве. Эти параметры не хранятся в пользовательском пространстве (например, в файле mtab), не отправляются в помощники mount.ТИП или в системный вызов mount. Предлагаемый формат — X-appname.option.

x-*

То же, что и параметры X-*, но постоянно хранятся в пользовательском пространстве. Это означает, что параметры также доступны для размонтирования или других операций. Обратите внимание, что поддерживать параметры монтирования в пользовательском пространстве сложно, потому что необходимо использовать инструменты на основе libmount, и нет гарантии, что параметры будут всегда доступны (например, после операции монтирования перемещения или в неразделенном пространстве имён).

Обратите внимание, что до util-linux v2.30 параметры x-* не поддерживались libmount и не хранились в пространстве пользователя (функциональность была такой же, как и для X-* сейчас), но из-за растущего числа вариантов использования (в initrd, systemd и т. д.) функциональность была расширена, чтобы можно было использовать существующие конфигурации fstab без изменений.

X-mount.mkdir[=РЕЖИМ]

Разрешить создать целевой каталог (точку монтирования), если она ещё не существует. Необязательный аргумент РЕЖИМ определяет режим доступа к файловой системе, используемый для mkdir, в восьмеричной системе счисления. Режим по умолчанию — 0755. Эта функция поддерживается только для пользователей root или при монтировании без прав suid. Опция также поддерживается как x-mount.mkdir, эта нотация устарела с версии 2.30.


Опции монтирования, специфичные для файловых систем

В этом разделе перечислены параметры, относящиеся к конкретным файловым системам.

Следующие параметры применимы только к определенным файловым системам. Все параметры следуют за флагом -o.

Какие опции поддерживаются немного зависит от работающего ядра.


Файловые системы ext4, ext3, ext2, ext

ext — это сложное расширение файловой системы minix. Она была полностью заменена второй версией расширенной файловой системы (ext2) и была удалён из ядра (в 2.1.21).

ext2 — это высокопроизводительная дисковая файловая система, используемая Linux для фиксированных дисков, а также съёмных носителей. Вторая расширенная файловая система была разработана как расширение расширенной файловой системы (ext).

ext3 — это журналируемая версия файловой системы ext2. Легко переключаться между ext2 и ext3.

ext4 — это набор обновлений для ext3, включая существенные улучшения производительности и надёжности, а также значительное увеличение ограничений на размер тома, файла и каталога.

Вторая, третья и четвёртая расширенные файловые системы, или, как их обычно называют, ext2, ext3 и ext4 — это файловые системы Linux, которые исторически были файловой системой по умолчанию для многих дистрибутивов Linux. Это файловые системы общего назначения, которые были разработаны для обеспечения расширяемости и обратной совместимости. В частности, файловые системы, ранее предназначенные для использования с файловыми системами ext2 и ext3, могут быть смонтированы с помощью драйвера файловой системы ext4, и действительно, во многих современных дистрибутивах Linux драйвер файловой системы ext4 настроен для обработки запросов монтирования для файловых систем ext2 и ext3.

Опции монтирования для ext2

Файловая система ext2 — это стандартная файловая система Linux. Начиная с Linux 2.5.46, для большинства параметров монтирования значение по умолчанию определяется суперблоком файловой системы. Установить их можно с помощью tune2fs.

acl|noacl

Поддержка списков контроля доступа POSIX (или нет). Смотрите страницу руководства по acl.

bsddf|minixdf

Задаёт поведение для системного вызова statfs. Поведение minixdf состоит в том, чтобы вернуть в поле f_blocks общее количество блоков файловой системы, в то время как поведение bsddf (которое является по умолчанию) заключается в вычитании служебных блоков, используемых файловой системой ext2 и недоступных для хранения файлов. Таким образом


mount /k -o minixdf;

df /k;

umount /k

 

Filesystem  1024-blocks   Used  Available  Capacity  Mounted on

/dev/sda6     2630655    86954   2412169      3%     /k

 

mount /k -o bsddf;

df /k;

umount /k

 

Filesystem  1024-blocks  Used  Available  Capacity  Mounted on

/dev/sda6     2543714      13   2412169      0%     /k


(Обратите внимание, что в этом примере показано, что можно добавить параметры командной строки к параметрам, указанным в /etc/fstab.)

check=none или nocheck

Во время монтирования проверка не выполняется. Это значение по умолчанию. Это быстро. Целесообразно время от времени вызывать e2fsck, например во время загрузки. Поведение не по умолчанию не поддерживается (параметры check=normal и check=strict были удалены). Обратите внимание, что эти параметры монтирования не должны поддерживаться, если драйвер ядра ext4 используется для файловых систем ext2 и ext3.

debug

Печать отладочной информации при каждом (повторном) монтировании.

errors={continue|remount-ro|panic}

Определяет поведение при обнаружении ошибки. (Либо игнорировать ошибки и просто отметить файловую систему как ошибочную и продолжить (continue), либо перемонтировать файловую систему только для чтения (remount-ro), либо паниковать и остановить систему (panic)) Значение по умолчанию устанавливается в суперблоке файловой системы и может быть изменено с помощью tune2fs.

grpid|bsdgroups и nogrpid|sysvgroups

Эти параметры определяют, какой идентификатор группы получает вновь созданный файл. Когда установлен grpid, он принимает идентификатор группы каталога, в котором он создан; в противном случае (по умолчанию) он принимает fsgid текущего процесса, если для каталога не установлен бит setgid, и в этом случае он берет gid из родительского каталога, а также получает установленный бит setgid, если это сам каталог.

grpquota|noquota|quota|usrquota

Параметр монтирования usrquota (то же, что и quota) включает поддержку пользовательских квот в файловой системе. grpquota включает поддержку групповых квот. Вам нужны утилиты quota, чтобы фактически включить систему квот и управлять ею.

nouid32

Отключает 32-битные UID и GID. Это сделано для взаимодействия со старыми ядрами, которые хранят и ожидают только 16-битные значения.

oldalloc или orlov

Использовать старый распределитель или распределитель Орлова для новых inodes. По умолчанию — orlov.

resgid=n и resuid=n

Файловая система ext2 резервирует определённый процент доступного пространства (по умолчанию 5%, смотрите mke2fs(8) и tune2fs(8)). Эти параметры определяют, кто может использовать зарезервированные блоки. (Примерно: тот, кто имеет указанный uid или принадлежит к указанной группе.)

sb=n

Вместо использования обычного суперблока использовать альтернативный суперблок, указанный в n. Эта опция обычно используется, когда повреждён первичный суперблок. Расположение суперблоков резервного копирования зависит от размера блока файловой системы, количества блоков в группе и таких функций, как sparse_super.

Дополнительные резервные суперблоки могут быть определены с помощью программы mke2fs с использованием опции -n для вывода на печать, где существуют суперблоки, предполагая, что mke2fs снабжён аргументами, которые соответствуют структуре файловой системы (например, размер блока, количество блоков на группу, sparse_super и т. д.) .

Номер блока здесь использует 1 k единиц. Таким образом, если вы хотите использовать логический блок 32768 в файловой системе с 4k блоками, используйте «sb=131072».

user_xattr|nouser_xattr

Поддержка «пользовательских» расширенных атрибутов (или нет).

Опции монтирования для ext3

Файловая система ext3 — это версия файловой системы ext2, в которую добавлено ведение журнала. Она поддерживает те же параметры, что и ext2, а также следующие дополнения:

journal_dev=devnum/journal_path=ПУТЬ

Когда старший/младший номер внешнего устройства журнала изменились, эти параметры позволяют пользователю указать новое местоположение журнала. Журнальное устройство идентифицируется либо по его новым старшим/младшим номерам, закодированным в devnum, либо по пути к устройству.

norecovery/noload

Не загружать журнал при монтировании. Обратите внимание: если файловая система не была размонтирована чисто, пропуск воспроизведения журнала приведёт к тому, что файловая система будет содержать несогласованности, которые могут привести к любому количеству проблем.

data={journal|ordered|writeback}

Задаёт режим ведения журнала для данных файла. Метаданные всегда журналируются. Чтобы использовать в корневой файловой системе режимы, отличные от ordered, передайте режим ядру в качестве параметра загрузки, например rootflags=data=journal.

journal

Все данные фиксируются в журнале до записи в основную файловую систему.

ordered

Это режим «по умолчанию». Все данные принудительно передаются непосредственно в основную файловую систему до того, как их метаданные будут сохранены в журнале.

writeback

Порядок данных не сохраняется — данные могут быть записаны в основную файловую систему после того, как её метаданные были зафиксированы в журнале. По слухам, это самый высокопроизводительный вариант. Он гарантирует целостность внутренней файловой системы, однако может позволить старым данным появляться в файлах после сбоя и восстановления журнала.

data_err=ignore

Просто печатать сообщение об ошибке, если ошибка происходит в буфере данных файла в режиме ordered.

data_err=abort

Прервать журнал, если в буфере данных файла в режиме ordered возникла ошибка.

barrier=0 / barrier=1

Это отключает/включает использование барьеров записи в коде jbd. barrier=0 отключает, barrier=1 включает (установлен по умолчанию). Для этого также требуется стек ввода-вывода, который может поддерживать барьеры, и если jbd получит ошибку при записи барьера, он снова отключит барьеры с предупреждением. Барьеры записи обеспечивают надлежащий порядок журнальных коммитов на диске, что делает использование кэшей записи на энергозависимый диск безопасным при некотором снижении производительности. Если ваши диски так или иначе имеют резервное питание от батареи, отключение барьеров может безопасно повысить производительность.

commit=nrsec

Начать фиксацию журнала каждые nrsec секунд. Значение по умолчанию — 5 секунд. Ноль означает по умолчанию.

user_xattr

Включает расширенные атрибуты пользователя. Смотрите страницу руководства attr(5).

jqfmt={vfsold|vfsv0|vfsv1}

Помимо старой системы квот (как в ext2, jqfmt=vfsold или квота версии 1) ext3 также поддерживает журналируемые квоты (квота версии 2). jqfmt=vfsv0 или jqfmt=vfsv1 включает журналируемые квоты. У журналируемых квот есть то преимущество, что даже после сбоя проверка квоты не требуется. Когда функция файловой системы квот включена, журналируемые квоты используются автоматически, и этот параметр монтирования игнорируется.

usrjquota=aquota.user|grpjquota=aquota.group

Для журналируемых квот (jqfmt=vfsv0 или jqfmt=vfsv1) параметры монтирования srjquota=aquota.user и grpjquota=aquota.group необходимы, чтобы указать системе квот, какие файлы базы данных квот использовать. Когда функция файловой системы квот включена, журналируемые квоты используются автоматически, и этот параметр монтирования игнорируется.

Опции монтирования для ext4

Файловая система ext4 — это продвинутый уровень файловой системы ext3, который включает улучшения масштабируемости и надёжности для поддержки больших файловых систем.

Параметры journal_dev, journal_path, norecovery, noload, data, commit, orlov, oldalloc, [no]user_xattr, [no]acl, bsddf, minixdf, debug, errors, data_err, grpid, bsdgroups, nogrpid, sysvgroups, resgid, resuid, sb, quota, noquota, nouid32, grpquota, usrquota, usrjquota, grpjquota и jqfmt обратно совместимы с ext3 или ext2.

journal_checksum | nojournal_checksum

Параметр journal_checksum включает контрольную сумму проводок журнала. Это позволит коду восстановления в e2fsck и ядру обнаружить повреждение ядра. Это совместимое изменение, оно будет проигнорировано старыми ядрами.

journal_async_commit

Блок фиксации может быть записан на диск, не дожидаясь блоков дескриптора. Если включено, старые ядра не могут смонтировать устройство. Это включит «journal_checksum» внутри.

barrier=0 / barrier=1 / barrier / nobarrier

Эти параметры монтирования имеют тот же эффект, что и в ext3. Опции монтирования «barrier» и «nobarrier» добавлены для согласованности с другими вариантами монтирования ext4.

Файловая система ext4 по умолчанию включает барьеры записи.

inode_readahead_blks=n

Этот параметр настройки контролирует максимальное количество блоков таблицы inode, которые алгоритм опережающего чтения таблицы inode ext4 будет предварительно считывать в буферный кеш. Значение должно быть степенью 2. Значение по умолчанию — 32 блока.

stripe=n

Количество блоков файловой системы, которые mballoc попытается использовать для размера выделения и выравнивания. Для систем RAID5/6 это должен быть номер размер блока дисковых данных * RAID в блоках файловой системы.

delalloc

Отсрочка выделения блока до времени списания.

nodelalloc

Отключить отложенное выделение. Блоки выделяются при копировании данных от пользователя в кеш страницы.

max_batch_time=usec

Максимальное время, в течение которого ext4 должна ожидать пакетной обработки дополнительных операций файловой системы вместе с синхронной операцией записи. Поскольку синхронная операция записи будет принудительно выполнить фиксацию, а затем дожидаться завершения ввода-вывода, это не требует больших затрат и может быть огромным выигрышем в пропускной способности, мы ждём небольшое количество времени, чтобы увидеть, есть ли другие транзакции, которые могут совмещаться с синхронной записью. Используемый алгоритм предназначен для автоматической настройки скорости диска путём измерения количества времени (в среднем), которое требуется для завершения фиксации транзакции. Назовите это время «временем фиксации». Если время выполнения транзакции меньше, чем время фиксации, ext4 попытается засыпать на время фиксации, чтобы увидеть, присоединятся ли к транзакции другие операции. Время фиксации ограничено max_batch_time, которое по умолчанию составляет 15000 мкс (15 мс). Эту оптимизацию можно полностью отключить, установив max_batch_time равным 0.

min_batch_time=usec

Этот параметр устанавливает время фиксации (как описано выше) как минимум min_batch_time. По умолчанию это ноль микросекунд. Увеличение этого параметра может улучшить пропускную способность многопоточных синхронных рабочих нагрузок на очень быстрых дисках за счёт увеличения задержки.

journal_ioprio=prio

Приоритет ввода-вывода (от 0 до 7, где 0 — наивысший приоритет), который следует использовать для операций ввода-вывода, отправленных kjournald2 во время операции фиксации. По умолчанию это 3, что является немного более высоким приоритетом, чем приоритет ввода-вывода по умолчанию.

abort

Смоделирует эффекты вызова ext4_abort() в целях отладки. Обычно это используется при перемонтировании уже смонтированной файловой системы.

auto_da_alloc|noauto_da_alloc

Многие плохие приложения не используют fsync() при замене существующих файлов с помощью таких шаблонов, как


fd = open("foo.new")/write(fd,...)/close(fd)/ rename("foo.new", "foo")


или ещё хуже


fd = open("foo", O_TRUNC)/write(fd,...)/close(fd).


Если auto_da_alloc включен, ext4 обнаружит шаблоны replace-via-rename и replace-via-truncate и сделает так, что любые отсроченные блоки выделялись таким образом, чтобы при следующей фиксации журнала в дефолтном режиме data=ordered блоки данных нового файла будут принудительно записаны на диск до того, как будет зафиксирована операция rename(). Это обеспечивает примерно тот же уровень гарантий, что и ext3, и позволяет избежать проблемы «нулевой длины», которая может возникнуть при сбое системы до того, как блоки отложенного распределения будут перенесены на диск.

noinit_itable

Не инициализировать никакие неинициализированные блоки таблицы inode в фоновом режиме. Эта функция может использоваться установочными компакт-дисками, чтобы процесс установки завершился как можно быстрее; тогда процесс инициализации таблицы inode будет отложен до следующего монтирования файловой системы.

init_itable=n

Код lazy itable инициализации будет ждать в n раз больше миллисекунд, которые потребовались для обнуления таблицы inode предыдущей группы блоков. Это сводит к минимуму влияние на производительность системы при инициализации таблицы inode файловой системы.

discard/nodiscard

Определяет, должна ли ext4 выдавать команды discard/TRIM базовому блочному устройству при освобождении блоков. Это полезно для устройств SSD и LUN с разреженным/тонким выделением ресурсов, но по умолчанию отключено, пока не будет проведено достаточное тестирование.

block_validity/noblock_validity

Эта опция включает/отключает встроенную функцию ядра для отслеживания блоков метаданных файловой системы во внутренних структурах данных. Это позволяет многоблочному распределителю и другим подпрограммам быстро находить экстенты, которые могут перекрываться с блоками метаданных файловой системы. Этот параметр предназначен для отладки и, поскольку он отрицательно влияет на производительность, по умолчанию отключён.

dioread_lock/dioread_nolock

Определяет, следует ли ext4 использовать блокировку чтения DIO. Если указана опция dioread_nolock, ext4 выделит неинициализированный экстент перед записью в буфер и преобразует экстент в инициализированный после завершения ввода-вывода. Этот подход позволяет коду ext4 избегать использования мьютекса inode, что улучшает масштабируемость на высокоскоростных хранилищах. Однако это не работает с журналированием данных, и параметр dioread_nolock будет проигнорирован с предупреждением ядра. Обратите внимание, что путь кода dioread_nolock используется только для файлов на основе экстентов. Из-за ограничений, содержащихся в этих параметрах, он по умолчанию отключён (например, dioread_lock).

max_dir_size_kb=n

Это ограничивает размер каталогов, так что любая попытка расширить их сверх указанного предела в килобайтах вызовет ошибку ENOSPC. Это полезно в средах с ограничением памяти, где очень большой каталог может вызвать серьёзные проблемы с производительностью или даже спровоцировать убийцу Out Of Memory. (Например, если доступно только 512 МБ памяти, каталог 176 МБ может серьёзно ограничить стиль системы.)

i_version

Включить поддержку 64-битной версии inode. По умолчанию этот параметр отключён.

nombcache

Эта опция отключает использование mbcache для расширенной дедупликации атрибутов. В системах, где расширенные атрибуты редко или никогда не используются совместно между файлами, использование mbcache для дедупликации добавляет ненужные вычислительные затраты.

prjquota

Параметр монтирования prjquota включает поддержку квот проекта в файловой системе. Вам нужны утилиты quota, чтобы фактически включить систему квот и управлять ею. Для этой опции монтирования требуется функция файловой системы project.

АТРИБУТЫ ФАЙЛОВ

Файловые системы ext2, ext3 и ext4 поддерживают установку следующих атрибутов файлов в системах Linux с помощью утилиты chattr(1):

  • a — только добавить
  • A — без обновлений atime
  • d — без дампа
  • D — синхронное обновление каталога
  • i — неизменный
  • S — синхронные обновления
  • u — неудаляемый

В дополнение, файловые системы ext3 и ext4 поддерживают следующий флаг:

  • j — журналирование данных

Наконец, файловая система ext4 также поддерживает следующий флаг:

  • e — расширенные атрибуты

Описание этих флагов атрибутов смотрите на странице руководства chattr(1).


Опции монтирования для ntfs

NTFS — заменяет файловые системы FAT в Microsoft Window (VFAT, FAT32). Она имеет улучшения надёжности, производительности и использования пространства, а также такие функции, как списки контроля доступа, ведение журнала, шифрование и т. д.

iocharset=name

Набор символов для использования при возврате имён файлов. В отличие от VFAT, NTFS подавляет имена, содержащие неконвертируемые символы. Не рекомендуется для использования.

nls=name

Новое имя для опции, ранее называвшейся iocharset.

utf8

Использовать UTF-8 для преобразования имён файлов.

uni_xlate={0|1|2}

При 0 (или «no» или «false») не использовать escape-последовательности для неизвестных символов Unicode. При 1 (или «yes» или «true») или 2 использовать 4-байтовые escape-последовательности в стиле vfat, начинающиеся с «:». Здесь 2 задают обратную кодировку, а 1 — двоичную кодировку с обратным байтом.

posix=[0|1]

Если включено (posix=1), файловая система различает верхний и нижний регистр. Псевдонимы 8.3 представлены как жёсткие ссылки, а не подавляются. Эта опция устарела.

uid=value, gid=value and umask=value

Установит права доступа к файлу в файловой системе. Значение umask указывается в восьмеричном формате. По умолчанию файлы принадлежат пользователю root и никому не доступны для чтения.


Опции монтирования для fat

(Примечание: fat — это не отдельная файловая система, а общая часть файловых систем msdos, umsdos и vfat.)

vfat — это расширенная файловая система FAT, используемая Microsoft Windows95 и Windows NT. vfat добавляет возможность использовать длинные имена файлов в файловой системе MSDOS.

msdos — это файловая система, используемая DOS, Windows и некоторыми компьютерами OS/2. Имена файлов msdos не могут быть длиннее 8 символов, за которыми следует необязательная точка и 3-символьное расширение.

umsdos — это расширенная файловая система DOS, используемая Linux. Он добавляет возможность для длинных имён файлов, UID/GID, разрешений POSIX и специальных файлов (устройств, именованных каналов и т. д.) в файловой системе DOS, не жертвуя совместимостью с DOS.

blocksize={512|1024|2048}

Установит размер блока (по умолчанию 512). Эта опция устарела.

uid=ЗНАЧЕНИЕ и gid=ЗНАЧЕНИЕ

Установит владельца и группу всех файлов. (По умолчанию: UID и GID текущего процесса.)

umask=ЗНАЧЕНИЕ

Установит umask (битовую маску разрешений, которых нет). По умолчанию используется маска umask текущего процесса. ЗНАЧЕНИЕ даётся в восьмеричном формате.

dmask=ЗНАЧЕНИЕ

Установит umask только для каталогов. По умолчанию используется маска umask текущего процесса. ЗНАЧЕНИЕ даётся в восьмеричном формате.

fmask=ЗНАЧЕНИЕ

Установит umask только для обычных файлов. По умолчанию используется маска umask текущего процесса. ЗНАЧЕНИЕ даётся в восьмеричном формате.

allow_utime=ЗНАЧЕНИЕ

Эта опция управляет проверкой разрешений mtime/atime.

20

Если текущий процесс находится в группе идентификаторов группы файлов, вы можете изменить метку времени.

2

Другие пользователи могут изменить метку времени.

По умолчанию устанавливается из опции «dmask». (Если каталог доступен для записи, также разрешено использование utime(2). Т.е. ~dmask & 022)

Обычно utime(2) проверяет, является ли текущий процесс владельцем файла или что у него есть возможность CAP_FOWNER. Но файловые системы FAT не имеют UID/GID на диске, поэтому обычная проверка слишком негибкая. С помощью этой опции можно её расслабить.

check=ЗНАЧЕНИЕ

Можно выбрать три разных уровня разборчивости:

r[elaxed]

Допускаются верхний и нижний регистр и эквивалентны, части длинного имени усекаются (например, verylongname.foobar становится verylong.foo), ведущие и встроенные пробелы допускаются в каждой части имени (имя и расширение).

n[ormal]

Подобно «relaxed», но многие специальные символы (*, ?, <, пробелы и т. д.) отклоняются. Это значение по умолчанию.

s[trict]

Подобно «normal», но имена, содержащие длинные части или специальные символы, которые иногда используются в Linux, но не принимаются MS-DOS (+, = и т. д.), отклоняются.

codepage=ЗНАЧЕНИЕ

Устанавливает кодовую страницу для преобразования в символы короткого имени в файловых системах FAT и VFAT. По умолчанию используется кодовая страница 437.

conv=РЕЖИМ

Эта опция устарела и может не работать или игнорироваться.

cvf_format=МОДУЛЬ

Заставляет драйвер использовать модуль CVF (сжатый файл тома) cvf_module вместо автоопределения. Если ядро поддерживает kmod, опция cvf_format=xxx также управляет загрузкой модуля CVF по запросу. Эта опция устарел.

cvf_option=option

Опция передана модулю CVF. Эта опция устарел.

debug

Включит флаг debug. Будет напечатана строка версии и список параметров файловой системы (эти данные также распечатываются, если параметры кажутся несовместимыми).

discard

Если установлено, то при освобождении блоков блочному устройству будут выдаваться команды discard/TRIM. Это полезно для устройств SSD и LUN с разреженным/тонким выделением ресурсов.

dos1xfloppy

Если установлено, использует резервную конфигурацию блока параметров BIOS по умолчанию, определяемую размером резервного устройства. Эти статические параметры соответствуют значениям по умолчанию, принятым в DOS 1.x для дискет 160, 180, 320 и 360 КиБ и их образов.

errors={panic|continue|remount-ro}

Укажит поведение FAT при критических ошибках: panic (паника), continue (продолжение без каких-либо действий) или remount-ro (перемонтирование раздела в режиме только для чтения) (поведение по умолчанию).

fat={12|16|32}

Указывает битность 12, 16 или 32 fat. Это отменяет процедуру автоматического определения типа FAT. Используйте с осторожностью!

iocharset=ЗНАЧЕНИЕ

Набор символов, используемый для преобразования 8-битных символов в 16-битные символы Unicode. По умолчанию iso8859-1. Длинные имена файлов хранятся на диске в формате Unicode.

nfs={stale_rw|nostale_ro}

Включите это, только если вы хотите экспортировать файловую систему FAT через NFS.

stale_rw

Эта опция поддерживает индекс (кеш) индексных дескрипторов каталогов, который используется кодом, связанным с nfs, для улучшения поиска. Поддерживаются полные файловые операции (чтение/запись) через NFS, но с вытеснением кеша на сервере NFS это может привести к ложным ошибкам ESTALE.

nostale_ro

Эта опция основывает номер inode и дескриптор файла на месте на диске файла в записи каталога FAT. Это гарантирует, что ESTALE не будет возвращён после удаления файла из кэша inode. Однако это означает, что такие операции, как переименование, создание и разъединение, могут привести к тому, что дескрипторы файлов, которые ранее указывали на один файл, станут указывать на другой файл, что может привести к повреждению данных. По этой причине эта опция также монтирует файловую систему только для чтения.

Для обеспечения обратной совместимости также можно использовать «-o nfs» по умолчанию — stale_rw.

tz=UTC

Этот параметр отключает преобразование меток времени между местным временем (используемым Windows в FAT) и временем UTC (которое Linux использует для внутренних целей). Это особенно полезно при установке устройств (например, цифровых фотоаппаратов), которые настроены на всемирное координированное время, чтобы избежать ошибок местного времени.

time_offset=МИНУТЫ

Установит смещение для преобразования меток времени из местного времени, используемого FAT, в UTC. То есть минуты будут вычитаться из каждой временной метки, чтобы преобразовать её в UTC, используемое внутри Linux. Это полезно, когда часовой пояс, установленный в ядре с помощью settimeofday(2), не совпадает с часовым поясом, используемым файловой системой. Обратите внимание, что эта опция по-прежнему не обеспечивает правильные отметки времени во всех случаях при наличии летнего времени — летнее время будет отличаться на один час.

quiet

Включит флаг quiet. Попытки открыть файлы chown или chmod не возвращают ошибок, хотя и терпят неудачу. Используйте с осторожностью!

rodir

FAT имеет атрибут ATTR_RO (только для чтения). В Windows ATTR_RO каталога просто игнорируется и используется только приложениями в качестве флага (например, он установлен для настраиваемой папки).

Если вы хотите использовать ATTR_RO как флаг только для чтения даже для каталога, установите эту опцию.

showexec

Если установлено, биты разрешения на выполнение файла будут разрешены только в том случае, если часть расширения имени — .EXE, .COM или .BAT. По умолчанию не установлено.

sys_immutable

Если установлен, атрибут ATTR_SYS в FAT обрабатывается как флаг IMMUTABLE в Linux. По умолчанию не установлено.

flush

Если установлено, файловая система попытается сбросить данные на диск раньше, чем обычно. По умолчанию не установлено.

usefree

Использует значение «свободных кластеров», хранящееся в FSINFO. Он будет использоваться для определения количества свободных кластеров без сканирования диска. Но он не используется по умолчанию, потому что недавние версии Windows в некоторых случаях не обновляют его правильно. Если вы уверены, что «свободные кластеры» в FSINFO верны, с помощью этой опции вы можете избежать сканирования диска.

dots, nodots, dotsOK=[yes|no]

Различные ошибочные попытки навязать соглашения Unix или DOS файловой системе FAT.


Опции монтирования для exfat

exFAT — это простая файловая система, созданная Microsoft. Она предназначена для замены FAT32, устраняя некоторые её ограничения. exFAT — это стандартная файловая система для карт памяти SDXC.

umask=ЗНАЧЕНИЕ

Установит umask (битовую маску разрешений, которые отсутствуют, в восьмеричном формате). По умолчанию — 0.

dmask=ЗНАЧЕНИЕ

Установит umask только для каталогов.

fmask=ЗНАЧЕНИЕ

Установит umask только для файлов.

uid=n

Установите владельца для всех файлов и каталогов. По умолчанию это владелец текущего процесса.

gid=n

Установит группу для всех файлов и каталогов. По умолчанию это группа текущего процесса.

ro

Смонтировать файловую систему в режиме только для чтения.

noatime

Не обновлять время доступа при чтении файла.


Опции монтирования для umsdos

Смотрите опции монтирования для msdos. Опция dotsOK явно уничтожается umsdos.


Опции монтирования для msdos

Смотрите опции монтирования для fat. Если файловая система msdos обнаруживает несоответствие, она сообщает об ошибке и устанавливает файловую систему только для чтения. Файловую систему можно снова сделать доступной для записи, перемонтировав её.


Опции монтирования для vfat

vfat — это расширенная файловая система FAT, используемая Microsoft Windows95 и Windows NT. vfat добавляет возможность использовать длинные имена файлов в файловой системе MSDOS.

В первую очередь vfat поддерживает все опции монтирования fat. Опция dotsOK явно уничтожается vfat. Кроме того, есть следующие опции:

uni_xlate

Преобразует необработанные символы Юникода в специальные экранированные последовательности. Это позволяет создавать резервные копии и восстанавливать имена файлов, созданные с использованием любых символов Юникода. Без этой опции используется «?», когда перевод невозможен. Экранирующий символ — «:», потому что в противном случае он недопустим в файловой системе vfat. Используемая escape-последовательность, где u — символ Юникода, следующая: ':', (u & 0x3f), ((u>>6) & 0x3f), (u>>12).

posix

Разрешить два файла с именами, которые отличаются только регистром. Эта опция устарела.

nonumtail

Сначала попробовать сделать короткое имя без порядкового номера, а затем попробовать name~num.ext.

utf8

UTF8 — это безопасная для файловой системы 8-битная кодировка Unicode, которая используется консолью. Её можно включить для файловой системы с помощью этой опции или отключить с помощью utf8=0, utf8=no или utf8=false. Если установлен uni_xlate, UTF8 отключается.

shortname=РЕЖИМ

Определяет поведение для создания и отображения имён файлов, которые соответствуют 8.3 символам. Если для файла существует длинное имя, оно всегда будет предпочтительным для отображения. Есть четыре режима:

lower

При отображении краткое имя переводится в нижний регистр; сохраняется длинное имя, если короткое имя не состоит только из верхнего регистра.

win95

При отображении краткое имя переводится в верхний регистр; сохраняется длинное имя, если короткое имя не состоит только из верхнего регистра.

winnt

Отображать короткое имя как есть; сохраняется длинное имя, когда короткое имя состоит не только из нижнего или верхнего регистра.

mixed

Отображать короткое имя как есть; сохраняется длинное имя, если короткое имя не состоит только из верхнего регистра. Этот режим используется по умолчанию, начиная с Linux 2.6.32.


Опции монтирования для vboxsf

Файловая система vboxsf используется для монтирования общей папки VirtualBox из хост-системы в точку монтирования гостевой системы.

Доступные опции монтирования:

rw

монтирование с возможностью записи (по умолчанию)

ro

монтирование только для чтения

uid=UID

установить идентификатор пользователя владельца файла по умолчанию на UID

gid=GID

установить идентификатор группы владельцев файлов по умолчанию на GID

ttl=TTL

установите «время жизни» равным TID для дентри

dmode=РЕЖИМ

переопределить режим всех каталогов на (восьмеричный) РЕЖИМ

fmode=РЕЖИМ

переопределить режим всех обычных файлов на (восьмеричный) РЕЖИМ

umask=UMASK

установите umask в (восьмеричное) UMASK

dmask=UMASK

установить umask только для каталогов

fmask=UMASK

установить маску, применяемую только к обычным файлам

iocharset КОДИРОВКА

использовать набор символов КОДИРОВКА для операций ввода-вывода (по умолчанию используется utf8)


Опции монтирования для iso9660

iso9660 — это файловая система CD-ROM, соответствующая стандарту ISO 9660.

High Sierra

Linux поддерживает High Sierra, предшественник стандарта ISO 9660 для файловых систем CD-ROM. Она автоматически распознаётся файловой системой iso9660, поддерживаемой в Linux.

Rock Ridge

Linux также поддерживает записи протокола общего использования системы, определённые протоколом обмена Rock Ridge. Они используются для дальнейшего описания файлов в файловой системе iso9660 на хосте UNIX и предоставляют такую информацию, как длинные имена файлов, UID/GID, разрешения POSIX и устройства. Она автоматически распознаётся файловой системой iso9660, поддерживаемой в Linux.

ISO 9660 — это стандарт, описывающий структуру файловой системы, которая будет использоваться на CD-ROM. (Этот тип файловой системы также встречается на некоторых DVD. Смотрите также файловую систему udf.)

Обычные имена файлов iso9660 отображаются в формате 8.3 (то есть, с ограничениями, подобными DOS на длину имени файла), и, кроме того, все символы находятся в верхнем регистре. Также нет поля для владения файлом, защиты, количества ссылок, положения для блочных/символьных устройств и т. д.

Rock Ridge — это расширение для iso9660, которое предоставляет все эти UNIX-подобные функции. По сути, для каждой записи каталога есть расширения, которые предоставляют всю дополнительную информацию, и когда Rock Ridge используется, файловая система неотличима от обычной файловой системы UNIX (за исключением того, что она, конечно, доступна только для чтения).

norock

Отключит использование расширений Rock Ridge, даже если они доступны. Смотрите также опцию map.

nojoliet

Отключит использование расширений Microsoft Joliet, даже если они доступны. Смотрите также опцию map.

check={r[elaxed]|s[trict]}

При check=relaxed имя файла сначала преобразуется в нижний регистр перед выполнением поиска. Вероятно, это имеет смысл только вместе с norock и map=normal. (По умолчанию: check=strict.)

uid=value и gid=value

Дать всем файлам в файловой системе указанный идентификатор пользователя или группы, возможно, переопределив информацию, содержащуюся в расширениях Rock Ridge. (По умолчанию: uid=0,gid=0.)

map={n[ormal]|o[ff]|a[corn]}

Для томов, не относящихся к Rock Ridge, обычное преобразование имён сопоставляет заглавные буквы и прописные ASCII, удаляет конечный «;1» и конвертирует «;» в «.». С map=off перевод имени не выполняется. Смотрите также опцию norock. (По умолчанию: map=normal.) map=acorn похож на map=normal, но также применяет расширения Acorn, если они есть.

mode=ЗНАЧЕНИЕ

Для томов, отличных от Rock Ridge, устанавливает для всех файлов указанный режим. (По умолчанию: разрешение на чтение и выполнение для всех.) Для значений восьмеричного режима требуется начальный 0.

unhide

Также показывать скрытые и связанные файлы. (Если обычные файлы и связанные или скрытые файлы имеют одинаковые имена файлов, это может сделать обычные файлы недоступными.)

block={512|1024|2048}

Установите размер блока на указанное значение. (По умолчанию: block=1024.)

conv=РЕЖИМ

Эта опция устарела и может не работать или игнорироваться.

cruft

Если старший байт длины файла содержит другой мусор, установите эту опцию монтирования, чтобы игнорировать старшие биты длины файла. Это означает, что размер файла не может превышать 16 МБ.

session=x

Выберите номер сеанса на мультисессионном компакт-диске.

sbsector=xxx

Сессия начинается с сектора xxx.

Следующие параметры такие же, как для vfat, и их указание имеет смысл только при использовании дисков, закодированных с использованием расширений Microsoft Joliet.

iocharset=ЗНАЧЕНИЕ

Набор символов, который используется для преобразования 16-битных символов Unicode на компакт-диске в 8-битные символы. По умолчанию iso8859-1.

utf8

Преобразование 16-битных символов Unicode на компакт-диске в UTF-8.


Опции монтирования для udf

UDF — это файловая система «универсального формата диска» (Universal Disk Format), определённая OSTA, Ассоциацией технологий оптического хранения, и часто используется для DVD-ROM, часто в форме гибридной файловой системы UDF/ISO-9660. Однако она отлично подходит для использования на дисковых накопителях, флеш-накопителях и других блочных устройствах. Смотрите также iso9660.

uid=

Сделать все файлы в файловой системе принадлежащими данному пользователю. uid=forget может быть указано независимо от uid=<user> (или обычно в дополнение к нему), в результате UDF не сохраняет uid на носителе. Фактически записанный uid — это 32-битный uid переполнения -1, как определено стандартом UDF. Значение задаётся либо как <user>, которое является допустимым именем пользователя, либо как соответствующий десятичный идентификатор пользователя, либо как специальная строка «forget».

gid=

Сделать все файлы в файловой системе принадлежащими данной группе. gid=forget можно указать независимо от gid=<group> (или обычно в дополнение к нему), в результате UDF не сохраняет gid на носителе. Фактически, записанный gid является 32-битным gid переполнения -1, как определено стандартом UDF. Значение задаётся либо как <группа>, что является допустимым именем группы, либо как соответствующий десятичный идентификатор группы, либо как специальная строка «forget».

umask=

Скрыть данные разрешения от всех inodes, читаемых из файловой системы. Значение дано в восьмеричном формате.

mode=

Если установлен режим mode=, то права доступа для всех inodes, не относящихся к каталогам, считываемых из файловой системы, будут установлены в указанный режим. Значение дано в восьмеричном формате.

dmode=

Если dmode= установлен, права доступа для всех индексных дескрипторов каталогов, считываемых из файловой системы, будут установлены в заданный dmode. Значение дано в восьмеричном формате.

bs=

Установит размер блока. Значение по умолчанию до версии ядра 2.6.30 было 2048. Начиная с 2.6.30 и до 4.11, это был размер блока логического устройства с откатом до 2048. Начиная с 4.11, это размер логического блока с откатом к любому допустимому размеру блока между размером блока логического устройства и 4096.

Для получения дополнительных сведений смотрите справочную страницу mkudffs(8) 2.0+, разделы СОВМЕСТИМОСТЬ и РАЗМЕР БЛОКА.

unhide

Показать другие скрытые файлы.

undelete

Показывать удалённые файлы в списках.

adinicb

Вставить данные в индексный дескриптор (по умолчанию)

noadinicb

Не вставлять данные в индексный дескриптор.

shortad

Использовать короткие дескрипторы адресов UDF.

longad

Использовать длинные дескрипторы адресов UDF. (по умолчанию)

nostrict

Отмените строгое соответствие.

iocharset=

Установит набор символов NLS. Для этого требуется ядро, скомпилированное с параметром CONFIG_UDF_NLS.

utf8

Установит набор символов UTF-8.

Параметры монтирования для отладки и аварийного восстановления

novrs

Игнорировать последовательность распознавания томов и все равно попытайтесь смонтировать.

session=

Выбрать номер сеанса для оптических носителей с записью нескольких сеансов. (по умолчанию = последний сеанс)

anchor=

Отменить стандартное расположение привязки. (по умолчанию = 256)

lastblock=

Установит последний блок файловой системы.

Неиспользуемые исторические параметры монтирования, которые могут встретиться и должны быть удалены

uid=ignore

Игнорируется, используйте вместо этого uid=<user>.

gid=ignore

Игнорируется, используйте вместо этого gid=<group>.

volume=

Не реализовано и игнорируется.

partition=

Не реализовано и игнорируется.

fileset=

Не реализовано и игнорируется.

rootdir=

Не реализовано и игнорируется.


Опции монтирования для fuse

FUSE (Filesystem in Userspace — файловая система в пространстве пользователя) — это простой интерфейс для программ пользовательского пространства для экспорта виртуальной файловой системы в ядро Linux. FUSE также стремится обеспечить безопасный метод для непривилегированных пользователей для создания и монтирования своих собственных реализаций файловой системы.

ОПРЕДЕЛЕНИЯ

FUSE

Файловая система в ядре, которая перенаправляет запросы процессу пользовательского пространства.

Файловая система

Процесс пользовательского пространства, отвечающий на запросы, полученные от ядра.

libfuse

Общая библиотека, которую большинство файловых систем (в пространстве пользователя) используют для связи с FUSE (файловой системой ядра). libfuse также предоставляет помощник fusermount3 (или fusermount, если у вас более старая версия libfuse), позволяющий непривилегированным пользователям монтировать файловые системы.

Владелец файловой системы

Пользователь, запускающий файловую систему и инструктирующий ядро связать её с определённой точкой монтирования. Последнее обычно выполняется самой файловой системой при запуске. При использовании libfuse это делается путём вызова утилиты fusermount3.

Клиент

Любой процесс, взаимодействующий с точкой монтирования.

КОНФИГУРАЦИЯ

Некоторые параметры политики монтирования можно установить в файле /etc/fuse.con. В настоящее время это следующие опции:

mount_max = NNN

Установитемаксимальное количество подключений FUSE, разрешённое для пользователей без полномочий root. По умолчанию 1000.

user_allow_other

Разрешить пользователям без полномочий root указывать параметры монтирования allow_other или allow_root (смотрите ниже).

Эти ограничения устанавливаются помощником fusermount3, поэтому файловые системы, работающие от имени root, могут их обойти.

ПАРАМЕТРЫ

Поддерживается большинство общих параметров монтирования, описанных для mount (ro, rw, suid, nosuid, dev, nodev, exec, noexec, atime, noatime, sync, async, dirsync). Файловые системы монтируются с помощью nodev, по умолчанию nosuid, который может быть переопределен только привилегированным пользователем.

Общие опции монтирования:

Это специфичные для FUSE опции монтирования, которые можно указать для всех файловых систем:

default_permissions

Этот параметр указывает ядру выполнить собственную проверку разрешений вместо того, чтобы перекладывать всю проверку разрешений на файловую систему. Проверка ядром выполняется в дополнение к любым проверкам разрешений файловой системой, и обе должны быть успешными, чтобы операция была разрешена. Ядро выполняет стандартную проверку разрешений UNIX (на основе битов режима и владения записью каталога, а также uid/gid клиента).

Эта опция монтирования активируется неявно, если файловая система включает поддержку ACL во время первоначального согласования функций при открытии устройства fd. В этом случае ядро выполняет как ACL, так и стандартную проверку разрешений unix.

Файловые системы, которые не реализуют проверку разрешений, обычно должны добавлять эту опцию внутри себя.

allow_other

Эта опция отменяет меры безопасности, ограничивающие доступ к файлам только владельцу файловой системы, так что все пользователи (включая root) могут получить доступ к файлам.

rootmode=M

Задаёт файловый режим корня файловой системы (в восьмеричном представлении).

blkdev

Смонтировать файловую систему, поддерживаемую блочным устройством. Это привилегированный вариант. Устройство должно быть указано с параметром fsname=ИМЯ.

blksize=N

Установит размер блока для файловой системы. Эта опция действительна только для монтирования типа fuseblk. По умолчанию 512.

В большинстве случаев этот параметр не должен указываться владельцем файловой системы, а устанавливается внутри файловой системы.

max_read=N

С помощью этой опции можно установить максимальный размер операций чтения. По умолчанию установлено бесконечное число, но обычно ядро устанавливает собственный предел в дополнение к этому. Нулевое значение соответствует отсутствию ограничения.

Этот параметр не должен указываться владельцем файловой системы. Правильное (или оптимальное) значение зависит от реализации файловой системы и, таким образом, должно устанавливаться файловой системой внутри.

Эта опция монтирования устарела в пользу прямого согласования через устройство fd (как это сделано, например, для максимального размера операций записи). В настоящее время файловые системы, использующие libfuse, которые хотят ограничить размер чтения, должны использовать эту опцию монтирования и снова установить то же значение в обработчике init().

fd=N

Файловый дескриптор, используемый для связи между файловой системой пользовательского пространства и ядром. Дескриптор файла должен быть получен при открытии устройства FUSE (/dev/fuse).

Этот параметр не должен указываться владельцем файловой системы. Он устанавливается libfuse (или, если libfuse не используется, должен быть установлен самой файловой системой).

user_id=N

group_id=N

Задаёт числовой uid/gid владельца монтирования.

Этот параметр не должен указываться владельцем файловой системы. Он устанавливается libfuse (или, если libfuse не используется, должен быть установлен самой файловой системой).

fsname=ИМЯ

Устанавливает источник файловой системы (первое поле в /etc/mtab). По умолчанию это имя процесса файловой системы.

subtype=ТИП

Устанавливает тип файловой системы (третье поле в /etc/mtab). По умолчанию это имя процесса файловой системы. Если ядро это поддерживает, в /etc/mtab и /proc/mounts тип файловой системы будет отображаться как fuse.

Если ядро не поддерживает подтипы, исходным полем будет TYPE#NAME, или, если опция fsname не указана, просто TYPE.

Параметры монтирования, специфичные для libfuse:

Эти следующие параметры фактически не передаются ядру, но интерпретируются libfuse. Их можно указать для всех файловых систем, использующих libfuse:

allow_root

Этот параметр похож на allow_other, но доступ к файлу ограничен владельцем файловой системы и root. Этот параметр и allow_other исключают друг друга.

auto_unmount

Эта опция включает автоматическое освобождение точки монтирования, если файловая система прекращает работу по какой-либо причине. Обычно файловая система отвечает за освобождение точки монтирования, что означает, что точка монтирования становится недоступной, если файловая система завершает работу без предварительного размонтирования.

На данный момент эта опция подразумевает, что файловая система также будет смонтирована с помощью nodev и nosuid (даже при монтировании от root). Это ограничение может быть снято в будущем.

Опции монтирования высокого уровня:

Эти следующие параметры фактически не передаются ядру, но интерпретируются libfuse. Их можно указать только для файловых систем, использующих высокоуровневый API libfuse:

kernel_cache

Эта опция отключает очистку кеша содержимого файла при каждом open(2). Это должно быть включено только в файловых системах, где данные файла никогда не изменяются извне (не через смонтированную файловую систему FUSE). Таким образом, он не подходит для сетевых файловых систем и других «промежуточных» файловых систем.

ПРИМЕЧАНИЕ: если этот параметр не указан (и ни один из direct_io), данные по-прежнему кэшируются после open(2), поэтому системный вызов read(2) не всегда инициирует операцию чтения.

auto_cache

Эта опция является альтернативой kernel_cache. Вместо того чтобы безоговорочно хранить кэшированные данные, кэшированные данные становятся недействительными при open(2), если время модификации или размер файла изменились с момента его последнего открытия.

umask=M

Отменит биты прав доступа в st_mode, установленные файловой системой. Результирующие биты разрешения — это те, которые отсутствуют в заданном значении umask. Значение указывается в восьмеричном представлении.

uid=N

Заменяет поле st_uid, установленное файловой системой (N — числовое значение).

gid=N

Заменяет поле st_gid, установленное файловой системой (N — числовое значение).

entry_timeout=T

Тайм-аут в секундах, в течение которого запросы имени будут кэшироваться. По умолчанию — 1,0 секунда. Для всех вариантов тайм-аута также можно указать доли секунды (например, entry_timeout=2.8)

negative_timeout=T

Тайм-аут в секундах, в течение которого будет кэшироваться отрицательный поиск. Это означает, что если файл не существует (поиск вернул ENOENT), поиск будет повторен только по истечении тайм-аута, и предполагается, что до этого момента файл/каталог не существует. Значение по умолчанию — 0,0 секунды, что означает, что кеширование отрицательных запросов отключено.

attr_timeout=T

Тайм-аут в секундах, в течение которого кэшируются атрибуты файла/каталога. По умолчанию — 1,0 секунда.

ac_attr_timeout=T

Тайм-аут в секундах, в течение которого атрибуты файла кэшируются с целью проверки, должен ли auto_cache сбрасывать данные файла при открытии. По умолчанию используется значение attr_timeout.

noforget

remember=T

Обычно libfuse назначает inode путям только до тех пор, пока ядро знает о них. С этой опцией inodes вместо этого назначаются как минимум на T секунд (или, в случае noforget, на время жизни файловой системы). Для этого потребуется больше памяти, но может потребоваться при использовании приложений, использующих номера inode.

modules=M1[:M2…]

Добавить модули в стек файловой системы. Модули помещаются в указанном порядке, при этом исходная файловая система находится в нижней части стека.

Опции mount.fuse3:

Эти параметры интерпретируются с помощью mount.fuse3 и поэтому доступны только при монтировании файловой системы через mount.fuse3 (например, при монтировании с помощью общей команды mount(1) или /etc/fstab). Поддерживаемые опции:

setuid=ПОЛЬЗОВАТЕЛЬ

Перед запуском процесса файловой системы FUSE переключитесь на USER и его основную группу. mount.fuse3 должен быть запущен как root или с CAP_SETUID и CAP_SETGID, чтобы это работало.

drop_privileges

Выполнить настройку файлового дескриптора FUSE и монтирование файловой системы перед запуском процесса файловой системы FUSE. Для этого mount.fuse3 требует привилегии, т.е. должна запускаться как root или, по крайней мере, с CAP_SYS_ADMIN и CAP_SETPCAP. Эта опция запустит процесс файловой системы полностью непривилегированным, то есть без установленных флагов capabilities(7) и prctl(2), которые не позволяют повторно получить привилегии (например, через двоичные файлы setuid или fscaps). Это снижает риск в случае компрометации процесса файловой системы FUSE данными вредоносной файловой системы.


Опции монтирования для tmpfs

tmpfs — это файловая система, содержимое которой находится в виртуальной памяти. Поскольку файлы в таких файловых системах обычно находятся в ОЗУ, доступ к файлам осуществляется очень быстро.

Средство tmpfs позволяет создавать файловые системы, содержимое которых находится в виртуальной памяти. Поскольку файлы в таких файловых системах обычно находятся в ОЗУ, доступ к файлам осуществляется очень быстро.

Файловая система создаётся автоматически при монтировании файловой системы с типом tmpfs с помощью следующей команды:


sudo mount -t tmpfs -o size=10M tmpfs /mnt/mytmpfs


Файловая система tmpfs имеет следующие свойства:

  • Файловая система может использовать пространство подкачки, когда этого требует физическая нагрузка на память.
  • Файловая система потребляет столько физической памяти и пространства подкачки, сколько требуется для хранения текущего содержимого файловой системы.
  • Во время операции повторного монтирования (mount -o remount) размер файловой системы может быть изменён (без потери существующего содержимого файловой системы).

Если файловая система tmpfs размонтирована, её содержимое теряется (удаляется).

Опции монтирования

Файловая система tmpfs поддерживает следующие опции монтирования:

size=БАЙТЫ

Укажите верхний предел размера файловой системы. Размер указывается в байтах и округляется до целых страниц.

Размер может иметь суффикс k, m или g для Ki, Mi, Gi (двоичные kilo (kibi), двоичные mega (mebi) и двоичные giga (gibi)).

Размер может также иметь суффикс %, чтобы ограничить этот экземпляр процентом физической памяти.

По умолчанию, когда не указан ни размер, ни nr_blocks, size=50%.

nr_blocks=БЛОКИ

То же, что и size, но блоками по PAGE_CACHE_SIZE.

Блоки могут быть указаны с суффиксами k, m или g как и size, но не с суффиксом %.

nr_inodes=inodes

Максимальное количество индексных дескрипторов для этого экземпляра. Значение по умолчанию — половина количества ваших физических страниц RAM или (на машине с highmem) количество страниц lowmem RAM, в зависимости от того, что меньше.

Inodes могут быть указаны с суффиксами k, m или g как и size, но не с суффиксом %.

mode=РЕЖИМ

Установит начальные разрешения для корневого каталога.

gid=gid (начиная с Linux 2.5.7)

Установит начальный идентификатор группы корневого каталога.

uid=uid (начиная с Linux 2.5.7)

Установит начальный идентификатор пользователя корневого каталога.

huge=huge_option (начиная с Linux 4.7.0)

Установит политику выделения памяти для огромной таблицы для всех файлов в этом экземпляре (если включён CONFIG_TRANSPARENT_HUGE_PAGECACHE).

Значение huge_option может быть одним из следующих:

never

Не выделять огромные страницы. Это значение по умолчанию.

always

Пытаться выделять огромные страницы каждый раз, когда требуется новая страница.

within_size

Выделять огромную страницу только в том случае, если она полностью находится в пределах i_size. Также уважать подсказки fadvise(2)/madvise(2).

advise

Выделять огромные страницы только по запросу с помощью fadvise(2)/madvise(2).

deny

Для использования в чрезвычайных ситуациях, чтобы отключить огромную опцию от всех монтирований.

force

Включить опцию huge для всех монтирований; полезно для тестирования.

mpol=mpol_option (начиная с Linux 2.6.15)

Задаёт политику выделения памяти NUMA для всех файлов в этом экземпляре (если включён параметр CONFIG_NUMA).

Значение mpol_option может быть одним из следующих:

default

Использовать политику распределения процессов (смотрите set_mempolicy(2)).

prefer:node

Предпочтительно выделять память из данного узла.

bind:nodelist

Выделять память только из узлов в списке узлов.

interleave

Выделять по очереди из каждого узла.

interleave:nodelist

Выделять из каждого узла по очереди.

local

Предпочтительно выделять память из локального узла.

Список узлов (nodelist) является разделённый запятыми список десятичных чисел и диапазонов, определяющих узлы NUMA. Диапазон — это пара десятичных чисел, разделённых дефисом, наименьшее и наибольшее номера узлов в диапазоне. Например, mpol=bind:0-3,5,7,9-15.

Файловая система tmpfs поддерживает расширенные атрибуты (смотрите xattr(7), но пользовательские расширенные атрибуты не разрешены.

Объем памяти, потребляемой всеми файловыми системами tmpfs, отображается в поле Shmem в /proc/meminfo и в поле shared, отображаемом программой free.


Опции монтирования для cifs и smb3

SMB (сокр. от англ. Server Message Block) — сетевой протокол прикладного уровня для удалённого доступа к файлам, принтерам и другим сетевым ресурсам, а также для межпроцессного взаимодействия. Первая версия протокола, также известная как Common Internet File System (CIFS) (Единая файловая система Интернета), была разработана компаниями IBM, Microsoft, Intel и 3Com в 1980-х годах; вторая (SMB 2.0) была создана Microsoft и появилась в Windows Vista. В настоящее время SMB связан главным образом с операционными системами Microsoft Windows, где используется для реализации «Сети Microsoft Windows» (англ. Microsoft Windows Network) и «Совместного использования файлов и принтеров» (англ. File and Printer Sharing).

SMB — это протокол, основанный на технологии клиент-сервер, который предоставляет клиентским приложениям простой способ для чтения и записи файлов, а также запроса служб у серверных программ в различных типах сетевого окружения. Серверы предоставляют файловые системы и другие ресурсы (принтеры, почтовые сегменты, именованные каналы и т. д.) для общего доступа в сети. Клиентские компьютеры могут иметь у себя свои носители информации, но также имеют доступ к ресурсам, предоставленным сервером для общего пользования.

Клиенты соединяются с сервером, используя протоколы TCP/IP (а, точнее, NetBIOS через TCP/IP), NetBEUI или IPX/SPX. После того как соединение установлено, клиенты могут посылать команды серверу (эти команды называются SMB-команды или SMBs), который даёт им доступ к ресурсам, позволяет открывать, читать файлы, писать в файлы и вообще выполнять весь перечень действий, которые можно выполнять с файловой системой. Однако в случае использования SMB эти действия совершаются через сеть.

Практические примеры и инструкции монтирования SMB:

smb — это сетевая файловая система, которая поддерживает протокол SMB, используемый Windows для рабочих групп, Windows NT и Lan Manager.

Опции указываются в виде списка пар ключ=значение, разделённых запятыми. Можно отправить параметры, отличные от перечисленных здесь, при условии, что модуль ядра файловой системы cifs (cifs.ko) поддерживает их. Нераспознанные опции монтирования cifs, переданные в код ядра cifs vfs, будут записаны в журнал ядра.

ОПЦИИ

username=АРГУМЕНТ|user=АРГУМЕНТ

Указывает имя пользователя для подключения. Если это не указано, используется переменная среды USER.

Более ранние версии mount.cifs также позволяли указывать user%password или workgroup/user или workgroup/user%password, чтобы можно было указать пароль и рабочую группу как часть имени пользователя. Поддержка этих альтернативных форматов имени пользователя теперь устарела и больше не должна использоваться. Пользователи должны использовать дискретные опции password= и domain= для указания этих значений. Хотя некоторые версии модуля ядра cifs принимают user= в качестве аббревиатуры для этой опции, его использование может сбить стандартную программу монтирования с мыслью, что это монтирование без суперпользователя. Поэтому рекомендуется использовать полное имя username= параметра.

password=АРГУМЕНТ|pass=АРГУМЕНТ

Указывает пароль CIFS. Если этот параметр не указан, используется переменная среды PASSWD. Если пароль не указан прямо или косвенно через аргумент для монтирования, mount.cifs запросит пароль, если не указана опция guest.

Обратите внимание, что пароль, содержащий символ-разделитель (то есть запятую ','), не будет правильно проанализирован в командной строке. Однако тот же пароль, который определён в переменной среды PASSWD или в файле учётных данных (смотрите ниже) или введён в запросе пароля, будет считан правильно.

credentials=ИМЯ ФАЙЛА|cred=ИМЯ ФАЙЛА

Указывает файл, содержащий имя пользователя и/или пароль и, возможно, имя рабочей группы. Формат файла:


username=значение

password=значение

domain=значение


Это предпочтительнее чем иметь пароли в виде открытого текста в общем файле, таком как /etc/fstab. Обязательно защитите файл учётных данных должным образом.

uid=АРГУМЕНТ

устанавливает uid, который будет владеть всеми файлами или каталогами в смонтированной файловой системе, когда сервер не предоставляет информацию о владельце. Он может быть указан как имя пользователя или числовой uid. Если не указан, по умолчанию используется uid 0. Помощник mount.cifs должен иметь версию 1.10 или выше, чтобы поддерживать указание uid в нечисловой форме.

Смотрите раздел «ВЛАДЕНИЕ И РАЗРЕШЕНИЯ НА ФАЙЛЫ И КАТАЛОГ» ниже для получения дополнительной информации.

cruid=АРГУМЕНТ

устанавливает uid владельца кеша учётных данных. Это в первую очередь полезно с sec=krb5. По умолчанию используется реальный uid процесса, выполняющего монтирование. Установка этого параметра предписывает восходящему вызову искать кэш учётных данных, принадлежащий этому пользователю.

gid=АРГУМЕНТ

устанавливает gid, который будет владеть всеми файлами или каталогами в смонтированной файловой системе, когда сервер не предоставляет информацию о владельце. Он может быть указан как имя группы или числовой идентификатор. Если не указан, по умолчанию используется gid 0. Вспомогательный модуль mount.cifs должен иметь версию 1.10 или выше, чтобы поддерживать указание gid в нечисловой форме. Смотрите раздел «ВЛАДЕНИЕ И РАЗРЕШЕНИЯ НА ФАЙЛЫ И КАТАЛОГ» ниже для получения дополнительной информации.

forcegid

указывает клиенту игнорировать любой gid, предоставляемый сервером для файлов и каталогов, и всегда назначать владельцем значение параметра gid=. Смотрите раздел «ВЛАДЕНИЕ И РАЗРЕШЕНИЯ НА ФАЙЛЫ И КАТАЛОГ» ниже для получения дополнительной информации.

idsfromsid

Извлекает uid/gid из специального SID вместо его сопоставления. Смотрите раздел «ВЛАДЕНИЕ И РАЗРЕШЕНИЯ НА ФАЙЛЫ И КАТАЛОГ» ниже для получения дополнительной информации.

port=АРГУМЕНТ

устанавливает номер порта, на котором клиент будет пытаться связаться с сервером CIFS. Если это значение указано, найдёт существующее соединение с этим портом и использует его, если оно существует. Если таковой не существует, попробует создать новое соединение на этом порту. Если это соединение не удаётся, вернёт ошибку. Если это значение не указано, найдёт существующее соединение на порте 445 или 139. Если такое соединение не существует, попробует сначала подключиться через порт 445, а затем через порт 139, если это не удаётся, то есть оба порта не работают, то вернёт ошибку.

netbiosname=АРГУМЕНТ

При подключении к серверам через порт 139 указывает имя источника RFC1001, которое будет использоваться для представления клиентской машины netbios во время инициализации сеанса netbios.

servern=АРГУМЕНТ

Аналогично netbiosname, за исключением того, что он указывает имя netbios сервера вместо клиента. Хотя этот параметр редко требуется для подключения к новым серверам, этот параметр необходим для подключения к некоторым более старым серверам (например, OS/2 или Windows 98 и Windows ME), поскольку при подключении через порт 139 они, в отличие от большинства новых серверов, не поддерживают имя сервера по умолчанию. Имя сервера может содержать до 15 символов и обычно пишется в верхнем регистре.

file_mode=АРГУМЕНТ

Если сервер не поддерживает расширения CIFS Unix, это отменяет режим файла по умолчанию.

dir_mode=АРГУМЕНТ

Если сервер не поддерживает расширения CIFS Unix, это отменяет режим по умолчанию для каталогов.

ip=АРГУМЕНТ|addr=АРГУМЕНТ

Устанавливает IP-адрес назначения. Этот параметр устанавливается автоматически, если часть имени сервера запрошенного имени UNC может быть преобразована (разрешена), поэтому пользователю редко требуется указывать её.

domain=АРГУМЕНТ|dom=АРГУМЕНТ|workgroup=АРГУМЕНТ

Устанавливает домен (рабочую группу) пользователя. Если домены не указаны, будет использоваться пустой домен. Используйте domainauto, чтобы автоматически угадать домен сервера, к которому вы подключаетесь.

domainauto

Если используется проверка подлинности NTLM и не предоставляется домен через домен, угадать домен из запроса NTLM сервера. Раньше это поведение было по умолчанию для ядер старше 2.6.36.

guest

Не запрашивает пароль.

iocharset

Набор символов, используемый для преобразования имён локальных путей в Unicode и обратно. Юникод используется по умолчанию для имён сетевых путей, если сервер поддерживает его. Если iocharset не указан, будет использоваться значение nls_default, указанное во время сборки ядра локального клиента. Если сервер не поддерживает Unicode, этот параметр не используется.

ro

Монтировать только для чтения.

rw

Монтировать для чтения-записи.

setuids

Если расширения CIFS Unix согласованы с сервером, клиент попытается установить эффективный uid и gid локального процесса для вновь созданных файлов, каталогов и устройств (create, mkdir, mknod). Если расширения CIFS Unix не согласованы, для вновь созданных файлов и каталогов вместо использования uid и gid по умолчанию, указанных при монтировании, локально кэширует uid и gid нового файла, что означает, что uid для файла может измениться, когда индекс перезагружается (или пользователь заново монтирует общий ресурс).

nosetuids

Клиент не будет пытаться установить uid и gid для вновь созданных файлов, каталогов и устройств (create, mkdir, mknod), в результате чего сервер установит uid и gid по умолчанию (обычно это uid сервера пользователя, кто монтировал шару). По умолчанию сервер (а не клиент) устанавливает uid и gid. Если CIFS Unix Extensions не согласованы, тогда uid и gid для новых файлов будут выглядеть как uid (gid) установщика или параметр uid (gid), указанный при монтировании.

perm

Клиент выполняет проверку разрешений (vfs_permission проверка uid и gid файла на соответствие режиму и желаемой операции). Обратите внимание, что это в дополнение к обычной проверке ACL на целевой машине, выполняемой серверным программным обеспечением. Проверка разрешений клиента включена по умолчанию.

noperm

Клиент не проверяет разрешения. Это может предоставить доступ к файлам на этом монтировании другим пользователям в локальной клиентской системе. Обычно это требуется только в том случае, если сервер поддерживает расширения CIFS Unix, но UID/GID в клиентской и серверной системах не совпадают достаточно близко, чтобы предоставить доступ пользователю, выполняющему монтирование. Обратите внимание, что это не влияет на обычную проверку ACL на целевой машине, выполняемую серверным программным обеспечением (серверного ACL по имени пользователя, указанному во время монтирования).

dynperm

Указывает серверу поддерживать владение и разрешения в памяти, которые не могут быть сохранены на сервере. Эта информация может исчезнуть в любое время (всякий раз, когда индексный дескриптор удаляется из кеша), поэтому, хотя это может помочь некоторым приложениям работать, такое поведение несколько ненадежно. Смотрите раздел ниже о ВЛАДЕНИИ И РАЗРЕШЕНИЯХ НА ФАЙЛЫ И КАТАЛОГ для получения дополнительной информации.

cache=АРГУМЕНТ

Режим кеширования. Смотрите раздел ниже, посвящённый СОГЛАСОВАННОСТИ КЭША, для получения подробной информации. Допустимые значения:

  • none — не кэшировать данные файла вообще
  • strict — строго соблюдать протокол CIFS/SMB2
  • loose — разрешить свободную семантику кеширования

По умолчанию в ядрах до 3.7 был loose. В ядре 3.7 значение по умолчанию strict.

nostrictsync

Не просить сервер выполнить сброс с помощью fsync(). Некоторые серверы по умолчанию выполняют небуферизованную запись, и в этом случае очистка избыточна. В рабочих нагрузках, где клиент выполняет множество небольших комбинаций записи + fsync и где задержка в сети намного выше, чем задержка сервера, это даёт двукратное повышение производительности. Этот вариант также является хорошим кандидатом в сценариях, в которых производительность важнее согласованности.

handlecache

(по умолчанию) В SMB2 и выше клиенту часто приходится открывать корень общей папки (пустой путь) в различных местах во время монтирования, повторной проверки пути и системного вызова statfs(2). Эта опция сокращает избыточный двусторонний трафик (открытие и закрытие), просто сохраняя дескриптор каталога для корня после открытия.

nohandlecache

Отключить кеширование дескриптора корневого каталога общего ресурса.

handletimeout=АРГУМЕНТ

Время (в миллисекундах), в течение которого сервер должен зарезервировать дескриптор после аварийного переключения, ожидая повторного подключения клиента. При монтировании с опцией монтирования resilienthandles или persistenthandles или когда их использование запрашивается сервером (continuous availability shares — общие ресурсы непрерывной доступности), этот параметр переопределяет тайм-аут дескриптора сервера по умолчанию (который для большинства серверов составляет 120 секунд).

rwpidforward

Перенаправить pid процесса, открывшего файл, для любой операции чтения или записи в этом файле. Это предотвращает сбой при чтении и записи таких приложений, как wine(1), если мы используем обязательный стиль brlock.

mapchars

Переводит шесть из семи зарезервированных символов (не обратную косую черту, но включая двоеточие, вопросительный знак, вертикальную черту, звёздочку, символы больше и меньше) в диапазон переназначения (выше 0xF000), что также позволяет клиенту CIFS распознавать файлы, созданные с помощью такие символы службой Windows для Mac. Это также может быть полезно при монтировании к большинству версий Samba (что также запрещает создание и открытие файлов, имена которых содержат любой из этих семи символов). Это не действует, если сервер не поддерживает Unicode в сети. Обратите внимание, что файлы, созданные с помощью параметра монтирования mapchars, могут быть недоступны, если общий ресурс смонтирован без этого параметра.

nomapchars

Дописать...


Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования