Поблагодари автора прямо сейчас на странице Спасибо!
Mount
Материал из Пингвиньи радостей
Версия от 10:01, 10 апреля 2015; Stas (Обсуждение | вклад)
|
Статья о команде монтирования файловой системы Mount
Mount это утилита для монтирования файловой системы объекта.
Монтированием здесь называется процесс подключения файловой структуры объекта, например жёсткого диска или сетевого ресурса, к каталогу файловой системы. Доступ к файловой структуре ресурса будет осуществляться в зависимости от параметров монтирования, например только для чтения или в режиме чтения/записи, до тех пор по не будет выполнена команда umount или не осуществлена перезагрузка операционной среды.
Установка
В *nix системах программа устанавливается автоматически при установке операционной среды.
Синтаксис
Формат вызова утилиты
# mount [параметры] устройство каталог где устройство - имя подключаемого объекта каталог - папка - точка подключения файловой структуры объекта параметры - (необязательные) параметры монтирования, например
-V, --version Получение информации о версии программы. -h, --help Вывод помощи по программе. -v, --verbose Подробное информирование о выполняемых действиях. -a, --all Монтирование всех файловых систем, описанных в файле /etc/fstab. -F, --fork Подключение файловых систем различных устройств или серверах NFS параллельно. Параметр -F используется с параметром -a и по умолчанию отключен. Параллельное подключение быстрее, но имеет неопределённость в порядке монтирования. Поэтому параметр -F нельзя применять для одновременного монтирования например и /usr и /usr/spool. -f, --fake Выполнить всё возможное для завершения системного вызова; Если это невозможно, тогда создаётся видимость успешного выполнения монтирования файловой системы. Параметр может быть использован в сочетании с -v для анализа процесса монтирования. -i, --internal-only Запрет вызова специальной программы монтирования /sbin/mount.<filesystem> даже если она существует. -l Добавление метки к отчёту о монтировании Для работы этого параметра должно быть разрешено чтение с подключаемого устройства или использованы права суперпользователя. Для установки такой метки на файловых системах ext2/ext3/ext4 может быть использована утилита e2label(8), на XFS - утилита xfs_admin(8), на reiserfs - reiserfstune(8). -n, --no-mtab Осуществляет монтирование без записи в /etc/mtab. Необходимость в этом возникает когда, например /etc находится на файловой системе с режимом доступа "только для чтения". --no-canonicalize Не канонизировать пути. По умолчанию команда монтирования канонизирует все пути (из командной строки или FSTab) и хранит канонические пути в файле /etc/mtab. Эта опция может использоваться вместе с флагом -f для уже канонизированных абсолютных путей. -p, --pass-fd num В случае применения loop-монтирования с шифрованием, читает ключевую фразу из файлового дескриптора num, а не с терминала. -s Запрет аварийного завершения, даже в случае неподходящих параметров монтирования. При этом параметры, не поддерживаемые файловой системой, будут проигнорированы. Не все файловые системы поддерживают этот параметр. Параметр предназначен для поддержки в Linux авто-монтирования при помощи AutoFS. -r, --read-only Монтирование файловой системы в режиме "только для чтения". Параметр является синонимом -o ro. -w, --rw Монтирование файловой системы в режиме "чтения/запись". (режим по умолчанию) Параметр является синонимом -o rw. -L label Монтирование раздела (жёсткого диска) содержащего метку label. -U uuid Монтирование раздела (жёсткого диска) определённого уникальным UUID. Как и предыдущий параметр, требует (начиная с ядра Linux 2.1.116) наличия файла /proc/partitions. -t, --types vfstype Описание типа файловой системы. В настоящее время поддерживаются следующие типы файловых систем: adfs, affs, autofs, cifs, coda, coherent, cramfs, debugfs, devpts, efs, ext, ext2, ext3, ext4, hfs, hfsplus, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, nfs4, ntfs, proc, qnx4, ramfs, reiserfs, romfs, squashfs, smbfs, sysv, tmpfs, ubifs, udf, ufs, umsdos, usbfs, vfat, xenix, xfs, xiafs. Для большинства типов файловых систем выполнение команды mount сводится к простому системному вызову mount(2) без уточнения типа файловой системы в запросе. Однако, для некоторых файловых систем (например таких как nfs, nfs4, cifs, smbfs, ncpfs) добавление специального кода является необходимым. Поэтому файловые системы nfs, nfs4, cifs, smbfs, и ncpfs имеют отдельные программы монтирования вида /sbin/mount.TYPE. Данные программы могут представлять как двоичные файлы, так и сценарии оболочки как например /sbin/mount.smbfs. Если параметр -t не используется или, если вместо определения типа используется слово auto, то тип файловой системы определяется автоматически. Если команда mount была собрана с библиотекой blkid, то определение типа файловой системы будет осуществляться этой библиотекой. Иначе, команда mount попытается установить тип, исследуя суперблок. Если и в этом случае попытка авто-определения закончится неудачей, для монтирования будет использована информация из файла /etc/filesystems, или, если он не существует, файла /proc/filesystems. Все типы файловых систем, перечисленные в этих файлах, будут перепробованы, за исключением тех, которые отмечены как "nodev" (т.е., devpts, proc и nfs). Если файл /etc/filesystems заканчивается строкой с одиночным символом '*', при монтировании будет дополнительно использован и файл /proc/filesystems. Использование auto удобно для облегчения монтирования дискет (floppy) и других съемных носителей. Создание и использование файла /etc/filesystems может быть полезным для того, чтобы изменить очередность в распознавании типа файловой системы (т.е., проверить, например, сначала как vfat, а потом msdos или ext3, а потом ext2) или в случае использования автозагрузки определённого модуля ядра. Внимание: при автоматическом распознавании типа файловой системы используется эвристический метод, который основан на поиске определенных `магических последовательностей'. Из-за этого не исключена вероятность ошибок, которые могут привести к фатальным последствиям. Если данные на носителе дороги и точно известен тип файловой системы, лучше не разрешать команде mount делать это автоматически. Более чем один тип файловой системы может быть задан списком, где в качестве разделителя типов используется запятая. Тип файловой системы может также начинаться с префикса no отменяющего указанное действие для данного типа. (Эта возможность очень удобна в сочетании с параметром -a.). Например, команда: # mount -a -t nomsdos,ext монтирует все файловые системы кроме указанных типов msdos и ext. -O, --test-opts opts Исключение монтирования некоторых файловых систем из общего списка, который предполагается параметром -a. Параметр используется в сочетании с параметром -a и похож на -t только, в этом случае, исключение происходит в контексте параметра -a и связанного с ним файла /etc/fstab. Например, команда: # mount -a -O no_netdev монтирует все файловые системы за исключением тех, которые имеют параметр _netdev в строках монтирования файла /etc/fstab. В этом заключается основное отличие -O от -t, для которого требуется точное указание типа, а ключевое слово no, предваряющее один из параметров, не распространяется на остальные. Параметры -t и -O обладают эффектом дополнять действия друг друга; это означает, что команда # mount -a -t ext2 -O _netdev монтирует все файловые системы ext2 с параметром _netdev, за исключением всех файловых систем, для которых не задан один из двух параметров, или ext2, или _netdev. -o, --options opts Указание списка параметров монтирования, разделенных запятыми, например # mount LABEL=mydisk -o noatime,nouser Параметры монтирования устанавливают тип файловой системы, порядок и правила её подключения. Параметры могут быть использованы в командной строке или скрипте или представлены в файле /etc/fstab. Параметры монтирования могут быть [[#Общие параметры монтирования|общими] для всех файловых систем и специфичными для каждой. -B, --bind Перемонтирование (дополнительное монтирование) поддерева каталогов еще в одну точку После этого содержимое объекта становится доступным из обоих точек. -R, --rbind Перемонтирование (дополнительное монтирование) поддерева каталогов и всех связанных с ним подмонтирований еще в одну точку. После этого содержимое объекта становится доступным из обоих точек. -M, --move Перемещение поддерева каталогов в другое место.
Общие параметры монтирования
Общие параметры монтирования могут быть использованы для любой файловой системы.
async Установка выполнения операций ввода/вывода (I/O) файловой системы асинхронно. То есть не связанно с временем завершения самой команды ввода/вывода. sync Установка выполнения операций ввода/вывода (I/O) файловой системы синхронно. То есть операция ввода/вывода будет выполняться в момент выполнения самой команды ввода/вывода. В случае носителей с ограниченным количеством циклов записи (например карты флэш-памяти) синхронизация может сократить их время службы. atime Установка обновления времени доступа в дескрипторе файла для каждого обращения. (параметр по умолчанию) noatime Запрет обновления времени доступа в дескрипторе файла для каждого обращения. Установка параметра может существенно увеличить срок службы носителей с ограниченным количеством циклов записи (например карты флэш-памяти) и увеличить скорость работы системы (например серверов новостей). auto Может монтироваться с параметром -a. noauto Разрешает монтирование лишь по прямому указанию (т.е. параметр -a не монтирует эту файловую систему). context=context, fscontext=context, defcontext=context, rootcontext=context - defaults Установка параметров по умолчанию: rw, suid, dev, exec, auto, nouser и async. dev Различает файловые системы символьно-ориентированных и блочно-ориентированных устройств. nodev Не различает файловые системы символьно-ориентированных и блочно-ориентированных устройств. diratime Установка обновления времени доступа в дескрипторе каталога. (параметр по умолчанию) nodiratime Запрет обновления времени доступа в дескрипторе каталога. dirsync Установка обновления каталогов в пределах файловой системы с целью синхронизации. Это происходит при следующих системных вызовах: creat, link, unlink, symlink, mkdir, rmdir, mknod и rename. exec Установка разрешения исполнение двоичных файлов. noexec Запрет исполнения двоичных файлов на смонтированной файловой системе. (До недавнего времени можно было управлять любыми двоичными данными так или иначе используя команду /lib/ld*.so /mnt/binary. Однако начиная с версии Linux 2.4.25 / 2.6.0. это уже не представляется возможным.) group Позволяет обычному пользователю (не суперпользователю) монтировать файловую систему, если он является членом одной из групп, которой принадлежит устройство. Этот параметр сопровождается таким же действием, как и параметры nosuid и nodev (если не будет перекрыт последующими параметрами в строке, как например, group, dev, suid). encryption Определение используемого алгоритма шифрования. Применяется в сочетании с параметром loop. keybits Установка размера ключа используемого в алгоритме шифрования. Применяется в сочетании с параметрами loop и encryption. noiversion Запрет приращения поля i_version в дескрипторе. mand Разрешение принудительно заблокировать данную файловую систему. Детальную информацию см. fcntl(2). nomand Запрет принудительной блокировки данной файловой системы. _netdev Файловая система, находящаяся на устройстве, которому требуется сетевой доступ (используется для предотвращения попыток системы монтировать эту файловую систему пока доступна сеть). nofail Запрет отчёта об ошибках для устройства, если он не существует. relatime - norelatime - strictatime - nostrictatime - suid Разрешение действовать битам полномочий SUID и SGID. SUID (Set-User-IDentifier) - установка идентификатора владельца SGID (Set-Group-IDentifier - установка идентификатора группы nosuid Запрет использования битов полномочий SUID и SGID. Применение параметра представляет опасность в случае, если установлен suidperl(1).) owner Позволяет обычному пользователю (не суперпользователю) монтировать файловую систему, если он является владельцем устройства. Этот параметр сопровождается таким же действием, как и параметры nosuid и nodev (если не будет перекрыт последующими параметрами в строке, как например, owner, dev, suid). remount Пробует перемонтировать уже смонтированную файловую систему. Это может быть необходимо, когда требуется поменять флаги режима доступа. Например, файловая система с режимом "только для чтения" может быть преобразована и после перемонтирования допускает режим "чтение/запись". Это действие не изменяет устройство или точку монтирования. ro Монтирует файловую систему "только для чтения". rw Монтирует файловую систему в режиме доступа "чтение/запись". user Разрешает обычному пользователю монтировать файловую систему. Имя монтирующего пользователя сохраняется в файле /etc/mtab так, что он может размонтировать файловую систему позже. Этот параметр подразумевает автоматическую активацию параметров noexec, nosuid, nodev (если только далее в строке они не перекрываются последовательностью параметров user, exec, dev, suid). nouser Запрещает обычному пользователю (не суперпользователю) монтировать файловую систему. (Параметр по умолчанию) users Разрешает любому пользователю монтировать и размонтировать файловую систему. Этот параметр подразумевает автоматическую активацию параметров noexec, nosuid, nodev (если только далее в строке они не перекрываются последовательностью параметров, например, users, exec, dev, suid).
Замечание: Следует помнить, что не каждая файловая система поддерживает все параметры. Например параметр sync сегодня поддерживается только файловыми системами ext2, ext3, fat, vfat and ufs.
Специфичные параметры монтирования
(незавершённый раздел, приведены параметры лишь на некоторые файловые системы)
Специфичные параметры монтирования могут быть использованы только для конкретной файловой системы.
Параметры монтирования для ext2
Файловая система ext2 является стандартной файловой системой для Linux. Начиная с ядра Linux 2.5.46, большинство параметров монтирования, по умолчанию, определяются суперблоком файловой системы. Установка может быть осуществлена с помощью tune2fs. acl / noacl Поддерживает Списки Управления Доступом POSIX (Access Control Lists) (или нет). bsddf / minixdf Устанавливает поведение системного вызова statfs в случае предоставления статистики по файловой системе. При этом minixdf возвращает в поле f_blocks общее количество блоков, используемых файловой системой, а bsddf (параметр по умолчанию) - отбрасывает часть блоков, которые необходимы файловой системе ext2, но не применяются для хранения файлов. check Проверяет файловую систему (блоки и индексные дескрипторы) во время монтирования. check=none / nocheck Не выполняет никаких проверок во время монтирования. Этот параметр увеличивает производительность. Современные ядра не используют никаких параметров проверок, поскольку проверка с помощью e2fsck во время загрузки системы является более эффективной. debug Выводит отладочную информацию при каждом (пере)монтировании. errors=continue / errors=remount-ro / errors=panic Определяет поведение в случае обнаружения ошибок: errors=continue игнорирует ошибки, однако помечает файловую систему как некорректную, после этого монтирование продолжается. errors=remount-ro перемонтирует файловую систему в режим "только для чтения". errors=panic аварийно завершает процесс монтирования и блокирует работу системы. Установка по умолчанию задана в суперблоке файловой системы и может быть изменена с помощью tune2fs. grpid или bsdgroups / nogrpid или sysvgroups Эти параметры определяют, какой идентификатор группы получит вновь созданный файл. Если указан параметр grpid, файл принимает GID каталога, в котором он создан; иначе (по умолчанию или второй вариант) файл принимает GID текущего процесса, если только для каталога не установлен SGID, поскольку в этом случае берется GID родительского каталога и может также приобрести SGID. grpquota / noquota / quota / usrquota Эти параметры доступны, но будут проигнорированы. nobh Не присоединять buffer_heads к файлу кешируемых страниц (pagecache). (Доступно начиная с ядра 2.5.49.) nouid32 Не использовать 32-битные UID-ы и GID-ы. Эта возможность введена для поддержки очень старых ядер, которые хранят и ожидают только 16-битные значения. oldalloc или orlov Использовать старый алгоритм распределения или алгоритм Орлова для новых индексных дескрипторов. По умолчанию используется алгоритм Орлова. resgid=n и resuid=n Файловая система ext2 резервирует определенный процент доступного дискового пространства под свои нужды (по умолчанию 5%). Эти параметры определяют кто может использовать зарезервированные блоки. Так, для resgid зарезервированные блоки может использовать любой, если он принадлежит к группе n. В случае resuid эти блоки может использовать любой, чей UID равен n. sb=n Взамен блока 1, в качестве суперблока используется n блок. Это может быть полезно, когда файловая система повреждена (или ранее были сделаны резервные копии суперблоков для каждых 8192 блоков: в блок 1, 8193, 16385, ... Сотни, а возможно даже тысячи таких копий для большой файловой системы). Начиная с ядра 1.08, mke2fs имеет параметр -s (распределенный (sparse) суперблок) для сокращения числа резервных копий суперблоков, а начиная с версии 1.15 это является режимом по умолчанию. Следует заметить, что в случае, если файловая система ext2 была создана современной mke2fs, то она не может быть смонтирована в режиме "чтение/запись" под Linux 2.0.*.) Для номера блока здесь используется 1k разрядов. Так, если вы пожелаете использовать логический блок 32768 на файловой системе с 4k блоками, используйте "sb=131072". user_xattr / nouser_xattr Поддержка дополнительных атрибутов "user." (или нет).
Параметры монтирования для ext3
Файловая система `ext3' является расширением файловой системы ext2, в которой реализована функция журналирования. Для неё поддерживаются как параметры ext2, так и дополнительные следующие параметры: journal=update Обновляет журнал файловой системы ext3 к текущему формату. journal=inum Если журнал уже существует, этот параметр игнорируется. Иначе, она определяет номер индексного дескриптора (inode), который будет исполнять роль журнала файловой системы ext3; для ext3 будет создан новый журнал, который заменит прежнее содержимое для файла, чей номер inode равен inum. noload Не загружать журнал файловой системы ext3 при монтировании. data=journal / data=ordered / data=writeback Определяют режим журналирования для файловых данных. Метаданные журналируются всегда. Чтобы на корневой файловой системе использовать другие режимы, кроме ordered, передайте необходимый режим ядру в виде параметра, например rootflags=data=journal. journal До начала изменений (сохранения) в основной файловой системе, все данные помещаются сначала в журнал. ordered Этот режим по умолчанию. Все изменения сначала происходят в основной файловой системе, а затем их метаданные регистрируются в журнале. writeback Оперирование данными без резервирования - данные сохраняются в основной файловой системе, после этого метаданные регистрируются в журнале. Этот параметр считается высокопроизводительным. Он гарантирует внутреннюю целостность файловой системы, однако это может приводить к перезаписи старыми данными информации в файлах после аварийного завершения работы системы и последующего процесса восстановления из журнала. commit=nrsec Синхронизировать все данные и метаданные каждые nrsec секунд. По умолчанию это значение равно 5 секундам. Нуль означает - взять по умолчанию.
Параметры монтирования для nfs
Вместо текстовой строки параметров, разобранной ядром, файловая система nfs ожидает двоичного аргумента типа struct nfs_mount_data. Программа mount самостоятельно трансформирует параметры в форму `tag=value', и помещает их в следующую структуру: rsize=n, wsize=n, timeo=n, retrans=n, acregmin=n, acregmax=n, acdirmin=n, acdirmax=n, actimeo=n, retry=n, port=n, mountport=n, mounthost=name, mountprog=n, mountvers=n, nfsprog=n, nfsvers=n, namlen=n. К особенно ценным параметрам относятся: rsize=8192,wsize=8192 Эти значения устанавливают соответственно размер буферов чтения и записи вместо принятого по умолчанию размера буфера 4096. Такая установка значительно ускоряет NFS подключения. (NFSv2 не работает с очень большими значениями rsize и wsize.) hard Позволяет программе осуществляющей доступ к файлу на смонтированной файловой системы NFS, "зависнуть", если на сервере произошла аварийная ситуация. Процесс не может быть прерван или завершен, если только не указан параметр intr. После восстановления работоспособности сервера NFS, программа продолжит обработку с того места, где её застал сбой. Возможно hard,intr то то что вам нужно. soft Этот параметр позволяет ядру установить тайм-аут, если сервер NFS не отвечает в течении некоторого времени. Период тайм-аута задается параметром timeo=time. Этот параметр должен быть полезен если ваш сервер NFS иногда не отвечает или будет перезагружаться пока некоторые процессы попытаются получить доступ к файлу на сервере. Обычно это является причиной многих беспокойств. nolock Не использует блокировку и не запускает lockd.
Примеры использования
# mount устройство каталог - монтирование устройства в каталог с автоматическим определение типа файловой системы # mount -t ntfs /dev/hdd2 <каталог> - монтирование жесткого диска hdd2 с файловой системой ntfs # mount -t cifs //<IP_или_ИМЯ>/<РЕСУРС> <каталог> - монтирование сетевого samba ресурса (например с windows системы) # mount -t nfs <IP_или_ИМЯ>:/<РЕСУРС> <каталог> - монтирование сетевых ресурсов NFS # mount -o loop <ФАЙЛ>.iso <каталог> - монтирование образа CD/DVD диска # mount -t ramfs -o size=128m ramfs <каталог> - создание диска в ОЗУ размером 128 Мб
Ссылки:
- Монтирование разделов и дисков в Linux
- Монтирование NFS на Linux с NT сервера
- Монтирование тома NFS
- Создание диска в памяти
Литература
Справочная информация
- 13.05.2014: Mount: создание статьи о команде монтирования файловой системы
- 23.02.2015: Mount: добавлен раздел о Специфичных параметрах монтирования