Коды ошибок mount

������������� ������� ��������� ��������� ���������� (man-��)

mount (2)


  • mount (1) ( Solaris man: ������� � ���������� ��������� ����������������� ������ )
  • mount (2) ( Solaris man: ��������� ������ )
  • mount (2) ( FreeBSD man: ��������� ������ )
  • >> mount (2) ( ������� man: ��������� ������ )
  • mount (2) ( Linux man: ��������� ������ )
  • mount (8) ( FreeBSD man: ������� ���������� ����������������� )
  • mount (8) ( ������� man: ������� ���������� ����������������� )
  • mount (8) ( Linux man: ������� ���������� ����������������� )
  • ���� mount ��������� � ���� �������� ����.
  •  

    ��������

    mount, umount — ���������� � ��������� �������� �������
     

    ���������

    #include <sys/mount.h>

    int mount(const char *source, const char *target,

    const char *filesystemtype, unsigned long mountflags,

    const void *data);

    int umount(const char *target);

    int umount2(const char *target, int flags);

     

    ��������

    mount

    ���������� �������� �������, ������������
    source

    (������ ��� ��� �������� ��������� ����������, �� ����� ����� ����
    ������ �������� ��� dummy), � ��������, ��������� �
    target.

    umountumount2

    ��������� (����� ���������) �������� �������, ������������ �
    target.

    ���������� � ��������� �������� ������� ����� ������ �����������������.
    ������� � Linux 2.4 ���� �������� ������� ����� ���� �����
    �� ���������� ������ �����������, � ��������� �����������
    ����� ���� ������� � ����� �����.

    �������� ��� ���������
    filesystemtype

    �������������� �����, ����������� �
    /proc/filesystems

    (��������: «minix», «ext2», «msdos», «proc», «nfs», «iso9660» � �.�.).
    ��������� ���� ����� ����� ����������, ���� ����� ���������
    ��������������� ������.

    ��������
    mountflags

    ����� ����� «���������» ����� 0xC0ED (MS_MGC_VAL)
    � �������� 16 ����� (��� ����������� � ������� ���� ������ �� 2.4,
    �� ����� �� ��������� � ������������, ���� ���� �������),
    � ��������� ����� ����������� (��� ���������� � <linux/fs.h> ��� libc4 � libc5
    � � <sys/mount.h> ��� glibc2) � �������������� 16 �����:

    MS_BIND

    (������� � Linux 2.4)

    ��������� �������� �����������, ��� ���� ���� ��� ������� ���������� ��������
    � ������ ������ ������ �������� �������.
    �������� ����������� ����� �������� ����������� �������� ������� � ������
    chroot(2).

    ���������
    filesystemtype, mountflags, � data

    ������������.

    MS_DIRSYNC

    (������� � Linux 2.5.19.)
    ������������ ��������� ��������� �� ���� �������� ������� ���������
    (��� �������� ����� ���� �������� ��� ��������� ��������� ��� ������
    ������������, ���������
    chattr(8).)

    MS_MANDLOCK

    ��������� ������� ���������� ������ � ���� �������� �������.
    (������� ���������� ��� ����� ������� ������ ���� �������� ��� ������,
    ��� ������� �
    fcntl(2).)

    MS_MOVE

    ����������� �����������
    source

    ��������� �� ������������ ����� �����������, �
    target

    ���������� ����� ������������.
    ����������� ������������ �� ����� ������ ������, � �� � ����
    ������ ���������� �� ����� �������� «�����������».
    ���������
    filesystemtype, mountflags, � data

    ������������.

    MS_NOATIME

    �� ��������� ����� ������� ��� (���� �����) ������ � ���� �������� �������.
    MS_NODEV

    ��������� ������ � ����������� (������ ������) � ���� �������� �������.
    MS_NODIRATIME

    �� ��������� ����� ������� ��� ��������� � ���� �������� �������.
    MS_NOEXEC

    ��������� ���������� ���������� � ���� �������� �������.

    MS_NOSUID

    �� ��������� ���� set-UID � set-GID ��� ���������� �������� � ���� �������� �������.

    MS_RDONLY

    ���������� �������� ������� � ������ ������-���-������.
    MS_REMOUNT

    �������������� ��� ������������ �����������. ��� ���� ����� ��������
    mountflags


    data

    ��� ������������� ����������� ��� ������������ ����������-����������� �������� �������.
    source


    target

    ������ ��������������� ���������, ��������� ���
    mount()

    � ������ ������ (��� ��������� �����������);
    ��������
    filesystemtype

    ������������.

    MS_SYNCHRONOUS

    ������������ ������ �� ��� �������� ������� ���������
    (��� ���� �� ����
    O_SYNC

    ���
    open(2)

    ��� ������ ��� ���� ������, �������� �� ���� �������� �������).

    ������� � Linux 2.4 � �����, �����
    MS_NODEV, MS_NOEXEC, � MS_NOSUID

    ����� ������������� ��� ������� ���������� �����������.

    ��������
    data

    ���������������� ������� ��������� ���������.
    ������ ��� ������ �����, ����������� �������,
    ���������� ���� ����� �������� �������.
    ��������
    mount(8)

    ��� ��������� ���������� �� ������ ��� ������� ���� �������� �������.

    � Linux 2.1.116 �������� ��������� �����
    umount2(),

    �������, ��� �
    umount(),

    ��������� ���� target, �� ��������� ����� �������������� ������
    flags

    ��������� ���������� ��������:

    MNT_FORCE

    ������������� ���������, ���� ���� ���������� ������.
    (������� � 2.1.116. ������ ��� ����������� NFS.)
    MNT_DETACH

    ��������� ���������� ����������: ����� ����������� ���������� �����������
    ��� ����� �������� � �������, �� ���������� �����������, �����
    ��������� ���� ������� (��������� ��� ������� ������� � ������ �
    �������� ��������). (������� � 2.4.11.)

     

    ������������ ��������

    ��� ������� ���������� ������ ����������� �������� ����� ����. ��� ������ ������������
    -1, � ����������
    errno

    ������������� ����� ������.
     

    ��������� ������

    ���� ������, ��������� ����, �� ������� �� ���� ����������� ��������
    �������. � ������ �������� ������� ����� ���� ���� ���� ������ �
    ���� ����������� ���������. ����������� �������� � �������� ������� ����.

    EPERM

    ������� ������� �� ������������������.
    ENODEV

    ����� ���
    filesystemtype

    �� ��������� � ����.

    ENOTBLK

    Source

    �� �������� ������� ����������� (���� ���������� ���� ���������).

    EBUSY

    Source

    ��� ���������, ��� ��� ������ ����� ��������� � ������ «������ ��� ������»,
    ���������� ����, ��� � ��� ��� ��� ���� �������� ��� ������ �����,
    ��� ���������� �� ����� ���� ���������� � ��������
    target

    ������, ��� �������
    target

    ����� (�������� ������� ��������� ���������� ��������,
    ������ ����������� ������� ����������, � ��� ����
    �������� ����� � �.�.).

    EINVAL

    Source

    �������� ������������ ���������.
    ��� ���� ������� ������� ���������������
    source,

    � �� �� ��������� � ��������
    target.

    ��� ���� ������� ������� �����������, �
    source

    �� �������� ������ �����������, ��� �������� «/».
    ��� ���� ������� ���������� ��������, �
    target

    �� �������� ������ ����������� �� ������ �� ���������.

    ENOTDIR

    ������ ��������, ��� ������� ������� ��������� �� �������� ������� ���������.
    EFAULT

    ���� �� ����������-���������� ��������� �� ������� �� ��������� ��������� ������������.
    ENOMEM

    ���� �� ����� �������� ��������� �������� ������ ��� ����������� ���� ������
    ��� ������.
    ENAMETOOLONG

    ����� ������� ����� ����� ��������� MAXPATHLEN.
    ENOENT

    ���� ���� ��� �������� �������������� ���������.
    ELOOP

    �� ����� ������� ���� ������� ������� ����� ������. ��� ������� �������
    �����������, �
    target

    �������� ������������
    source.

    EACCES

    ��������� ���� �� ����� ���� ��������

    ��� ���� ������� ������� �������������� �������� ������� («������ ��� ������»)
    ��� �������� �� ���� MS_RDONLY,

    ��� ������� ����������
    Source

    ��������� �� �������� �������, ������������ � ������� ����� MS_NODEV.

    ENXIO

    �������� ����� �������� ����������
    source

    ������� �� ���������� �������.

    EMFILE

    (� ������, ���� �� ��������� ������� ����������):
    ������� ������� ��������� �����������.

     

    ������������ ����������

    ��� ������� ���������� ��� Linux. �� �������������
    ������������ �� � ����������, ����������� �� ������ �������.
     

    ���������� �� �������

    ���������� �������
    umount

    ���������� � ���� umount(device) � ���������� ENOTBLK
    ��� ������� ������ � ����� ��������� �����������.
    � Linux 0.98p4 ��� �������� ����� umount(dir), ��� ���������
    ��������� ���������.
    � Linux 2.3.99-pre7 ��� ����� ����� umount(device),
    �������� ������ umount(dir) (������ ���������� ����� ���� ����������
    ����� ��� � ���� �����, ������� �������� ���������� ��� ���������� ����� ������������).

    ���� MS_SYNC ��� ������������ � MS_SYNCHRONOUS � ������ 1.1.69,
    ����� ��� �������� ������ ���� MS_SYNC � <mman.h>.

    �� Linux 2.4 �������� ���������� �������� set-UID ��� set-GID �� �������� �������,
    ������������ � ����������
    MS_NOSUID

    ������� ������
    EPERM.

    � Linux 2.4 ���� set-UID � set-GID � ���� ������ �������� ������������.

     

    ��. �����

    mount(8),

    umount(8)


     

    Index

    ��������
    ���������
    ��������
    ������������ ��������
    ��������� ������
    ������������ ����������
    ���������� �� �������
    ��. �����

    mount(2) System Calls Manual mount(2)

    ИМЯ

    mount —
    применяется
    для
    монтирования
    файловых
    систем.

    LIBRARY

    Standard C library (libc, -lc)

    СИНТАКСИС

    #include <sys/mount.h>
    int mount(const char *source, const char *target,
              const char *filesystemtype, unsigned long mountflags,
              const void *_Nullable data);

    ОПИСАНИЕ

    Вызов mount()
    подключает
    файловую
    систему,
    указанную
    в source (обычно
    здесь
    задаётся
    название
    устройства,
    но также
    может быть
    указано
    имя
    каталога,
    или файла,
    или
    фиктивное
    устройство),
    к пути
    заданному
    в
    target(каталогу
    или файлу).

    Для
    монтирования
    файловых
    систем
    требуются
    специальные
    права (Linux:
    мандат CAP_SYS_ADMIN).

    Вариант
    filesystemtype
    доступные
    ядру
    перечислены
    в /proc/filesystems
    (например:
    «btrfs», «ext4», «jfs», «xfs»,
    «vfat», «fuse», «tmpfs», «cgroup»,
    «proc», «mqueue», «nfs», «cifs»,
    «iso9660»).
    Дополнительные
    типы
    становятся
    доступными
    после
    загрузки
    соответствующих
    модулей.

    The data argument is interpreted by the different
    filesystems. Typically it is a string of comma-separated options understood
    by this filesystem. See mount(8) for details of the options available
    for each filesystem type. This argument may be specified as NULL, if there
    are no options.

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

    Перемонтировать
    существующие
    точки
    монтирования:
    mountflags
    включает
    MS_REMOUNT.
    Создать
    привязку (bind
    mount): mountflags
    включает
    MS_BIND.
    Изменить
    тип
    существующего
    монтирования:
    mountflags
    включает
    одно из MS_SHARED,
    MS_PRIVATE, MS_SLAVE или
    MS_UNBINDABLE.
    Переместить
    существующее
    монтирование
    в новое
    место: mountflags
    включает
    MS_MOVE.
    Создать
    новое
    монтирование:
    mountflags не
    содержит
    ни один из
    указанных
    выше
    флагов.

    Каждая из
    этих
    операций
    подробно
    описана
    далее на
    этой
    странице.
    Для
    изменения
    поведения
    mount() могут
    быть
    указаны
    дополнительные
    флаги в mountflags,
    как
    описано
    ниже.

    Дополнительные
    флаги для
    монтирования

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

    MS_DIRSYNC
    (начиная с Linux
    2.5.19)
    Осуществлять
    изменения
    каталогов
    на этой
    файловой
    системе
    синхронно.
    Это
    свойство
    может быть
    получено
    для
    отдельных
    каталогов
    или дерева
    подкаталогов
    с помощью
    chattr(1).
    MS_LAZYTIME
    (начиная с Linux
    4.0)
    Можно
    уменьшить
    количество
    обращений
    к диску,
    если
    сохранять
    дескрипторы
    меток
    времени (atime, mtime,
    ctime) только в
    памяти.
    Временные
    метки на
    диске
    обновляются
    только в
    следующих
    случаях:
    дескрипторы
    необходимо
    обновить
    для
    некоторого
    изменения,
    не
    связанного
    с
    временными
    метками
    файлов;
    приложение
    использует
    fsync(2), syncfs(2), or sync(2);
    неиспользуемый
    дескриптор
    вытесняется
    из памяти;
    или
    прошло
    более 24
    часов с
    момента
    записи
    дескриптора
    на диск.
    Данный
    параметр
    монтирования
    существенно
    сокращает
    количество
    операций
    записи,
    необходимых
    для
    обновления
    меток
    времени inode,
    особенно mtime
    и atime. Однако,
    если
    произойдёт
    падение
    системы, то
    поля atime и mtime на
    диске
    могут
    оказаться
    устаревшими
    на 24 часа.
    В качестве
    примеров,
    где данный
    параметр
    может
    принести
    значительную
    выгоду это
    частые
    произвольные
    операции
    записи в
    уже
    выделенные
    файлы, а
    также
    случаи,
    когда
    также
    включён
    параметр
    монтирования
    MS_STRICTATIME
    (преимущество
    объединения
    MS_STRICTATIME и MS_LAZYTIME в
    том, что stat(2)
    будет
    возвращать
    правильное
    обновлённое
    время, но
    обновления
    atime будет
    производиться
    на диск
    только в
    случаях
    перечисленных
    выше).
    MS_MANDLOCK
    Permit mandatory locking on files in this filesystem. (Mandatory locking
    must still be enabled on a per-file basis, as described in
    fcntl(2).) Since Linux 4.5, this mount option requires the
    CAP_SYS_ADMIN capability and a kernel configured with the
    CONFIG_MANDATORY_FILE_LOCKING option. Mandatory locking has been
    fully deprecated in Linux 5.15, so this flag should be considered
    deprecated.
    MS_NOATIME
    Не
    обновлять
    время
    доступа
    для (всех
    типов)
    файлов в
    этой
    файловой
    системе.
    MS_NODEV
    Запретить
    доступ к
    устройствам
    (специальным
    файлам) в
    этой
    файловой
    системе.
    MS_NODIRATIME
    Не
    обновлять
    время
    доступа
    для
    каталогов
    в этой
    файловой
    системе.
    Данный
    флаг
    частично
    предоставляет
    свойство
    MS_NOATIME; то есть
    при MS_NOATIME
    подразумевается
    MS_NODIRATIME.
    MS_NOEXEC
    Запретить
    исполнение
    программ в
    этой
    файловой
    системе.
    MS_NOSUID
    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 nosuid_transition, which in turn
    needs also the policy capability nnp_nosuid_transition.
    MS_RDONLY
    Подключить
    файловую
    систему в
    режиме
    только для
    чтения.
    MS_REC
    (начиная с Linux
    2.4.11)
    Используется
    вместе с MS_BIND
    для
    создания
    рекурсивной
    точки
    монтирования
    и вместе с
    флагами
    типа
    распространения
    для
    рекурсивного
    изменения
    типа
    распространения
    всех точек
    монтирования
    в
    поддереве.
    Подробности
    смотрите
    далее.
    MS_RELATIME
    (начиная с Linux
    2.6.20)
    При
    доступе к
    файлу на
    этой
    файловой
    системе
    значение
    времени
    последнего
    доступа к
    файлу (atime)
    обновляется,
    только
    если
    текущее
    значение atime
    меньше или
    равно
    времени
    последнего
    изменения
    файла (mtime) или
    времени
    последнего
    изменения
    состояния
    файла (ctime).
    Этот флаг
    полезен
    для
    программ
    (например,
    mutt(1)), которым
    нужно
    знать, что
    файл был
    прочитан с
    момента
    его
    последнего
    изменения.
    Начиная с Linux
    2.6.30 в ядро это
    поведение
    включено
    по
    умолчанию
    (если не
    указан MS_NOATIME),
    а чтобы
    получить
    обычное
    поведение
    нужно
    указать
    флаг MS_STRICTATIME.
    Также,
    начиная с Linux
    2.6.30 время
    последнего
    доступа к
    файлу
    всегда
    обновляется,
    если оно
    устаревает
    на один
    день.
    MS_SILENT
    (начиная с Linux
    2.6.17)
    Не
    выводить
    определённые
    (printk())
    предупреждающие
    сообщения
    в журнал
    ядра. Этот
    флаг
    заменяет
    неправильно
    названный
    и
    устаревший
    флаг MS_VERBOSE
    (доступный
    начиная с Linux
    2.4.12), который
    выполняет
    такую же
    функцию.
    MS_STRICTATIME
    (начиная с Linux
    2.6.30)
    Всегда
    обновлять
    время
    последнего
    доступа (atime)
    при
    доступе к
    файлам на
    этой
    файловой
    системе
    (это
    выполнялось
    по
    умолчанию
    до Linux 2.6.30).
    Задание
    этого
    флага
    отменяет
    поведение
    флагов MS_NOATIME
    и MS_RELATIME.
    MS_SYNCHRONOUS
    Осуществлять
    запись на
    эту
    файловую
    систему
    синхронно
    (как если
    бы флаг O_SYNC
    для open(2) был
    указан для
    всех
    файлов,
    открытых
    на этой
    файловой
    системе).
    MS_NOSYMFOLLOW
    (начиная с Linux
    5.10)
    Do not follow symbolic links when resolving paths. Symbolic links can
    still be created, and readlink(1), readlink(2),
    realpath(1), and realpath(3) all still work properly.

    Начиная с
    Linux 2.4 одни из
    показанных
    выше
    флагов
    можно
    устанавливать
    на точки
    монтирования
    (свой набор
    на каждой), а
    другие — на
    суперблок
    смонтированной
    файловой
    системы, то
    есть все
    монтирования
    одной
    файловой
    системы
    имеют
    одинаковый
    набор этих
    флагов
    (ранее все
    флаги
    применялись
    к
    суперблоку).

    Флаги
    набора для
    точки
    монтирования:

    Начиная с Linux
    2.4: флаги MS_NODEV,
    MS_NOEXEC и MS_NOSUID
    задаются
    для каждой
    точки
    монтирования
    отдельно.
    Additionally, since Linux 2.6.16: MS_NOATIME and
    MS_NODIRATIME.
    Additionally, since Linux 2.6.20: MS_RELATIME.

    The following flags are per-superblock: MS_DIRSYNC,
    MS_LAZYTIME, MS_MANDLOCK, MS_SILENT, and
    MS_SYNCHRONOUS. 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.

    Начиная с
    Linux 2.6.16 флаг MS_RDONLY
    может
    устанавливаться
    и
    сбрасываться
    на точках
    монтирования
    по
    отдельности,
    а также на
    нижележащем
    суперблоке
    файловой
    системы.
    Смонтированная
    файловая
    система
    будет
    доступна
    на запись
    только,
    если она
    сама и её
    точка
    монтирования
    не
    помечены
    только для
    чтения.

    Перемонтированние
    существующих
    точек
    монтирования.

    Существующие
    монтирования
    можно
    перемонтировать,
    указав MS_REMOUNT в
    mountflags. Это
    позволяет
    изменить
    mountflags и data
    существующих
    монтирований
    без
    необходимости
    размонтировать
    и заново
    монтировать
    файловую
    систему. target
    должен
    соответствовать
    указанному
    при
    начальном
    вызове mount().

    Аргументы
    source и filesystemtype
    игнорируются.

    Аргументы
    mountflags и data
    должны
    совпадать
    со
    значениями,
    используемыми
    в
    первоначальном
    вызове mount(),
    за
    исключением
    параметров,
    которые
    были
    преднамеренно
    изменены.

    The following mountflags can be changed:
    MS_LAZYTIME, MS_MANDLOCK, MS_NOATIME, MS_NODEV,
    MS_NODIRATIME, MS_NOEXEC, MS_NOSUID,
    MS_RELATIME, MS_RDONLY, MS_STRICTATIME (whose effect is
    to clear the MS_NOATIME and MS_RELATIME flags), and
    MS_SYNCHRONOUS. Attempts to change the setting of the
    MS_DIRSYNC and MS_SILENT 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).

    Начиная с
    Linux 3.17, если не
    одно из
    значений
    MS_NOATIME, MS_NODIRATIME, MS_RELATIME,
    или MS_STRICTATIME не
    указано в
    mountflags , то при
    перемонтировании
    сохраняются
    текущие
    значения
    этих
    флагов (а не
    изменяются
    на
    значение
    по
    умолчанию
    MS_RELATIME).

    Since Linux 2.6.26, the MS_REMOUNT flag can be used with
    MS_BIND 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
    mountflags as:

    MS_REMOUNT | MS_BIND | MS_RDONLY

    will make access through this mountpoint read-only, without
    affecting other mounts.

    Создание
    привязки
    монтирования

    Если mountflags
    содержит
    MS_BIND
    (доступен,
    начиная с Linux
    2.4), то
    выполняется
    привязка
    монтирования.
    Привязка
    монтирования
    делает
    видимым
    файл или
    поддерево
    каталогов
    в другой
    точке
    внутри
    одной
    иерархии
    каталогов.
    Привязки
    монтирования
    могут быть
    в разных
    файловых
    системах и
    перекрывают
    заключения
    chroot(2).

    Аргументы
    filesystemtype и data
    игнорируются.

    The remaining bits (other than MS_REC, described below) in
    the mountflags 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.

    По
    умолчанию,
    когда
    каталогу
    назначена
    привязка
    монтирования,
    монтируется
    только
    этот
    каталог;
    если
    существуют
    другие
    подмонтирования
    в дереве
    каталогов,
    то им не
    назначается
    привязка
    монтирования.
    Если также
    указан
    флаг MS_REC, то
    выполняется
    операция
    рекурсивной
    привязки
    монтирования:
    всем
    подмонтированиям
    в
    поддереве
    source
    (отличным
    от
    непривязываемых
    монтирований)
    также
    назначается
    привязка
    монтирования
    в
    соответствующее
    расположение
    к
    поддереве
    target.

    Изменение
    типа
    распространения
    существующего
    монтирования

    Если mountflags
    содержит
    один из
    флагов MS_SHARED,
    MS_PRIVATE, MS_SLAVE, или
    MS_UNBINDABLE (все
    доступны
    начиная с Linux
    2.6.15), то тип
    распространения
    существующего
    монтирования
    изменяется.
    Если
    указано
    сразу
    несколько
    из этих
    флагов, то
    возвращается
    ошибка.

    При смене
    типа
    распространения
    можно
    изменять
    только
    флаги MS_REC
    (описан
    ниже) и MS_SILENT
    (игнорируется).

    Аргументы
    source, filesystemtype и data
    игнорируются.

    Назначение
    флагов
    типа
    распространения
    следующее:

    MS_SHARED
    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.
    MS_PRIVATE
    Make this mount private. Mount and unmount events do not propagate into or
    out of this mount.
    MS_SLAVE
    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.
    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.
    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.
    MS_UNBINDABLE
    Делает эту
    точку
    монтирования
    непривязываемой.
    Она
    подобна
    индивидуальной
    точке
    монтирования
    плюс
    недоступна
    привязка
    монтирования.
    При
    рекурсивной
    привязке
    (mount() с
    флагами MS_BIND
    и MS_REC) в
    поддереве
    каталога
    все
    непривязываемые
    монтирования
    внутри
    поддерева
    автоматически
    удаляются
    (т. е., не
    копируются)
    при
    копировании
    этого
    поддерева
    для
    создания
    целевого
    поддерева.

    By default, changing the propagation type affects only the
    target mount. If the MS_REC flag is also specified in
    mountflags, then the propagation type of all mounts under
    target is also changed.

    Дополнительную
    информацию
    по типам
    распространения
    монтирования
    (включая
    тип
    распространения
    по
    умолчанию,
    назначаемый
    новым
    точкам
    монтирования)
    смотрите в
    mount_namespaces(7).

    Перемещение
    точки
    монтирования

    If mountflags contains the flag MS_MOVE (available
    since Linux 2.4.18), then move a subtree: source specifies an
    existing mount and target specifies the new location to which that
    mount is to be relocated. The move is atomic: at no point is the subtree
    unmounted.

    Оставшиеся
    биты в
    аргументе
    mountflags
    игнорируются,
    как и
    аргументы
    filesystemtype и data.

    Creating a new mount

    If none of MS_REMOUNT, MS_BIND, MS_MOVE,
    MS_SHARED, MS_PRIVATE, MS_SLAVE, or
    MS_UNBINDABLE is specified in mountflags, then mount()
    performs its default action: creating a new mount. source specifies
    the source for the new mount, and target specifies the directory at
    which to create the mount point.

    Используются
    аргументы
    filesystemtype и data,
    дополнительные
    параметры
    для
    изменения
    поведения
    могут быть
    указаны в
    mountflags.

    ВОЗВРАЩАЕМОЕ
    ЗНАЧЕНИЕ

    On success, zero is returned. On error, -1 is returned, and
    errno is set to indicate the error.

    ОШИБКИ

    Коды
    ошибок,
    описанные
    ниже, не
    зависят от
    типа
    файловой
    системы. У
    каждой
    файловой
    системы
    могут быть
    свои коды
    ошибок и
    своё
    собственное
    поведение.
    Подробности
    смотрите в
    исходном
    коде ядра Linux.

    EACCES
    Поиск
    запрещён
    из-за одной
    части пути,
    которая не
    доступна
    для
    просмотра
    и поиск (см.
    подробнее
    в path_resolution(7)).
    EACCES
    Было
    предпринята
    попытка
    монтирования
    файловой
    системы
    доступной
    только на
    чтение, но
    без флага
    ms_rdonly.
    Файловая
    система
    может быть
    доступна
    только для
    чтения по
    разным
    причинам:
    она
    расположена
    на
    оптическом
    диске,
    доступном
    только для
    чтения; она
    располагается
    на
    устройстве
    с
    физической
    коммутацией,
    которое
    было
    отмечено
    как
    доступное
    только для
    чтения;
    реализация
    файловой
    системы
    скомпилирована
    с
    поддержкой
    только на
    чтение;
    обнаружены
    ошибки при
    первоначальном
    монтировании
    файловой
    системы,
    из-за чего
    она была
    помечена
    как
    доступная
    только для
    чтения и её
    невозможно
    перемонтировать
    как
    доступную
    для
    чтения/записи
    (пока не
    будут
    исправлены
    ошибки).
    При
    попытке
    монтирования
    файловой
    системы
    только для
    чтениянекоторые
    файловые
    системы
    вместо
    этого
    возвращают
    ошибку EROFS.
    EACCES
    Блочное
    устройство
    source
    расположено
    в файловой
    системе,
    которая
    смонтирована
    с
    параметром
    MS_NODEV.
    EBUSY
    Попытка
    выполнить
    новое
    монтирование
    непосредственно
    поверх
    существующей
    точки
    монтирования,
    которая
    была
    создана в
    этом
    пространстве
    имён
    монтирования
    с тем же
    источником
    и
    назначением.
    EBUSY
    source не может
    быть
    перемонтирован
    с доступом
    только на
    чтение,
    потому что
    он все ещё
    содержит
    файлы,
    открытые
    для
    записи.
    EFAULT
    Один из
    аргументов-указателей
    указывает
    на каталог
    за
    пределами
    пользовательского
    адресного
    пространства.
    EINVAL
    источник
    имеет
    недоступный
    суперблок.
    EINVAL
    Была
    предпринята
    попытка
    перемонтирования
    (MS_REMOUNT), но source
    еще не был
    смонтирован
    в target.
    EINVAL
    A move operation (MS_MOVE) was attempted, but the mount tree under
    source includes unbindable mounts and target is a mount that
    has propagation type MS_SHARED.
    EINVAL
    Была
    предпринята
    попытка
    перемещения
    (MS_MOVE), но
    родительское
    монтирование
    монтирования
    source
    является
    точкой
    монтирования
    с типом
    распространения
    MS_SHARED.
    EINVAL
    A move operation (MS_MOVE) was attempted, but source was not
    a mount, or was ‘/’.
    EINVAL
    A bind operation (MS_BIND) was requested where source
    referred a mount namespace magic link (i.e., a /proc/[pid]/ns/mnt
    magic link or a bind mount to such a link) and the propagation type of the
    parent mount of target was MS_SHARED, but propagation of the
    requested bind mount could lead to a circular dependency that might
    prevent the mount namespace from ever being freed.
    EINVAL
    mountflags
    включает
    более
    одного
    значения
    из MS_SHARED, MS_PRIVATE, MS_SLAVE,
    или MS_UNBINDABLE.
    EINVAL
    mountflags
    включает
    MS_SHARED, MS_PRIVATE, MS_SLAVE,
    или MS_UNBINDABLE а
    также
    включает
    флаг,
    отличный
    от MS_REC или
    MS_SILENT.
    EINVAL
    Была
    попытка
    выполнить
    связанное
    монтирование,
    как
    несвязанное
    монтирование.
    EINVAL
    В
    непривилегированном
    пространстве
    имён
    монтирования
    (т. е.,
    пространстве
    имён
    монтирования,
    принадлежащем
    пространству
    имён
    пользователя,
    которое
    было
    создано
    непривилегированным
    пользователем)
    выполнялась
    операция
    связанного
    монтирования
    (MS_BIND) без
    указания
    (MS_REC), которая
    привела бы
    к открытию
    дерева
    файловой
    системы,
    находящемся
    ниже
    одного из
    подмонтирований
    каталога, к
    которому
    выполнялось
    связывание.
    ELOOP
    Во время
    разбора
    имён
    найдено
    слишком
    много
    ссылок.
    ELOOP
    Сделана
    попытка
    перемещения,
    но цель
    оказалась
    подкаталогом
    источника.
    EMFILE
    (В случае,
    если не
    требуются
    блочные
    устройства):
    таблица
    фиктивных
    устройств
    переполнена.
    ENAMETOOLONG
    Значение
    пути
    длиннее
    чем MAXPATHLEN.
    ENODEV
    Тип из filesystemtype в
    ядре не
    настроен.
    ENOENT
    Указан
    пустой
    путь или
    одна из его
    частей не
    существует.
    ENOMEM
    Ядро не
    может
    выделить
    свободную
    страницу
    для
    копирования
    имени
    файла или
    данных.
    ENOTBLK
    Значение
    source не
    является
    блочным
    устройством

    устройство
    было
    запрошено).
    ENOTDIR
    Значение
    target или
    префикс source
    не
    является
    каталогом.
    ENXIO
    Старший
    номер
    блочного
    устройства
    source вне
    допустимого
    диапазона.
    EPERM
    Вызывающий
    процесс не
    имеет
    требуемых
    привилегий.
    EPERM
    An attempt was made to modify (MS_REMOUNT) the MS_RDONLY,
    MS_NOSUID, or MS_NOEXEC flag, or one of the
    «atime» flags (MS_NOATIME, MS_NODIRATIME,
    MS_RELATIME) of an existing mount, but the mount is locked; see
    mount_namespaces(7).
    EROFS
    Было
    предпринята
    попытка
    монтирования
    файловой
    системы
    доступной
    только на
    чтение без
    флага MS_RDONLY.
    Смотрите
    описание
    EACCES,
    приведённое
    выше.

    ВЕРСИИ

    The definitions of MS_DIRSYNC, MS_MOVE,
    MS_PRIVATE, MS_REC, MS_RELATIME, MS_SHARED,
    MS_SLAVE, MS_STRICTATIME, and MS_UNBINDABLE were added
    to glibc headers in glibc 2.12.

    СТАНДАРТЫ

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

    ЗАМЕЧАНИЯ

    Начиная с
    Linux 2.4 одна
    файловая
    система
    может быть
    смонтирована
    в
    множество
    точек
    монтирования,
    также
    множественное
    монтирование
    может
    осуществляться
    в одну
    точку.

    The mountflags argument may have the magic number 0xC0ED
    (MS_MGC_VAL) in the top 16 bits. (All of the other flags discussed in
    DESCRIPTION occupy the low order 16 bits of mountflags.) Specifying
    MS_MGC_VAL was required before Linux 2.4, but since Linux 2.4 is no
    longer required and is ignored if specified.

    Изначальный
    флаг MS_SYNC был
    переименован
    в MS_SYNCHRONOUS в 1.1.69,
    когда в <mman.h>
    был
    добавлен
    другой
    флаг MS_SYNC.

    До Linux 2.4
    попытка
    выполнения
    программ set-UID
    или set-GID на
    файловой
    системе,
    подключённой
    с
    параметром
    MS_NOSUID,
    вызывает
    ошибку EPERM.
    Начиная с Linux 2.4
    биты set-UID и set-GID в
    этом
    случае
    негласно
    игнорируются.

    Пространства
    имён
    монтирования

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

    Процесс-потомок,
    создаваемый
    fork(2),
    использует
    родительское
    пространство
    имён
    монтирования
    совместно
    с
    родителем;
    пространство
    имён
    монтирования
    сохраняется
    при вызове
    execve(2).

    Процесс
    может
    получить
    собственное
    пространство
    имён
    монтирования
    если: он был
    создан с
    помощью clone(2)
    с флагом
    CLONE_NEWNS; в этом
    случае его
    новое
    пространство
    имён
    инициализируется
    копией
    пространства
    имён
    процесса,
    который
    вызвал clone(2);
    или он
    вызовет unshare(2)
    с флагом
    CLONE_NEWNS; в этом
    случае
    пространство
    имён
    вызвавшего
    получит
    свою копию
    пространства
    имён,
    которое он
    раньше
    совместно
    использовал
    с другими
    процессами,
    и
    дальнейшие
    монтирования
    и
    размонтирования
    вызвавшим
    будут
    невидимы
    другим
    процессам
    (за
    исключением
    потомков,
    которые
    вызывающий
    создаст
    позже) и
    наоборот.

    For further details on mount namespaces, see
    mount_namespaces(7).

    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.

    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.

    The parental relationship between mounts can be discovered via the
    /proc/[pid]/mountinfo file (see below).

    /proc/[pid]/mounts и /proc/[pid]/mountinfo

    The Linux-specific /proc/[pid]/mounts file exposes the list
    of mounts in the mount namespace of the process with the specified ID. The
    /proc/[pid]/mountinfo 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
    proc(5) and mount_namespaces(7) for details of this file.

    СМ. ТАКЖЕ

    mountpoint(1), chroot(2), ioctl_iflags(2),
    mount_setattr(2), pivot_root(2), umount(2),
    mount_namespaces(7), path_resolution(7), findmnt(8),
    lsblk(8), mount(8), umount(8)

    ПЕРЕВОД

    Русский
    перевод
    этой
    страницы
    руководства
    был сделан
    aereiae <aereiae@gmail.com>, Alexey <a.chepugov@gmail.com>,
    Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitriy S. Seregin
    <dseregin@59.ru>, Dmitry Bolkhovskikh <d20052005@yandex.ru>,
    ITriskTI <ITriskTI@gmail.com>, Max Is <ismax799@gmail.com>, Yuri
    Kozlov <yuray@komyakino.ru>, Иван
    Павлов <pavia00@gmail.com>
    и Малянов
    Евгений
    Викторович
    <maljanow@outlook.com>

    Этот
    перевод
    является
    бесплатной
    документацией;
    прочитайте
    Стандартную
    общественную
    лицензию GNU
    версии 3
    или более
    позднюю,
    чтобы
    узнать об
    условиях
    авторского
    права. Мы не
    несем
    НИКАКОЙ
    ОТВЕТСТВЕННОСТИ.

    Если вы
    обнаружите
    ошибки в
    переводе
    этой
    страницы
    руководства,
    пожалуйста,
    отправьте
    электронное
    письмо на
    man-pages-ru-talks@lists.sourceforge.net.

    ИМЯ¶

    mount —
    применяется
    для
    монтирования
    файловых
    систем.

    СИНТАКСИС¶

    #include <sys/mount.h>
    int mount(const char *source, const char *target,
              const char *filesystemtype, unsigned long mountflags,
              const void *data);

    ОПИСАНИЕ¶

    Вызов mount()
    подключает
    файловую
    систему,
    указанную
    в source (обычно
    здесь
    задаётся
    название
    устройства,
    но также
    может быть
    указано
    имя
    каталога,
    или файла,
    или
    фиктивное
    устройство),
    к пути
    заданному
    в
    target(каталогу
    или файлу).

    Для
    монтирования
    файловых
    систем
    требуются
    специальные
    права (Linux:
    мандат CAP_SYS_ADMIN).

    Вариант
    filesystemtype
    доступные
    ядру
    перечислены
    в /proc/filesystems
    (например:
    «btrfs», «ext4», «jfs», «xfs»,
    «vfat», «fuse», «tmpfs», «cgroup»,
    «proc», «mqueue», «nfs», «cifs»,
    «iso9660»).
    Дополнительные
    типы
    становятся
    доступными
    после
    загрузки
    соответствующих
    модулей.

    Аргумент
    data
    рассматривается
    каждой
    файловой
    системой
    по-своему.
    Обычно, это
    строка
    параметров,
    перечисленных
    через
    запятую,
    которые
    понимает
    файловая
    система. О
    том, какие
    параметры
    доступны
    для
    каждого
    типа
    файловой
    системы
    смотрите
    mount(8).

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

    • Перемонтировать
      существующие
      точки
      монтирования:
      mountflags
      включает
      MS_REMOUNT.
    • Создать
      привязку (bind
      mount): mountflags
      включает
      MS_BIND.
    • Изменить
      тип
      существующего
      монтирования:
      mountflags
      включает
      одно из MS_SHARED,
      MS_PRIVATE, MS_SLAVE или
      MS_UNBINDABLE.
    • Переместить
      существующее
      монтирование
      в новое
      место: mountflags
      включает
      MS_MOVE.
    • Создать
      новое
      монтирование:
      mountflags не
      содержит
      ни один из
      указанных
      выше
      флагов.

    Каждая из
    этих
    операций
    подробно
    описана
    далее на
    этой
    странице.
    Для
    изменения
    поведения
    mount() могут
    быть
    указаны
    дополнительные
    флаги в mountflags,
    как
    описано
    ниже.

    Дополнительные флаги для монтирования¶

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

    MS_DIRSYNC
    (начиная с Linux
    2.5.19)
    Осуществлять
    изменения
    каталогов
    на этой
    файловой
    системе
    синхронно.
    Это
    свойство
    может быть
    получено
    для
    отдельных
    каталогов
    или дерева
    подкаталогов
    с помощью
    chattr(1).
    MS_LAZYTIME
    (начиная с Linux
    4.0)
    Можно
    уменьшить
    количество
    обращений
    к диску,
    если
    сохранять
    дескрипторы
    меток
    времени (atime, mtime,
    ctime) только в
    памяти.
    Временные
    метки на
    диске
    обновляются
    только в
    следующих
    случаях:
    (а)
    дескрипторы
    необходимо
    обновить
    для
    некоторого
    изменения,
    не
    связанного
    с
    временными
    метками
    файлов;
    (б)
    приложение
    использует
    fsync(2), syncfs(2), or sync(2);
    (в)
    неиспользуемый
    дескриптор
    вытесняется
    из памяти;
    или
    (d)
    прошло
    более 24
    часов с
    момента
    записи
    дескриптора
    на диск.
    Данный
    параметр
    монтирования
    существенно
    сокращает
    количество
    операций
    записи,
    необходимых
    для
    обновления
    меток
    времени inode,
    особенно mtime
    и atime. Однако,
    если
    произойдёт
    падение
    системы, то
    поля atime и mtime на
    диске
    могут
    оказаться
    устаревшими
    на 24 часа.
    В качестве
    примеров,
    где данный
    параметр
    может
    принести
    значительную
    выгоду это
    частые
    произвольные
    операции
    записи в
    уже
    выделенные
    файлы, а
    также
    случаи,
    когда
    также
    включён
    параметр
    монтирования
    MS_STRICTATIME
    (преимущество
    объединения
    MS_STRICTATIME и MS_LAZYTIME в
    том, что stat(2)
    будет
    возвращать
    правильное
    обновлённое
    время, но
    обновления
    atime будет
    производиться
    на диск
    только в
    случаях
    перечисленных
    выше).
    MS_MANDLOCK
    Разрешить
    обязательную
    блокировку
    файлов в
    этой
    файловой
    системе
    (обязательная
    блокировка
    всё равно
    сначала
    должна
    быть
    включена
    для
    определённого
    файла как
    описано в
    fcntl(2)). Начиная
    с Linux 4.5 этот
    параметр
    монтирования
    требует
    мандата
    CAP_SYS_ADMIN и ядро
    должно
    быть
    настроено
    с
    параметром
    CONFIG_MANDATORY_FILE_LOCKING.
    MS_NOATIME
    Не
    обновлять
    время
    доступа
    для (всех
    типов)
    файлов в
    этой
    файловой
    системе.
    MS_NODEV
    Запретить
    доступ к
    устройствам
    (специальным
    файлам) в
    этой
    файловой
    системе.
    MS_NODIRATIME
    Не
    обновлять
    время
    доступа
    для
    каталогов
    в этой
    файловой
    системе.
    Данный
    флаг
    частично
    предоставляет
    свойство
    MS_NOATIME; то есть
    при MS_NOATIME
    подразумевается
    MS_NODIRATIME.
    MS_NOEXEC
    Запретить
    исполнение
    программ в
    этой
    файловой
    системе.
    MS_NOSUID
    Не
    учитывать
    биты set-UID и set-GID
    или
    файловые
    мандаты
    при
    исполнении
    программ в
    этой
    файловой
    системе.
    MS_RDONLY
    Подключить
    файловую
    систему в
    режиме
    только для
    чтения.
    MS_REC
    (начиная с Linux
    2.4.11)
    Используется
    вместе с MS_BIND
    для
    создания
    рекурсивной
    точки
    монтирования
    и вместе с
    флагами
    типа
    распространения
    для
    рекурсивного
    изменения
    типа
    распространения
    всех точек
    монтирования
    в
    поддереве.
    Подробности
    смотрите
    далее.
    MS_RELATIME
    (начиная с Linux
    2.6.20)
    При
    доступе к
    файлу на
    этой
    файловой
    системе
    значение
    времени
    последнего
    доступа к
    файлу (atime)
    обновляется,
    только
    если
    текущее
    значение atime
    меньше или
    равно
    времени
    последнего
    изменения
    файла (mtime) или
    времени
    последнего
    изменения
    состояния
    файла (ctime).
    Этот флаг
    полезен
    для
    программ
    (например,
    mutt(1)), которым
    нужно
    знать, что
    файл был
    прочитан с
    момента
    его
    последнего
    изменения.
    Начиная с Linux
    2.6.30 в ядро это
    поведение
    включено
    по
    умолчанию
    (если не
    указан MS_NOATIME),
    а чтобы
    получить
    обычное
    поведение
    нужно
    указать
    флаг MS_STRICTATIME.
    Также,
    начиная с Linux
    2.6.30 время
    последнего
    доступа к
    файлу
    всегда
    обновляется,
    если оно
    устаревает
    на один
    день.
    MS_SILENT
    (начиная с Linux
    2.6.17)
    Не
    выводить
    определённые
    (printk())
    предупреждающие
    сообщения
    в журнал
    ядра. Этот
    флаг
    заменяет
    неправильно
    названный
    и
    устаревший
    флаг MS_VERBOSE
    (доступный
    начиная с Linux
    2.4.12), который
    выполняет
    такую же
    функцию.
    MS_STRICTATIME
    (начиная с Linux
    2.6.30)
    Всегда
    обновлять
    время
    последнего
    доступа (atime)
    при
    доступе к
    файлам на
    этой
    файловой
    системе
    (это
    выполнялось
    по
    умолчанию
    до Linux 2.6.30).
    Задание
    этого
    флага
    отменяет
    поведение
    флагов MS_NOATIME
    и MS_RELATIME.
    MS_SYNCHRONOUS
    Осуществлять
    запись на
    эту
    файловую
    систему
    синхронно
    (как если
    бы флаг O_SYNC
    для open(2) был
    указан для
    всех
    файлов,
    открытых
    на этой
    файловой
    системе).
    MS_NOSYMFOLLOW
    (начиная с Linux
    5.10)
    Do not follow symbolic links when resolving paths. Symbolic links can
    still be created, and readlink(1), readlink(2),
    realpath(1), and realpath(3) all still work properly.

    Начиная с
    Linux 2.4 одни из
    показанных
    выше
    флагов
    можно
    устанавливать
    на точки
    монтирования
    (свой набор
    на каждой), а
    другие — на
    суперблок
    смонтированной
    файловой
    системы, то
    есть все
    монтирования
    одной
    файловой
    системы
    имеют
    одинаковый
    набор этих
    флагов
    (ранее все
    флаги
    применялись
    к
    суперблоку).

    Флаги
    набора для
    точки
    монтирования:

    • Начиная с Linux
      2.4: флаги MS_NODEV,
      MS_NOEXEC и MS_NOSUID
      задаются
      для каждой
      точки
      монтирования
      отдельно.
    • Additionally, since Linux 2.6.16: MS_NOATIME and
      MS_NODIRATIME.
    • Additionally, since Linux 2.6.20: MS_RELATIME.

    Следующие
    флаги
    указываются
    для
    суперблока:
    MS_DIRSYNC, MS_LAZYTIME, MS_MANDLOCK, MS_SILENT
    и MS_SYNCHRONOUS.
    Начальный
    настройки
    этих
    флагов
    определяются
    по первому
    монтированию
    файловой
    системы и
    будут
    общими для
    всех
    последующих
    монтирований
    этой
    файловой
    системы.
    Следовательно,
    набор
    флагом
    можно
    изменить
    через
    операцию
    перемонтирования
    (смотрите
    далее). Эти
    изменения
    отразятся
    на всех
    точках
    монтирования,
    связанных
    с этой
    файловой
    системой.

    Начиная с
    Linux 2.6.16 флаг MS_RDONLY
    может
    устанавливаться
    и
    сбрасываться
    на точках
    монтирования
    по
    отдельности,
    а также на
    нижележащем
    суперблоке
    файловой
    системы.
    Смонтированная
    файловая
    система
    будет
    доступна
    на запись
    только,
    если она
    сама и её
    точка
    монтирования
    не
    помечены
    только для
    чтения.

    Перемонтированние существующих точек монтирования.¶

    Существующие
    монтирования
    можно
    перемонтировать,
    указав MS_REMOUNT в
    mountflags. Это
    позволяет
    изменить
    mountflags и data
    существующих
    монтирований
    без
    необходимости
    размонтировать
    и заново
    монтировать
    файловую
    систему. target
    должен
    соответствовать
    указанному
    при
    начальном
    вызове mount().

    Аргументы
    source и filesystemtype
    игнорируются.

    Аргументы
    mountflags и data
    должны
    совпадать
    со
    значениями,
    используемыми
    в
    первоначальном
    вызове mount(),
    за
    исключением
    параметров,
    которые
    были
    преднамеренно
    изменены.

    В mountflags
    можно
    изменять:
    MS_LAZYTIME, MS_MANDLOCK, MS_NOATIME, MS_NODEV,
    MS_NODIRATIME, MS_NOEXEC, MS_NOSUID,
    MS_RELATIME, MS_RDONLY, MS_STRICTATIME
    (стирает
    флаги MS_NOATIME и
    MS_RELATIME) и MS_SYNCHRONOUS.
    Попытка
    изменить
    флаги MS_DIRSYNC и
    MS_SILENT при
    перементировании
    игнорируется
    без ошибки.
    Заметим,
    что
    изменения
    флагов
    суперблока
    видимы на
    всех
    точках
    монтирования
    файловой
    системы
    (так как
    флаги
    суперблока
    едины для
    всех точек
    монтирования).

    Начиная с
    Linux 3.17, если не
    одно из
    значений
    MS_NOATIME, MS_NODIRATIME, MS_RELATIME,
    или MS_STRICTATIME не
    указано в
    mountflags , то при
    перемонтировании
    сохраняются
    текущие
    значения
    этих
    флагов (а не
    изменяются
    на
    значение
    по
    умолчанию
    MS_RELATIME).

    Начиная с
    Linux 2.6.26, флаг MS_REMOUNT
    можно
    использовать
    вместе с MS_BIND
    для
    изменения
    только
    флагов,
    касающихся
    точки
    монтирования.
    В
    частности,
    это
    полезно
    для
    установки
    или сброса
    флага
    «только
    для
    чтения» на
    точке
    монтирования
    без
    изменения
    нижележащей
    файловой
    системы.
    При
    значении
    mountflags:

    MS_REMOUNT | MS_BIND | MS_RDONLY
    

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

    Создание привязки монтирования¶

    Если mountflags
    содержит
    MS_BIND
    (доступен,
    начиная с Linux
    2.4), то
    выполняется
    привязка
    монтирования.
    Привязка
    монтирования
    делает
    видимым
    файл или
    поддерево
    каталогов
    в другой
    точке
    внутри
    одной
    иерархии
    каталогов.
    Привязки
    монтирования
    могут быть
    в разных
    файловых
    системах и
    перекрывают
    заключения
    chroot(2).

    Аргументы
    filesystemtype и data
    игнорируются.

    Остальные
    биты (кроме
    MS_REC, описано
    ниже) в
    аргументе
    mountflags также
    игнорируются.
    Однако
    посмотрите
    обсуждение
    перемонтирования,
    представленное
    выше, о том,
    как
    сделать
    существующую
    привязку
    монтирования
    доступной
    только для
    чтения.

    По
    умолчанию,
    когда
    каталогу
    назначена
    привязка
    монтирования,
    монтируется
    только
    этот
    каталог;
    если
    существуют
    другие
    подмонтирования
    в дереве
    каталогов,
    то им не
    назначается
    привязка
    монтирования.
    Если также
    указан
    флаг MS_REC, то
    выполняется
    операция
    рекурсивной
    привязки
    монтирования:
    всем
    подмонтированиям
    в
    поддереве
    source
    (отличным
    от
    непривязываемых
    монтирований)
    также
    назначается
    привязка
    монтирования
    в
    соответствующее
    расположение
    к
    поддереве
    target.

    Изменение типа распространения существующего монтирования¶

    Если mountflags
    содержит
    один из
    флагов MS_SHARED,
    MS_PRIVATE, MS_SLAVE, или
    MS_UNBINDABLE (все
    доступны
    начиная с Linux
    2.6.15), то тип
    распространения
    существующего
    монтирования
    изменяется.
    Если
    указано
    сразу
    несколько
    из этих
    флагов, то
    возвращается
    ошибка.

    При смене
    типа
    распространения
    можно
    изменять
    только
    флаги MS_REC
    (описан
    ниже) и MS_SILENT
    (игнорируется).

    Аргументы
    source, filesystemtype и data
    игнорируются.

    Назначение
    флагов
    типа
    распространения
    следующее:

    MS_SHARED
    Делает эту
    точку
    монтирования
    общей.
    События
    монтирования
    и
    размонтирования
    этой точки
    сразу же
    распространяются
    на другие
    точки
    монтирования,
    являющиеся
    членами её
    равноправной
    группы.
    Распространение
    здесь
    означает,
    что
    монтирование
    или
    размонтирование
    автоматически
    происходит
    и у всех
    остальных
    точек
    монтирования
    в
    равноправной
    группе. И
    наоборот,
    события
    монтирования
    и
    размонтирования,
    возникшие
    у точек
    монтирования
    равноправной
    группы,
    будут
    распространены
    и на эту
    точку
    монтирования.
    MS_PRIVATE
    События
    монтирования
    и
    размонтирования
    не
    распространяются
    в эту точку
    и от этой
    точки.
    MS_SLAVE
    Если это
    общая
    точка
    монтирования,
    которая
    является
    членом
    непустой
    равноправной
    группы, то
    она
    преобразуется
    в
    подчинённую
    точку
    монтирования.
    Если это
    общая
    точка
    монтирования,
    которая
    является
    членом
    пустой
    равноправной
    группы, то
    она
    преобразуется
    в
    индивидуальную
    точку. В
    противном
    случае тип
    распространения
    точки
    монтирования
    не
    изменяется.
    Если точка
    монтирования
    подчинённая,
    то события
    монтирования
    и
    размонтирования
    распространяются
    на эту
    точку
    монтирования
    из
    (главной)
    общей
    равноправной
    группы, в
    которую
    она раньше
    входила.
    События
    монтирования
    и
    размонтирования
    этой точки
    не
    распространяются
    на членов
    группы.
    Точка
    монтирования
    может быть
    подчинённой
    одной
    равноправной
    группе и в
    тоже время
    может
    распространять
    события в
    другую
    группу, где
    она
    является
    членом.
    MS_UNBINDABLE
    Делает эту
    точку
    монтирования
    непривязываемой.
    Она
    подобна
    индивидуальной
    точке
    монтирования
    плюс
    недоступна
    привязка
    монтирования.
    При
    рекурсивной
    привязке
    (mount() с
    флагами MS_BIND
    и MS_REC) в
    поддереве
    каталога
    все
    непривязываемые
    монтирования
    внутри
    поддерева
    автоматически
    удаляются
    (т. е., не
    копируются)
    при
    копировании
    этого
    поддерева
    для
    создания
    целевого
    поддерева.

    По
    умолчанию,
    изменение
    типа
    распространения
    касается
    только target
    точки
    монтирования.
    Если в mountflags
    также
    указан
    флаг MS_REC, то
    тип
    распространения
    всех точек
    монтирования
    ниже target
    также
    изменяется.

    Дополнительную
    информацию
    по типам
    распространения
    монтирования
    (включая
    тип
    распространения
    по
    умолчанию,
    назначаемый
    новым
    точкам
    монтирования)
    смотрите в
    mount_namespaces(7).

    Перемещение точки монтирования¶

    Если в mountflags
    содержится
    флаг MS_MOVE
    (доступен,
    начиная с Linux
    2.4.18), то
    перемещается
    поддерево:
    в source
    задаётся
    существующая
    точка
    монтирования,
    а target
    указывается
    новое
    расположение,
    в которое
    будет
    перемещена
    точка
    монтирования.
    Перемещение
    атомарно:
    поддерево
    всегда
    смонтировано.

    Оставшиеся
    биты в
    аргументе
    mountflags
    игнорируются,
    как и
    аргументы
    filesystemtype и data.

    Создание новой точки монтирования¶

    В том
    случае,
    если ни
    одно из
    значений
    MS_REMOUNT, MS_BIND, MS_MOVE, MS_SHARED,
    MS_PRIVATE, MS_SLAVE, или
    MS_UNBINDABLE не
    указано в
    mountflags, вызов mount()
    выполняет
    действие
    по
    умолчанию:
    создаёт
    новую
    точку
    монтирования.
    В source
    задаётся
    источник
    новой
    точки
    монтирования,
    а значение
    target
    указывает
    каталог, в
    котором
    будет
    создана
    точка
    монтирования.

    Используются
    аргументы
    filesystemtype и data,
    дополнительные
    параметры
    для
    изменения
    поведения
    могут быть
    указаны в
    mountflags.

    ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ¶

    При
    успешном
    выполнении
    возвращается
    0. В случае
    ошибки
    возвращается
    -1, а errno
    устанавливается
    в
    соответствующее
    значение.

    ОШИБКИ¶

    Коды
    ошибок,
    описанные
    ниже, не
    зависят от
    типа
    файловой
    системы. У
    каждой
    файловой
    системы
    могут быть
    свои коды
    ошибок и
    своё
    собственное
    поведение.
    Подробности
    смотрите в
    исходном
    коде ядра Linux.

    EACCES
    Поиск
    запрещён
    из-за одной
    части пути,
    которая не
    доступна
    для
    просмотра
    и поиск (см.
    подробнее
    в path_resolution(7)).
    EACCES
    Было
    предпринята
    попытка
    монтирования
    файловой
    системы
    доступной
    только на
    чтение, но
    без флага
    ms_rdonly.
    Файловая
    система
    может быть
    доступна
    только для
    чтения по
    разным
    причинам:
    она
    расположена
    на
    оптическом
    диске,
    доступном
    только для
    чтения; она
    располагается
    на
    устройстве
    с
    физической
    коммутацией,
    которое
    было
    отмечено
    как
    доступное
    только для
    чтения;
    реализация
    файловой
    системы
    скомпилирована
    с
    поддержкой
    только на
    чтение;
    обнаружены
    ошибки при
    первоначальном
    монтировании
    файловой
    системы,
    из-за чего
    она была
    помечена
    как
    доступная
    только для
    чтения и её
    невозможно
    перемонтировать
    как
    доступную
    для
    чтения/записи
    (пока не
    будут
    исправлены
    ошибки).
    При
    попытке
    монтирования
    файловой
    системы
    только для
    чтениянекоторые
    файловые
    системы
    вместо
    этого
    возвращают
    ошибку EROFS.
    EACCES
    Блочное
    устройство
    source
    расположено
    в файловой
    системе,
    которая
    смонтирована
    с
    параметром
    MS_NODEV.
    EBUSY
    Попытка
    выполнить
    новое
    монтирование
    непосредственно
    поверх
    существующей
    точки
    монтирования,
    которая
    была
    создана в
    этом
    пространстве
    имён
    монтирования
    с тем же
    источником
    и
    назначением.
    EBUSY
    source не может
    быть
    перемонтирован
    с доступом
    только на
    чтение,
    потому что
    он все ещё
    содержит
    файлы,
    открытые
    для
    записи.
    EFAULT
    Один из
    аргументов-указателей
    указывает
    на каталог
    за
    пределами
    пользовательского
    адресного
    пространства.
    EINVAL
    источник
    имеет
    недоступный
    суперблок.
    EINVAL
    Была
    предпринята
    попытка
    перемонтирования
    (MS_REMOUNT), но source
    еще не был
    смонтирован
    в target.
    EINVAL
    Была
    предпринята
    попытка
    перемещения
    (MS_MOVE), но
    смонтированнное
    дерево в source
    содержит
    неотвязываемые
    (unbindable)
    монтирования
    и target
    является
    точкой
    монтирования
    с типом
    распространения
    MS_SHARED.
    EINVAL
    Была
    предпринята
    попытка
    перемещения
    (MS_MOVE), но
    родительское
    монтирование
    монтирования
    source
    является
    точкой
    монтирования
    с типом
    распространения
    MS_SHARED.
    EINVAL
    Была
    предпринята
    попытка
    перемещения
    (MS_MOVE), но source не
    являлся
    точкой
    монтирования
    или был ‘/’.
    EINVAL
    A bind operation (MS_BIND) was requested where source
    referred a mount namespace magic link (i.e., a /proc/[pid]/ns/mnt
    magic link or a bind mount to such a link) and the propagation type of the
    parent mount of target was MS_SHARED, but propagation of the
    requested bind mount could lead to a circular dependency that might
    prevent the mount namespace from ever being freed.
    EINVAL
    mountflags
    включает
    более
    одного
    значения
    из MS_SHARED, MS_PRIVATE, MS_SLAVE,
    или MS_UNBINDABLE.
    EINVAL
    mountflags
    включает
    MS_SHARED, MS_PRIVATE, MS_SLAVE,
    или MS_UNBINDABLE а
    также
    включает
    флаг,
    отличный
    от MS_REC или
    MS_SILENT.
    EINVAL
    Была
    попытка
    выполнить
    связанное
    монтирование,
    как
    несвязанное
    монтирование.
    EINVAL
    В
    непривилегированном
    пространстве
    имён
    монтирования
    (т. е.,
    пространстве
    имён
    монтирования,
    принадлежащем
    пространству
    имён
    пользователя,
    которое
    было
    создано
    непривилегированным
    пользователем)
    выполнялась
    операция
    связанного
    монтирования
    (MS_BIND) без
    указания
    (MS_REC), которая
    привела бы
    к открытию
    дерева
    файловой
    системы,
    находящемся
    ниже
    одного из
    подмонтирований
    каталога, к
    которому
    выполнялось
    связывание.
    ELOOP
    Во время
    разбора
    имён
    найдено
    слишком
    много
    ссылок.
    ELOOP
    Сделана
    попытка
    перемещения,
    но цель
    оказалась
    подкаталогом
    источника.
    EMFILE
    (В случае,
    если не
    требуются
    блочные
    устройства):
    таблица
    фиктивных
    устройств
    переполнена.
    ENAMETOOLONG
    Значение
    пути
    длиннее
    чем MAXPATHLEN.
    ENODEV
    Тип из filesystemtype в
    ядре не
    настроен.
    ENOENT
    Указан
    пустой
    путь или
    одна из его
    частей не
    существует.
    ENOMEM
    Ядро не
    может
    выделить
    свободную
    страницу
    для
    копирования
    имени
    файла или
    данных.
    ENOTBLK
    Значение
    source не
    является
    блочным
    устройством

    устройство
    было
    запрошено).
    ENOTDIR
    Значение
    target или
    префикс source
    не
    является
    каталогом.
    ENXIO
    Старший
    номер
    блочного
    устройства
    source вне
    допустимого
    диапазона.
    EPERM
    Вызывающий
    процесс не
    имеет
    требуемых
    привилегий.
    EROFS
    Было
    предпринята
    попытка
    монтирования
    файловой
    системы
    доступной
    только на
    чтение без
    флага MS_RDONLY.
    Смотрите
    описание
    EACCES,
    приведённое
    выше.

    ВЕРСИИ¶

    Определения
    MS_DIRSYNC, MS_MOVE, MS_PRIVATE, MS_REC,
    MS_RELATIME, MS_SHARED, MS_SLAVE, MS_STRICTATIME
    и MS_UNBINDABLE были
    добавлены
    в
    заголовочные
    файлы glibc
    начиная с
    версии 2.12.

    СООТВЕТСТВИЕ СТАНДАРТАМ¶

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

    ЗАМЕЧАНИЯ¶

    Начиная с
    Linux 2.4 одна
    файловая
    система
    может быть
    смонтирована
    в
    множество
    точек
    монтирования,
    также
    множественное
    монтирование
    может
    осуществляться
    в одну
    точку.

    В верхних
    16 битах
    аргумента
    mountflags может
    содержаться
    магическое
    число 0xC0ED (MS_MGC_VAL)
    (все
    остальные
    флаги из
    ОПИСАНИЯ
    находятся
    в младших 16
    битах mountflags).
    Указание
    MS_MGC_VAL было
    требованием
    ядра до
    версии 2.4, но
    начиная с Linux 2.4
    этого
    больше не
    нужно, и
    число
    игнорируется,
    если
    указано.

    Изначальный
    флаг MS_SYNC был
    переименован
    в MS_SYNCHRONOUS в 1.1.69,
    когда в <mman.h>
    был
    добавлен
    другой
    флаг MS_SYNC.

    До Linux 2.4
    попытка
    выполнения
    программ set-UID
    или set-GID на
    файловой
    системе,
    подключённой
    с
    параметром
    MS_NOSUID,
    вызывает
    ошибку EPERM.
    Начиная с Linux 2.4
    биты set-UID и set-GID в
    этом
    случае
    негласно
    игнорируются.

    Пространства имён монтирования¶

    Starting with kernel 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.)

    Процесс-потомок,
    создаваемый
    fork(2),
    использует
    родительское
    пространство
    имён
    монтирования
    совместно
    с
    родителем;
    пространство
    имён
    монтирования
    сохраняется
    при вызове
    execve(2).

    Процесс
    может
    получить
    собственное
    пространство
    имён
    монтирования
    если: он был
    создан с
    помощью clone(2)
    с флагом
    CLONE_NEWNS; в этом
    случае его
    новое
    пространство
    имён
    инициализируется
    копией
    пространства
    имён
    процесса,
    который
    вызвал clone(2);
    или он
    вызовет unshare(2)
    с флагом
    CLONE_NEWNS; в этом
    случае
    пространство
    имён
    вызвавшего
    получит
    свою копию
    пространства
    имён,
    которое он
    раньше
    совместно
    использовал
    с другими
    процессами,
    и
    дальнейшие
    монтирования
    и
    размонтирования
    вызвавшим
    будут
    невидимы
    другим
    процессам
    (за
    исключением
    потомков,
    которые
    вызывающий
    создаст
    позже) и
    наоборот.

    For further details on mount namespaces, see
    mount_namespaces(7).

    Parental relationship between mount points¶

    Each mount point has a parent mount point. The overall parental
    relationship of all mount points defines the single directory hierarchy seen
    by the processes within a mount namespace.

    The parent of a new mount point is defined when the mount point is
    created. In the usual case, the parent of a new mount is the mount point 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.

    The parental relationship between mount points can be discovered
    via the /proc/[pid]/mountinfo file (see below).

    /proc/[pid]/mounts и /proc/[pid]/mountinfo¶

    The Linux-specific /proc/[pid]/mounts file exposes the list
    of mount points in the mount namespace of the process with the specified ID.
    The /proc/[pid]/mountinfo file exposes even more information about
    mount points, including the propagation type and mount ID information that
    makes it possible to discover the parental relationship between mount
    points. See proc(5) and mount_namespaces(7) for details of
    this file.

    СМ. ТАКЖЕ¶

    mountpoint(1), chroot(2), ioctl_iflags(2),
    pivot_root(2), umount(2), mount_namespaces(7),
    path_resolution(7), findmnt(8), lsblk(8),
    mount(8), umount(8)

    ЗАМЕЧАНИЯ¶

    Эта
    страница
    является
    частью
    проекта Linux
    man-pages версии 5.10.
    Описание
    проекта,
    информацию
    об ошибках
    и
    последнюю
    версию
    этой
    страницы
    можно
    найти по
    адресу
    https://www.kernel.org/doc/man-pages/.

    ПЕРЕВОД¶

    Русский
    перевод
    этой
    страницы
    руководства
    был сделан
    aereiae <aereiae@gmail.com>, Alexey <a.chepugov@gmail.com>,
    Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitriy S. Seregin
    <dseregin@59.ru>, Dmitry Bolkhovskikh <d20052005@yandex.ru>,
    ITriskTI <ITriskTI@gmail.com>, Max Is <ismax799@gmail.com>, Yuri
    Kozlov <yuray@komyakino.ru>, Иван
    Павлов <pavia00@gmail.com>
    и Малянов
    Евгений
    Викторович
    <maljanow@outlook.com>

    Этот
    перевод
    является
    бесплатной
    документацией;
    прочитайте
    Стандартную
    общественную
    лицензию GNU
    версии 3
    или более
    позднюю,
    чтобы
    узнать об
    условиях
    авторского
    права. Мы не
    несем
    НИКАКОЙ
    ОТВЕТСТВЕННОСТИ.

    Если вы
    обнаружите
    ошибки в
    переводе
    этой
    страницы
    руководства,
    пожалуйста,
    отправьте
    электронное
    письмо на
    man-pages-ru-talks@lists.sourceforge.net.

    Начинающие пользователи Linux систем сталкиваются с кучей различных ошибок. Которые в свою очередь возникают по самым нелепым причинам. Пользователь не дописал команду, сделал синтаксическую ошибку и т.д. Например, когда неопытный пользователь пытается смонтировать сетевую папку с помощью команды mount, появляются ошибки типа can’t find in /etc/fstab или mount does not exist. Сегодня рассмотрим самые часто возникающие ошибки при подключение сетевой папки в Linux.

    Рекомендую прочитать следующие статьи из которых вы узнаете как подключить сетевую папку в различных Linux системах.

    Astra подключение share

    Mint подключение Share

    ROSA подключение сетевой папки

    Подключаем общею папку в Альт

    Подключение общей папки Windows к Fedora

    Как подключить кSimply Linux сетевой диск

    Ошибка при монтировании папки can’t find in /etc/fstab

    И так вы вводите команду монтирования сетевой папки и видите сообщение can’t find in /etc/fstab. Это говорит о том что вы не указали папку куда будет смонтирован сетевой диск. Т.е вы ввели следующею команду.

    mount /10.0.0.6/share -o username=guest,password=

    /10.0.0.6/share — указали где располагается сетевая папка

    username=guest — указали пользователя

    password= — без пароля

    Правильная команда должна выглядеть так.

    mount //10.0.0.6/share /mnt/share/ -o username=guest,password=

    /mnt/share/ — забыли указать место куда будет смотриван сетевой ресурс

    Ошибка при монтировании папки can't find in /etc/fstab

    Ошибка mount does not exist

    Дальше после ввода правильной команды для монтирования сетевой папки вы можете увидеть сообщение mount does not exist. Этого говорит о том что папки share указанной в строчке /mnt/share/ нет.

    Ошибка mount does not exist

    Это особенность подключения сетевой папки в Linux. Вы должны сами создать пупку /mnt/share/ к которой будет монтироваться сетевой диск.

    Самые часто возникающие ошибки при монтировании папки в Linux

    Если папка создана, команда введена правильно без ошибок то сетевой диск должен подключиться без каких либо проблем.

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

    Command:

    sudo mount -t cifs //<server>/<share> -o username=user@domain,password=**** /mnt/<mountpoint>

    error message:

    Unable to find suitable address.

    The syslog has:

    CIFS VFS: Error connecting to socket. Aborting operation.
    CIFS VFS: cifs_mount failed w/return code = -111

    When I check out the documentation for mount via man mount

    I see the following information about the error codes:

       RETURN CODES
       mount has the following return codes (the bits can be ORed):
    
       0      success
       1      incorrect invocation or permissions
       2      system error (out of memory, cannot fork, no more loop devices)
       4      internal mount bug
       8      user interrupt
       16     problems writing or locking /etc/mtab
       32     mount failure
       64     some mount succeeded
    

    So does -111 mean the same thing as 1? If so, how can you diagnose if it’s permissions or the command isn’t correct?

    asked May 5, 2015 at 13:50

    Adam Kalnas's user avatar

    1

    111 = 64+32+8+4+2+1

    So it meant to tell you that you hit every error except 16.

    On my Ubuntu 14.04, I had to add -o sec=ntlmv2 or it will always give me 111 error, but I don’t need that option on my Ubuntu 15.04. Isn’t it confusing?

    answered Jul 22, 2015 at 8:20

    Tankman六四's user avatar

    Tankman六四Tankman六四

    1,6082 gold badges13 silver badges18 bronze badges

    3

    It means «Connection refused». To see a complete list of errors, check errno.h in the kernel source code. Partially listed here for your quick reference: (Note the minus sign will be added by the caller):

    #define▸EL2HLT▸ ▸   51▸ /* Level 2 halted */
    #define▸EBADE▸  ▸   52▸ /* Invalid exchange */
    #define▸EBADR▸  ▸   53▸ /* Invalid request descriptor */
    #define▸EXFULL▸ ▸   54▸ /* Exchange full */
    #define▸ENOANO▸ ▸   55▸ /* No anode */
    #define▸EBADRQC▸▸   56▸ /* Invalid request code */
    #define▸EBADSLT▸▸   57▸ /* Invalid slot */
    
    #define▸EDEADLOCK▸  EDEADLK
    
    #define▸EBFONT▸ ▸   59▸ /* Bad font file format */
    #define▸ENOSTR▸ ▸   60▸ /* Device not a stream */
    #define▸ENODATA▸▸   61▸ /* No data available */
    #define▸ETIME▸  ▸   62▸ /* Timer expired */
    #define▸ENOSR▸  ▸   63▸ /* Out of streams resources */
    #define▸ENONET▸ ▸   64▸ /* Machine is not on the network */
    #define▸ENOPKG▸ ▸   65▸ /* Package not installed */
    #define▸EREMOTE▸▸   66▸ /* Object is remote */
    #define▸ENOLINK▸▸   67▸ /* Link has been severed */
    #define▸EADV▸   ▸   68▸ /* Advertise error */
    #define▸ESRMNT▸ ▸   69▸ /* Srmount error */
    #define▸ECOMM▸  ▸   70▸ /* Communication error on send */
    #define▸EPROTO▸ ▸   71▸ /* Protocol error */
    #define▸EMULTIHOP▸  72▸ /* Multihop attempted */
    #define▸EDOTDOT▸▸   73▸ /* RFS specific error */
    #define▸EBADMSG▸▸   74▸ /* Not a data message */
    #define▸EOVERFLOW▸  75▸ /* Value too large for defined data type */
    #define▸ENOTUNIQ▸   76▸ /* Name not unique on network */
    #define▸EBADFD▸ ▸   77▸ /* File descriptor in bad state */
    #define▸EREMCHG▸▸   78▸ /* Remote address changed */
    #define▸ELIBACC▸▸   79▸ /* Can not access a needed shared library */
    #define▸ELIBBAD▸▸   80▸ /* Accessing a corrupted shared library */
    #define▸ELIBSCN▸▸   81▸ /* .lib section in a.out corrupted */
    #define▸ELIBMAX▸▸   82▸ /* Attempting to link in too many shared libraries */
    #define▸ELIBEXEC▸   83▸ /* Cannot exec a shared library directly */
    #define▸EILSEQ▸ ▸   84▸ /* Illegal byte sequence */
    #define▸ERESTART▸   85▸ /* Interrupted system call should be restarted */
    #define▸ESTRPIPE▸   86▸ /* Streams pipe error */
    #define▸EUSERS▸ ▸   87▸ /* Too many users */
    #define▸ENOTSOCK▸   88▸ /* Socket operation on non-socket */
    #define▸EDESTADDRREQ▸   89▸ /* Destination address required */
    #define▸EMSGSIZE▸   90▸ /* Message too long */
    #define▸EPROTOTYPE▸ 91▸ /* Protocol wrong type for socket */
    #define▸ENOPROTOOPT▸92▸ /* Protocol not available */
    #define▸EPROTONOSUPPORT▸93▸ /* Protocol not supported */
    #define▸ESOCKTNOSUPPORT▸94▸ /* Socket type not supported */
    #define▸EOPNOTSUPP▸ 95▸ /* Operation not supported on transport endpoint */
    #define▸EPFNOSUPPORT▸   96▸ /* Protocol family not supported */
    #define▸EAFNOSUPPORT▸   97▸ /* Address family not supported by protocol */
    #define▸EADDRINUSE▸ 98▸ /* Address already in use */
    #define▸EADDRNOTAVAIL▸  99▸ /* Cannot assign requested address */
    #define▸ENETDOWN▸   100▸/* Network is down */
    #define▸ENETUNREACH▸101▸/* Network is unreachable */
    #define▸ENETRESET▸  102▸/* Network dropped connection because of reset */
    #define▸ECONNABORTED▸   103▸/* Software caused connection abort */
    #define▸ECONNRESET▸ 104▸/* Connection reset by peer */
    #define▸ENOBUFS▸▸   105▸/* No buffer space available */
    #define▸EISCONN▸▸   106▸/* Transport endpoint is already connected */
    #define▸ENOTCONN▸   107▸/* Transport endpoint is not connected */
    #define▸ESHUTDOWN▸  108▸/* Cannot send after transport endpoint shutdown */
    #define▸ETOOMANYREFS▸   109▸/* Too many references: cannot splice */
    #define▸ETIMEDOUT▸  110▸/* Connection timed out */
    #define▸ECONNREFUSED▸   111▸/* Connection refused */
    #define▸EHOSTDOWN▸  112▸/* Host is down */
    #define▸EHOSTUNREACH▸   113▸/* No route to host */
    #define▸EALREADY▸   114▸/* Operation already in progress */
    #define▸EINPROGRESS▸115▸/* Operation now in progress */
    #define▸ESTALE▸ ▸   116▸/* Stale file handle */
    #define▸EUCLEAN▸▸   117▸/* Structure needs cleaning */
    #define▸ENOTNAM▸▸   118▸/* Not a XENIX named type file */
    #define▸ENAVAIL▸▸   119▸/* No XENIX semaphores available */
    #define▸EISNAM▸ ▸   120▸/* Is a named type file */
    #define▸EREMOTEIO▸  121▸/* Remote I/O error */
    #define▸EDQUOT▸ ▸   122▸/* Quota exceeded */
    
    #define▸ENOMEDIUM▸  123▸/* No medium found */
    #define▸EMEDIUMTYPE▸124▸/* Wrong medium type */
    #define▸ECANCELED▸  125▸/* Operation Canceled */
    #define▸ENOKEY▸ ▸   126▸/* Required key not available */
    #define▸EKEYEXPIRED▸127▸/* Key has expired */
    #define▸EKEYREVOKED▸128▸/* Key has been revoked */
    #define▸EKEYREJECTED▸   129▸/* Key was rejected by service */
    
    /* for robust mutexes */
    #define▸EOWNERDEAD▸ 130▸/* Owner died */
    #define▸ENOTRECOVERABLE▸131▸/* State not recoverable */
    
    #define ERFKILL▸▸   132▸/* Operation not possible due to RF-kill */
    
    #define EHWPOISON▸  133▸/* Memory page has hardware error */
    
    

    answered Oct 4, 2021 at 18:43

    Penghe Geng's user avatar

    Penghe GengPenghe Geng

    13k5 gold badges30 silver badges40 bronze badges

    I recently started getting this error on Fedora 27.

    Changing option vers=1.0 to vers=2.0 ( -o defaults,vers=2.0,rsize=…) solved the issue.

    answered Apr 11, 2018 at 7:11

    scharette's user avatar

    scharettescharette

    6051 gold badge9 silver badges24 bronze badges

    Понравилась статья? Поделить с друзьями:

    Не пропустите эти материалы по теме:

  • Яндекс еда ошибка привязки карты
  • Коды ошибок modbus rtu
  • Коды ошибок ml w164
  • Коды ошибок mitsubishi рефрижератор
  • Коды ошибок mitsubishi rvr

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии