Man pages на русском

         

MOUNT(2)


НАЗВАНИЕ

mount - монтирование файловой системы

СИНТАКСИС

#include <sys/mount.h>

int mount (spec, dir, mflag, fstyp) char *spec, *dir; int mflag, fstyp;

ОПИСАНИЕ

Системный вызов mount обслуживает запросы на монтирование (подключение) к каталогу с именем dir сменной файловой системы, которая содержится в специальном блочном файле с именем spec. Аргументы spec и dir являются указателями на маршрутные имена; fstyp - номер типа файловой системы. Чтобы определить номер типа файловой системы, можно воспользоваться системным вызовом . Отметим, что если бит MS_FSS аргумента mflag сброшен, тип файловой системы будет считаться совпадающим с типом корневой файловой системы. Аргумент fstyp принимается во внимание только при установленном бите MS_FSS.

После успешного завершения данного вызова ссылки на файл dir будут равносильны ссылкам на корневой каталог смонтированной файловой системы.

Младший бит аргумента mflag используется для управления правом на запись в смонтированную файловую систему. Если он равен 1, запись запрещена; в противном случае запись разрешена, если есть соответствующее право доступа к отдельному файлу.

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

Системный вызов mount завершается неудачей, если выполнено хотя бы одно из следующих условий:

[EPERM] Действующий идентификатор пользователя не является идентификатором суперпользователя. [ENOENT] Какой-либо из указанных файлов не существует. [ENOTDIR] Компонент маршрута не является каталогом. [EREMOTE] Spec является удаленным устройством и не может быть смонтирован. [ENOLINK] Аргумент path указывает на удаленный компьютер, связи с которым в данный момент нет. [EMULTIHOP] Компоненты path требуют многократного обращения к удаленным компьютерам. [ENOTBLK] Spec не является специальным блочным устройством. [ENXIO] Физическое устройство, соответствующее spec, не существует. [ENOTDIR] Dir не является каталогом. [EFAULT] Spec или dir указывает за пределы отведенного процессу адресного пространства. [EBUSY] Dir в данный момент смонтирован, является чьим-то текущим каталогом или занят каким либо иным образом. [EBUSY] Физическое устройство, соответствующее spec, в данный момент смонтировано. [EBUSY] Исчерпана таблица смонтированных файловых систем. [EROFS] Spec защищен от записи, а mflag требует права на запись. [ENOSPC] Состояние файловой системы в суперблоке не равно FsOKAY, а mflag требует права на запись. [EINVAL] Суперблок содержит некорректное магическое число, либо fstyp некорректен, либо mflag некорректен.

СМ. ТАКЖЕ

, , . в Справочнике администратора.

ДИАГНОСТИКА

При успешном завершении результат равен 0; в случае ошибки возвращается -1, а переменной errno присваивается код ошибки.




Насторожитесь, если при нахождении в однопользовательском режиме команды, которые ищут в /etc/mnttab аргументы, используемые по умолчанию (например, df, ncheck, qout, mount и unmount) дают неправильные результаты (вследствие порчи /etc/mnttab из-за остановки системы без команды shutdown) или вообще не дают результатов (из-за пустого /etc/mnttab после выполнения shutdown).

В многопользовательском режиме это не составляет проблемы; /etc/rc инициализирует /etc/mnttab так, что тот содержит только /dev/root, и последующие монтировки модифицируют его соответствующим образом.

Команды и unmount(8) используют файл блокировки для обеспечения исключительного доступа к /etc/mnttab. Команды, которые просто читают его (они упомянуты выше) не делают этого, и поэтому может случиться, что они попадают в испорченное окно. На практике это не составляет проблемы, так как операции mount и unmount не слишком часто используются.

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

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









Содержание раздела