.\" -*- coding: UTF-8 -*- .\" Copyright (C) 1993 Rickard E. Faith .\" and Copyright (C) 1994 Andries E. Brouwer .\" and Copyright (C) 2002, 2005, 2016 Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" Modified 1996-11-04 by Eric S. Raymond .\" Modified 2001-10-13 by Michael Kerrisk .\" Added note on historical behavior of MS_NOSUID .\" Modified 2002-05-16 by Michael Kerrisk .\" Extensive changes and additions .\" Modified 2002-05-27 by aeb .\" Modified 2002-06-11 by Michael Kerrisk .\" Enhanced descriptions of MS_MOVE, MS_BIND, and MS_REMOUNT .\" Modified 2004-06-17 by Michael Kerrisk .\" 2005-05-18, mtk, Added MNT_EXPIRE, plus a few other tidy-ups. .\" 2008-10-06, mtk: move umount*() material into separate umount.2 page. .\" 2008-10-06, mtk: Add discussion of namespaces. .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH mount 2 "3 апреля 2023 г." "Linux man\-pages 6.05.01" .SH ИМЯ mount \- применяется для монтирования файловых систем. .SH LIBRARY Standard C library (\fIlibc\fP, \fI\-lc\fP) .SH СИНТАКСИС .nf \fB#include \fP .PP \fBint mount(const char *\fP\fIsource\fP\fB, const char *\fP\fItarget\fP\fB,\fP \fB const char *\fP\fIfilesystemtype\fP\fB, unsigned long \fP\fImountflags\fP\fB,\fP \fB const void *_Nullable \fP\fIdata\fP\fB);\fP .fi .SH ОПИСАНИЕ Вызов \fBmount\fP() подключает файловую систему, указанную в \fIsource\fP (обычно здесь задаётся название устройства, но также может быть указано имя каталога, или файла, или фиктивное устройство), к пути заданному в \fItarget\fP(каталогу или файлу). .PP Для монтирования файловых систем требуются специальные права (Linux: мандат \fBCAP_SYS_ADMIN\fP). .PP Вариант \fIfilesystemtype\fP доступные ядру перечислены в \fI/proc/filesystems\fP (например: "btrfs", "ext4", "jfs", "xfs", "vfat", "fuse", "tmpfs", "cgroup", "proc", "mqueue", "nfs", "cifs", "iso9660"). Дополнительные типы становятся доступными после загрузки соответствующих модулей. .PP The \fIdata\fP argument is interpreted by the different filesystems. Typically it is a string of comma\-separated options understood by this filesystem. See \fBmount\fP(8) for details of the options available for each filesystem type. This argument may be specified as NULL, if there are no options. .PP Вызов \fBmount\fP() выполняет один из нескольких типов операций, в зависимости от значений, указанных в \fImountflags\fP. Выбор выполняемой операции определяется путем тестирования значений, установленных в \fImountflags\fP, с проведением тестов в следующем порядке: .IP \[bu] 3 Перемонтировать существующие точки монтирования: \fImountflags\fP включает \fBMS_REMOUNT\fP. .IP \[bu] Создать привязку (bind mount): \fImountflags\fP включает \fBMS_BIND\fP. .IP \[bu] Изменить тип существующего монтирования: \fImountflags\fP включает одно из \fBMS_SHARED\fP, \fBMS_PRIVATE\fP, \fBMS_SLAVE\fP или \fBMS_UNBINDABLE\fP. .IP \[bu] Переместить существующее монтирование в новое место: \fImountflags\fP включает \fBMS_MOVE\fP. .IP \[bu] Создать новое монтирование: \fImountflags\fP не содержит ни один из указанных выше флагов. .PP .\" Каждая из этих операций подробно описана далее на этой странице. Для изменения поведения \fBmount\fP() могут быть указаны дополнительные флаги в \fImountflags\fP, как описано ниже. .SS "Дополнительные флаги для монтирования" .\" .\" FIXME 2.6.25 Added MS_I_VERSION, which needs to be documented. .\" commit 7a224228ed79d587ece2304869000aad1b8e97dd .\" (This is a per-superblock flag) .\" Ниже расположенный список дополнительных флагов, которые можно использовать в \fImountflags\fP. Обратите внимание на то, что некоторые из них или даже все игнорируются операциями. Такие случае будут описаны далее по тексту. .TP \fBMS_DIRSYNC\fP (начиная с Linux 2.5.19) Осуществлять изменения каталогов на этой файловой системе синхронно. Это свойство может быть получено для отдельных каталогов или дерева подкаталогов с помощью \fBchattr\fP(1). .TP \fBMS_LAZYTIME\fP (начиная с Linux 4.0) .\" commit 0ae45f63d4ef8d8eeec49c7d8b44a1775fff13e8 .\" commit fe032c422c5ba562ba9c2d316f55e258e03259c6 .\" commit a26f49926da938f47561f386be56a83dd37a496d Можно уменьшить количество обращений к диску, если сохранять дескрипторы меток времени (atime, mtime, ctime) только в памяти. Временные метки на диске обновляются только в следующих случаях: .RS .IP \[bu] 3 дескрипторы необходимо обновить для некоторого изменения, не связанного с временными метками файлов; .IP \[bu] приложение использует \fBfsync\fP(2), \fBsyncfs\fP(2), or \fBsync\fP(2); .IP \[bu] неиспользуемый дескриптор вытесняется из памяти; или .IP \[bu] прошло более 24 часов с момента записи дескриптора на диск. .RE .IP Данный параметр монтирования существенно сокращает количество операций записи, необходимых для обновления меток времени inode, особенно mtime и atime. Однако, если произойдёт падение системы, то поля atime и mtime на диске могут оказаться устаревшими на 24 часа. .IP В качестве примеров, где данный параметр может принести значительную выгоду это частые произвольные операции записи в уже выделенные файлы, а также случаи, когда также включён параметр монтирования \fBMS_STRICTATIME\fP (преимущество объединения \fBMS_STRICTATIME\fP и \fBMS_LAZYTIME\fP в том, что \fBstat\fP(2) будет возвращать правильное обновлённое время, но обновления atime будет производиться на диск только в случаях перечисленных выше). .TP \fBMS_MANDLOCK\fP .\" commit 95ace75414f312f9a7b93d873f386987b92a5301 Permit mandatory locking on files in this filesystem. (Mandatory locking must still be enabled on a per\-file basis, as described in \fBfcntl\fP(2).) Since Linux 4.5, this mount option requires the \fBCAP_SYS_ADMIN\fP capability and a kernel configured with the \fBCONFIG_MANDATORY_FILE_LOCKING\fP option. Mandatory locking has been fully deprecated in Linux 5.15, so this flag should be considered deprecated. .TP \fBMS_NOATIME\fP Не обновлять время доступа для (всех типов) файлов в этой файловой системе. .TP \fBMS_NODEV\fP Запретить доступ к устройствам (специальным файлам) в этой файловой системе. .TP \fBMS_NODIRATIME\fP Не обновлять время доступа для каталогов в этой файловой системе. Данный флаг частично предоставляет свойство \fBMS_NOATIME\fP; то есть при \fBMS_NOATIME\fP подразумевается \fBMS_NODIRATIME\fP. .TP \fBMS_NOEXEC\fP .\" (Possibly useful for a filesystem that contains non-Linux executables. .\" Often used as a security feature, e.g., to make sure that restricted .\" users cannot execute files uploaded using ftp or so.) Запретить исполнение программ в этой файловой системе. .TP \fBMS_NOSUID\fP .\" (This is a security feature to prevent users executing set-user-ID and .\" set-group-ID programs from removable disk devices.) Do not honor set\-user\-ID and set\-group\-ID bits or file capabilities when executing programs from this filesystem. In addition, SELinux domain transitions require the permission \fInosuid_transition\fP, which in turn needs also the policy capability \fInnp_nosuid_transition\fP. .TP \fBMS_RDONLY\fP Подключить файловую систему в режиме только для чтения. .TP \fBMS_REC\fP (начиная с Linux 2.4.11) Используется вместе с \fBMS_BIND\fP для создания рекурсивной точки монтирования и вместе с флагами типа распространения для рекурсивного изменения типа распространения всех точек монтирования в поддереве. Подробности смотрите далее. .TP \fBMS_RELATIME\fP (начиная с Linux 2.6.20) .\" Matthew Garrett notes in the patch that added this behavior .\" that this lets utilities such as tmpreaper (which deletes .\" files based on last access time) work correctly. При доступе к файлу на этой файловой системе значение времени последнего доступа к файлу (atime) обновляется, только если текущее значение atime меньше или равно времени последнего изменения файла (mtime) или времени последнего изменения состояния файла (ctime). Этот флаг полезен для программ (например, \fBmutt\fP(1)), которым нужно знать, что файл был прочитан с момента его последнего изменения. Начиная с Linux 2.6.30 в ядро это поведение включено по умолчанию (если не указан \fBMS_NOATIME\fP), а чтобы получить обычное поведение нужно указать флаг \fBMS_STRICTATIME\fP. Также, начиная с Linux 2.6.30 время последнего доступа к файлу всегда обновляется, если оно устаревает на один день. .TP \fBMS_SILENT\fP (начиная с Linux 2.6.17) Не выводить определённые (\fIprintk\fP()) предупреждающие сообщения в журнал ядра. Этот флаг заменяет неправильно названный и устаревший флаг \fBMS_VERBOSE\fP (доступный начиная с Linux 2.4.12), который выполняет такую же функцию. .TP \fBMS_STRICTATIME\fP (начиная с Linux 2.6.30) Всегда обновлять время последнего доступа (atime) при доступе к файлам на этой файловой системе (это выполнялось по умолчанию до Linux 2.6.30). Задание этого флага отменяет поведение флагов \fBMS_NOATIME\fP и \fBMS_RELATIME\fP. .TP \fBMS_SYNCHRONOUS\fP Осуществлять запись на эту файловую систему синхронно (как если бы флаг \fBO_SYNC\fP для \fBopen\fP(2) был указан для всех файлов, открытых на этой файловой системе). .TP \fBMS_NOSYMFOLLOW\fP (начиная с Linux 5.10) .\" dab741e0e02bd3c4f5e2e97be74b39df2523fc6e Do not follow symbolic links when resolving paths. Symbolic links can still be created, and \fBreadlink\fP(1), \fBreadlink\fP(2), \fBrealpath\fP(1), and \fBrealpath\fP(3) all still work properly. .PP Начиная с Linux 2.4 одни из показанных выше флагов можно устанавливать на точки монтирования (свой набор на каждой), а другие — на суперблок смонтированной файловой системы, то есть все монтирования одной файловой системы имеют одинаковый набор этих флагов (ранее все флаги применялись к суперблоку). .PP Флаги набора для точки монтирования: .IP \[bu] 3 Начиная с Linux 2.4: флаги \fBMS_NODEV\fP, \fBMS_NOEXEC\fP и \fBMS_NOSUID\fP задаются для каждой точки монтирования отдельно. .IP \[bu] Additionally, since Linux 2.6.16: \fBMS_NOATIME\fP and \fBMS_NODIRATIME\fP. .IP \[bu] Additionally, since Linux 2.6.20: \fBMS_RELATIME\fP. .PP .\" And MS_I_VERSION? The following flags are per\-superblock: \fBMS_DIRSYNC\fP, \fBMS_LAZYTIME\fP, \fBMS_MANDLOCK\fP, \fBMS_SILENT\fP, and \fBMS_SYNCHRONOUS\fP. The initial settings of these flags are determined on the first mount of the filesystem, and will be shared by all subsequent mounts of the same filesystem. Subsequently, the settings of the flags can be changed via a remount operation (see below). Such changes will be visible via all mounts associated with the filesystem. .PP .\" Начиная с Linux 2.6.16 флаг \fBMS_RDONLY\fP может устанавливаться и сбрасываться на точках монтирования по отдельности, а также на нижележащем суперблоке файловой системы. Смонтированная файловая система будет доступна на запись только, если она сама и её точка монтирования не помечены только для чтения. .SS "Перемонтированние существующих точек монтирования." Существующие монтирования можно перемонтировать, указав \fBMS_REMOUNT\fP в \fImountflags\fP. Это позволяет изменить \fImountflags\fP и \fIdata\fP существующих монтирований без необходимости размонтировать и заново монтировать файловую систему. \fItarget\fP должен соответствовать указанному при начальном вызове \fBmount\fP(). .PP Аргументы \fIsource\fP и \fIfilesystemtype\fP игнорируются. .PP Аргументы \fImountflags\fP и \fIdata\fP должны совпадать со значениями, используемыми в первоначальном вызове \fBmount\fP(), за исключением параметров, которые были преднамеренно изменены. .PP .\" FIXME .\" MS_LAZYTIME seems to be available only on a few filesystems, .\" and on ext4, it seems (from experiment that this flag .\" can only be enabled (but not disabled) on a remount. .\" The following code in ext4_remount() (kernel 4.17) seems to .\" confirm this: .\" .\" if (*flags & SB_LAZYTIME) .\" sb->s_flags |= SB_LAZYTIME; .\" See the definition of MS_RMT_MASK in include/uapi/linux/fs.h, .\" which excludes MS_DIRSYNC and MS_SILENT, although SB_DIRSYNC .\" and SB_SILENT are split out as per-superblock flags in do_mount() .\" (Linux 4.17 source code) The following \fImountflags\fP can be changed: \fBMS_LAZYTIME\fP, \fBMS_MANDLOCK\fP, \fBMS_NOATIME\fP, \fBMS_NODEV\fP, \fBMS_NODIRATIME\fP, \fBMS_NOEXEC\fP, \fBMS_NOSUID\fP, \fBMS_RELATIME\fP, \fBMS_RDONLY\fP, \fBMS_STRICTATIME\fP (whose effect is to clear the \fBMS_NOATIME\fP and \fBMS_RELATIME\fP flags), and \fBMS_SYNCHRONOUS\fP. Attempts to change the setting of the \fBMS_DIRSYNC\fP and \fBMS_SILENT\fP flags during a remount are silently ignored. Note that changes to per\-superblock flags are visible via all mounts of the associated filesystem (because the per\-superblock flags are shared by all mounts). .PP .\" commit ffbc6f0ead47fa5a1dc9642b0331cb75c20a640e Начиная с Linux 3.17, если не одно из значений \fBMS_NOATIME\fP, \fBMS_NODIRATIME\fP, \fBMS_RELATIME\fP, или \fBMS_STRICTATIME\fP не указано в \fImountflags\fP , то при перемонтировании сохраняются текущие значения этих флагов (а не изменяются на значение по умолчанию \fBMS_RELATIME\fP). .PP .\" See https://lwn.net/Articles/281157/ Since Linux 2.6.26, the \fBMS_REMOUNT\fP flag can be used with \fBMS_BIND\fP to modify only the per\-mount\-point flags. This is particularly useful for setting or clearing the "read\-only" flag on a mount without changing the underlying filesystem. Specifying \fImountflags\fP as: .PP .in +4n .EX MS_REMOUNT | MS_BIND | MS_RDONLY .EE .in .PP .\" will make access through this mountpoint read\-only, without affecting other mounts. .SS "Создание привязки монтирования" .\" since Linux 2.4.0-test9 Если \fImountflags\fP содержит \fBMS_BIND\fP (доступен, начиная с Linux 2.4), то выполняется привязка монтирования. Привязка монтирования делает видимым файл или поддерево каталогов в другой точке внутри одной иерархии каталогов. Привязки монтирования могут быть в разных файловых системах и перекрывают заключения \fBchroot\fP(2). .PP Аргументы \fIfilesystemtype\fP и \fIdata\fP игнорируются. .PP The remaining bits (other than \fBMS_REC\fP, described below) in the \fImountflags\fP argument are also ignored. (The bind mount has the same mount options as the underlying mount.) However, see the discussion of remounting above, for a method of making an existing bind mount read\-only. .PP .\" По умолчанию, когда каталогу назначена привязка монтирования, монтируется только этот каталог; если существуют другие подмонтирования в дереве каталогов, то им не назначается привязка монтирования. Если также указан флаг \fBMS_REC\fP, то выполняется операция рекурсивной привязки монтирования: всем подмонтированиям в поддереве \fIsource\fP (отличным от непривязываемых монтирований) также назначается привязка монтирования в соответствующее расположение к поддереве \fItarget\fP. .SS "Изменение типа распространения существующего монтирования" Если \fImountflags\fP содержит один из флагов \fBMS_SHARED\fP, \fBMS_PRIVATE\fP, \fBMS_SLAVE\fP, или \fBMS_UNBINDABLE\fP (все доступны начиная с Linux 2.6.15), то тип распространения существующего монтирования изменяется. Если указано сразу несколько из этих флагов, то возвращается ошибка. .PP При смене типа распространения можно изменять только флаги \fBMS_REC\fP (описан ниже) и \fBMS_SILENT\fP (игнорируется). .PP Аргументы \fIsource\fP, \fIfilesystemtype\fP и \fIdata\fP игнорируются. .PP Назначение флагов типа распространения следующее: .TP \fBMS_SHARED\fP Make this mount shared. Mount and unmount events immediately under this mount will propagate to the other mounts that are members of this mount's peer group. Propagation here means that the same mount or unmount will automatically occur under all of the other mounts in the peer group. Conversely, mount and unmount events that take place under peer mounts will propagate to this mount. .TP \fBMS_PRIVATE\fP Make this mount private. Mount and unmount events do not propagate into or out of this mount. .TP \fBMS_SLAVE\fP If this is a shared mount that is a member of a peer group that contains other members, convert it to a slave mount. If this is a shared mount that is a member of a peer group that contains no other members, convert it to a private mount. Otherwise, the propagation type of the mount is left unchanged. .IP When a mount is a slave, mount and unmount events propagate into this mount from the (master) shared peer group of which it was formerly a member. Mount and unmount events under this mount do not propagate to any peer. .IP A mount can be the slave of another peer group while at the same time sharing mount and unmount events with a peer group of which it is a member. .TP \fBMS_UNBINDABLE\fP Делает эту точку монтирования непривязываемой. Она подобна индивидуальной точке монтирования плюс недоступна привязка монтирования. При рекурсивной привязке (\fBmount\fP() с флагами \fBMS_BIND\fP и \fBMS_REC\fP) в поддереве каталога все непривязываемые монтирования внутри поддерева автоматически удаляются (т. е., не копируются) при копировании этого поддерева для создания целевого поддерева. .PP By default, changing the propagation type affects only the \fItarget\fP mount. If the \fBMS_REC\fP flag is also specified in \fImountflags\fP, then the propagation type of all mounts under \fItarget\fP is also changed. .PP .\" Дополнительную информацию по типам распространения монтирования (включая тип распространения по умолчанию, назначаемый новым точкам монтирования) смотрите в \fBmount_namespaces\fP(7). .SS "Перемещение точки монтирования" If \fImountflags\fP contains the flag \fBMS_MOVE\fP (available since Linux 2.4.18), then move a subtree: \fIsource\fP specifies an existing mount and \fItarget\fP specifies the new location to which that mount is to be relocated. The move is atomic: at no point is the subtree unmounted. .PP .\" Оставшиеся биты в аргументе \fImountflags\fP игнорируются, как и аргументы \fIfilesystemtype\fP и \fIdata\fP. .SS "Creating a new mount" If none of \fBMS_REMOUNT\fP, \fBMS_BIND\fP, \fBMS_MOVE\fP, \fBMS_SHARED\fP, \fBMS_PRIVATE\fP, \fBMS_SLAVE\fP, or \fBMS_UNBINDABLE\fP is specified in \fImountflags\fP, then \fBmount\fP() performs its default action: creating a new mount. \fIsource\fP specifies the source for the new mount, and \fItarget\fP specifies the directory at which to create the mount point. .PP .\" Используются аргументы \fIfilesystemtype\fP и \fIdata\fP, дополнительные параметры для изменения поведения могут быть указаны в \fImountflags\fP. .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" On success, zero is returned. On error, \-1 is returned, and \fIerrno\fP is set to indicate the error. .SH ОШИБКИ Коды ошибок, описанные ниже, не зависят от типа файловой системы. У каждой файловой системы могут быть свои коды ошибок и своё собственное поведение. Подробности смотрите в исходном коде ядра Linux. .TP \fBEACCES\fP Поиск запрещён из\-за одной части пути, которая не доступна для просмотра и поиск (см. подробнее в \fBpath_resolution\fP(7)). .TP \fBEACCES\fP Было предпринята попытка монтирования файловой системы доступной только на чтение, но без флага \fBms_rdonly\fP. .IP Файловая система может быть доступна только для чтения по разным причинам: она расположена на оптическом диске, доступном только для чтения; она располагается на устройстве с физической коммутацией, которое было отмечено как доступное только для чтения; реализация файловой системы скомпилирована с поддержкой только на чтение; обнаружены ошибки при первоначальном монтировании файловой системы, из\-за чего она была помечена как доступная только для чтения и её невозможно перемонтировать как доступную для чтения/записи (пока не будут исправлены ошибки). .IP При попытке монтирования файловой системы только для чтениянекоторые файловые системы вместо этого возвращают ошибку \fBEROFS\fP. .TP \fBEACCES\fP .\" mtk: Probably: write permission is required for MS_BIND, with .\" the error EPERM if not present; CAP_DAC_OVERRIDE is required. Блочное устройство \fIsource\fP расположено в файловой системе, которая смонтирована с параметром \fBMS_NODEV\fP. .TP \fBEBUSY\fP Попытка выполнить новое монтирование непосредственно поверх существующей точки монтирования, которая была создана в этом пространстве имён монтирования с тем же \fIисточником\fP и \fIназначением\fP. .TP \fBEBUSY\fP \fIsource\fP не может быть перемонтирован с доступом только на чтение, потому что он все ещё содержит файлы, открытые для записи. .TP \fBEFAULT\fP Один из аргументов\-указателей указывает на каталог за пределами пользовательского адресного пространства. .TP \fBEINVAL\fP \fIисточник\fP имеет недоступный суперблок. .TP \fBEINVAL\fP Была предпринята попытка перемонтирования (\fBMS_REMOUNT\fP), но \fIsource\fP еще не был смонтирован в \fItarget\fP. .TP \fBEINVAL\fP A move operation (\fBMS_MOVE\fP) was attempted, but the mount tree under \fIsource\fP includes unbindable mounts and \fItarget\fP is a mount that has propagation type \fBMS_SHARED\fP. .TP \fBEINVAL\fP Была предпринята попытка перемещения (\fBMS_MOVE\fP), но родительское монтирование монтирования \fIsource\fP является точкой монтирования с типом распространения \fBMS_SHARED\fP. .TP \fBEINVAL\fP A move operation (\fBMS_MOVE\fP) was attempted, but \fIsource\fP was not a mount, or was \[aq]/\[aq]. .TP \fBEINVAL\fP .\" See commit 8823c079ba7136dc1948d6f6dcb5f8022bde438e A bind operation (\fBMS_BIND\fP) was requested where \fIsource\fP referred a mount namespace magic link (i.e., a \fI/proc/\fPpid\fI/ns/mnt\fP magic link or a bind mount to such a link) and the propagation type of the parent mount of \fItarget\fP was \fBMS_SHARED\fP, but propagation of the requested bind mount could lead to a circular dependency that might prevent the mount namespace from ever being freed. .TP \fBEINVAL\fP \fImountflags\fP включает более одного значения из \fBMS_SHARED\fP, \fBMS_PRIVATE\fP, \fBMS_SLAVE\fP, или \fBMS_UNBINDABLE\fP. .TP \fBEINVAL\fP \fImountflags\fP включает \fBMS_SHARED\fP, \fBMS_PRIVATE\fP, \fBMS_SLAVE\fP, или \fBMS_UNBINDABLE\fP а также включает флаг, отличный от \fBMS_REC\fP или \fBMS_SILENT\fP. .TP \fBEINVAL\fP Была попытка выполнить связанное монтирование, как несвязанное монтирование. .TP \fBEINVAL\fP В непривилегированном пространстве имён монтирования (т. е., пространстве имён монтирования, принадлежащем пространству имён пользователя, которое было создано непривилегированным пользователем) выполнялась операция связанного монтирования (\fBMS_BIND\fP) без указания (\fBMS_REC\fP), которая привела бы к открытию дерева файловой системы, находящемся ниже одного из подмонтирований каталога, к которому выполнялось связывание. .TP \fBELOOP\fP Во время разбора имён найдено слишком много ссылок. .TP \fBELOOP\fP Сделана попытка перемещения, но \fIцель\fP оказалась подкаталогом \fIисточника\fP. .TP \fBEMFILE\fP (В случае, если не требуются блочные устройства): таблица фиктивных устройств переполнена. .TP \fBENAMETOOLONG\fP Значение пути длиннее чем \fBMAXPATHLEN\fP. .TP \fBENODEV\fP Тип из \fIfilesystemtype\fP в ядре не настроен. .TP \fBENOENT\fP Указан пустой путь или одна из его частей не существует. .TP \fBENOMEM\fP Ядро не может выделить свободную страницу для копирования имени файла или данных. .TP \fBENOTBLK\fP Значение \fIsource\fP не является блочным устройством (а устройство было запрошено). .TP \fBENOTDIR\fP Значение \fItarget\fP или префикс \fIsource\fP не является каталогом. .TP \fBENXIO\fP Старший номер блочного устройства \fIsource\fP вне допустимого диапазона. .TP \fBEPERM\fP Вызывающий процесс не имеет требуемых привилегий. .TP \fBEPERM\fP An attempt was made to modify (\fBMS_REMOUNT\fP) the \fBMS_RDONLY\fP, \fBMS_NOSUID\fP, or \fBMS_NOEXEC\fP flag, or one of the "atime" flags (\fBMS_NOATIME\fP, \fBMS_NODIRATIME\fP, \fBMS_RELATIME\fP) of an existing mount, but the mount is locked; see \fBmount_namespaces\fP(7). .TP \fBEROFS\fP .\" Было предпринята попытка монтирования файловой системы доступной только на чтение без флага \fBMS_RDONLY\fP. Смотрите описание \fBEACCES\fP, приведённое выше. .SH СТАНДАРТЫ Linux. .SH ИСТОРИЯ The definitions of \fBMS_DIRSYNC\fP, \fBMS_MOVE\fP, \fBMS_PRIVATE\fP, \fBMS_REC\fP, \fBMS_RELATIME\fP, \fBMS_SHARED\fP, \fBMS_SLAVE\fP, \fBMS_STRICTATIME\fP, and \fBMS_UNBINDABLE\fP were added to glibc headers in glibc 2.12. .PP .\" Multiple mounts on same mount point: since Linux 2.3.99pre7. Начиная с Linux 2.4 одна файловая система может быть смонтирована в множество точек монтирования, также множественное монтирование может осуществляться в одну точку. .PP The \fImountflags\fP argument may have the magic number 0xC0ED (\fBMS_MGC_VAL\fP) in the top 16 bits. (All of the other flags discussed in DESCRIPTION occupy the low order 16 bits of \fImountflags\fP.) Specifying \fBMS_MGC_VAL\fP was required before Linux 2.4, but since Linux 2.4 is no longer required and is ignored if specified. .PP Изначальный флаг \fBMS_SYNC\fP был переименован в \fBMS_SYNCHRONOUS\fP в 1.1.69, когда в \fI\fP был добавлен другой флаг \fBMS_SYNC\fP. .PP .\" The change is in patch-2.4.0-prerelease. .\" До Linux 2.4 попытка выполнения программ set\-UID или set\-GID на файловой системе, подключённой с параметром \fBMS_NOSUID\fP, вызывает ошибку \fBEPERM\fP. Начиная с Linux 2.4 биты set\-UID и set\-GID в этом случае негласно игнорируются. .SH ЗАМЕЧАНИЯ .SS "Пространства имён монтирования" Starting with Linux 2.4.19, Linux provides mount namespaces. A mount namespace is the set of filesystem mounts that are visible to a process. Mount namespaces can be (and usually are) shared between multiple processes, and changes to the namespace (i.e., mounts and unmounts) by one process are visible to all other processes sharing the same namespace. (The pre\-2.4.19 Linux situation can be considered as one in which a single namespace was shared by every process on the system.) .PP Процесс\-потомок, создаваемый \fBfork\fP(2), использует родительское пространство имён монтирования совместно с родителем; пространство имён монтирования сохраняется при вызове \fBexecve\fP(2). .PP Процесс может получить собственное пространство имён монтирования если: он был создан с помощью \fBclone\fP(2) с флагом \fBCLONE_NEWNS\fP; в этом случае его новое пространство имён инициализируется \fIкопией\fP пространства имён процесса, который вызвал \fBclone\fP(2); или он вызовет \fBunshare\fP(2) с флагом \fBCLONE_NEWNS\fP; в этом случае пространство имён вызвавшего получит свою копию пространства имён, которое он раньше совместно использовал с другими процессами, и дальнейшие монтирования и размонтирования вызвавшим будут невидимы другим процессам (за исключением потомков, которые вызывающий создаст позже) и наоборот. .PP .\" For further details on mount namespaces, see \fBmount_namespaces\fP(7). .SS "Parental relationship between mounts" Each mount has a parent mount. The overall parental relationship of all mounts defines the single directory hierarchy seen by the processes within a mount namespace. .PP The parent of a new mount is defined when the mount is created. In the usual case, the parent of a new mount is the mount of the filesystem containing the directory or file at which the new mount is attached. In the case where a new mount is stacked on top of an existing mount, the parent of the new mount is the previous mount that was stacked at that location. .PP .\" The parental relationship between mounts can be discovered via the \fI/proc/\fPpid\fI/mountinfo\fP file (see below). .SS "\fI/proc/\fPpid\fI/mounts\fP and \fI/proc/\fPpid\fI/mountinfo\fP" The Linux\-specific \fI/proc/\fPpid\fI/mounts\fP file exposes the list of mounts in the mount namespace of the process with the specified ID. The \fI/proc/\fPpid\fI/mountinfo\fP file exposes even more information about mounts, including the propagation type and mount ID information that makes it possible to discover the parental relationship between mounts. See \fBproc\fP(5) and \fBmount_namespaces\fP(7) for details of this file. .SH "СМ. ТАКЖЕ" \fBmountpoint\fP(1), \fBchroot\fP(2), \fBioctl_iflags\fP(2), \fBmount_setattr\fP(2), \fBpivot_root\fP(2), \fBumount\fP(2), \fBmount_namespaces\fP(7), \fBpath_resolution\fP(7), \fBfindmnt\fP(8), \fBlsblk\fP(8), \fBmount\fP(8), \fBumount\fP(8) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства был сделан aereiae , Alexey , Azamat Hackimov , Dmitriy S. Seregin , Dmitry Bolkhovskikh , ITriskTI , Max Is , Yuri Kozlov , Иван Павлов и Малянов Евгений Викторович . .PP Этот перевод является бесплатной документацией; прочитайте .UR https://www.gnu.org/licenses/gpl-3.0.html Стандартную общественную лицензию GNU версии 3 .UE или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. .PP Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на .MT man-pages-ru-talks@lists.sourceforge.net .ME .