AUTOFS(5)

НАЗВАНИЕ
autofs - Формат таблицы автомонтирования

ОПИСАНИЕ
Таблицами (map-файлами) автомонтирования могут являться файлы, либо таблицы NIS, на которые ссылается основная (master) таблица автомонтирования (см. auto.master(5)). В таблицах описывается расположение файловых систем, которые автоматически подмонтируются к базовым точкам монтирования (задаваемых в файле auto.master). Здесь описывается формат таблицы sun, для другого формата (например, hesiod) этот документ не применим. Таблицы можно редактировать `на лету' -- эти изменения будут учтены при следующей операции с данной таблицей. Однако это не относится к основной таблице auto.master!

ФОРМАТ
Здесь даётся описание формата текстового файла. Могут существовать и другие способы определения этих файлов. Все пустые строки и строки, начинающиеся с #, игнорируются. Основной формат строки в такой таблице следующий:

key [-options] location

  key
При косвенном (относительном) монтировании это часть пути между точкой монтирования и путём в смонтированной файловой системе. Как правило, ключ можно рассматривать как имя подкаталога ниже точки монтирования, например

    /mountpoint/key/path/to/file

При прямом (абсолютном) монтировании в качестве ключа указывается полный путь к точке монтирования. Такая таблица всегда ассоциирована с точкой монтирования /- в основной (master) таблице.

  options
Опции не обязательны. Опции также можно задать в файле auto.master -- в этом случае оба значения аккумулируются (это отличается от SunOS). Options -- это список опций, разделяемых запятыми, для команды mount(8). Имеется две специальных опции: -fstype=, используемая для указания типа файловой системы, если файловая система не является NFS по умолчанию. Эта опция обрабатывается автомонтировщиком и не передаётся команде mount. -strict используется для обработки ошибок монтирования ФС как фатальных. Это важно при монтировании нескольких файловых систем (`multimounts'). Если эта опция задана, то ни одна файловая система не будет монтироваться, если возникнет ошибка монтирования какой-либо ФС.

  location
Определяет монтируемую файловую систему. В большинстве случаев это будет NFS том и для указания удалённой системы и монтируемого пути используется обычная нотация host:pathname. Если монтируемая ФС начинается с / (например, локальные записи /dev или ресурсы smbfs), то необходим префикс : (например, :/dev/sda1).

ПРИМЕР

    kernel	-ro,soft,intr	ftp.kernel.org:/pub/linux
    boot	-fstype=ext2	:/dev/hda1
    windoze	-fstype=smbfs	://windoze/c
    removable	-fstype=ext2	:/dev/hdd
    cd	-fstype=iso9660,ro	:/dev/hdc
    floppy	-fstype=auto	:/dev/fd0
    server	-rw,hard,intr	/ -ro myserver.me.org:/ \
    			/usr myserver.me.org:/usr \
    			/home myserver.me.org:/home

В первой строке у нас удалённое монтирование NFS каталога kernel на ftp.kernel.org. Это монтирования read-only. Вторая строка монтирует том ext2 на локальном ide устройстве. Третья строка делает доступным для автомонтирования экспортируемого ресурса Windows-машины. Остальные должны быть понятны сами по себе. Последняя запись (последние три строки) -- это пример multi-map (см. ниже). При использовании автомонтирования файловой системы, не поддерживающей разрешения доступа (access permissions), например, fat, то как правило пользователи не могут писать в такую ФС, поскольку она монтируется пользователем root. Эту проблему можно решить передачей опции gid=<gid>, например, gid=floppy. Тогда ФС монтируется с группой floppy вместо root. Затем добавляем пользователей в эту группу, и они могут писать в эту ФС. Вот образец записи в таблицу autofs:

    floppy-vfat  -fstype=vfat,sync,gid=floppy,umask=002  :/dev/fd0

ВОЗМОЖНОСТИ

  Map Key Substitution (подмена ключа таблицы)
Символ & в location заменяется на значение поля key, соответствующего строке (которая, возможно, имеет смысл только вместе с групповым ключом).

  Wildcard Key (групповой ключ)
Символ * в поле key косвенных таблиц соответствует всем ключам. Следующая запись демонстрирует полезность такого ключа:

    *	&:/home/&

Это позволяет вам получить доступ ко всем домашним каталогам локальных хостов, используя путь /mountpoint/hostname/local-path.

  Variable Substitution (подмена переменных)
Следующие специальные переменные с префиксом $ будут заменены в полях key и location таблицы автомонтирования, как результат shell-скриптов (для отделения имен можно использовать круглые скобки):

    ARCH	Architecture (uname -m)
    CPU	Processor Type
    HOST	Hostname (uname -n)
    OSNAME	Operating System (uname -s)
    OSREL	Release of OS (uname -r)
    OSVERS	Version of OS (uname -v)

Можно также определить дополнительные записи с помощью табличной опции -Dvariable=Value к automount(8).

  Executable Maps Исполняемые таблицы
Таблицу можно отметить как исполняемую. Начальный скрипт, который обрабатывает таблицу auto.master, будет передавать ее автомонтировщику как таблицу program. Таблица program будет вызвана как скрипт с ключом в качестве аргумента. Она может ничего не возвращать в случае ошибки или одни или несколько строк, содержащих таблицу. (с \ , экранирующим окончания строк).

Для использования таблиц program демон automount(8) необходимо запустить с типом program вместо типа file. Это реализовано в скрипте инициализации.

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

  Множественное монтирование
Для указания нескольких файловых систем для монтирования можно использовать multi-mount map. Она имеет вид:

    key [-options] [mountpoint [-options] location...]...

Это можно расположить на нескольких строках, отменяя разрыв строки с помощью `\'. При наличии опции монтирования для каждой точки монтирования добавляются к опциям монтирования по умолчанию.

  Реплицируемый сервер

    Несколько реплицируемых хостов, один путь:
    <path> host1,host2,hostn:/path/path
    Несколько хостов, некоторые с одинаковым путём, некоторые - с другим:
    <path> host1,host2:/blah host3:/some/other/path
    Несколько реплицируемых хостов, различные (потенциально) пути:
    <path> host1:/path/pathA host2:/path/pathB
    Несколько взвешенных реплицируемых хостом с одинаковым путём:
    <path> host1(5),host2(6),host3(1):/path/path
    Несколько взвешенных реплицируемых хостов с разными (потенц.) путями:
    <path> host1(3):/path/pathA host2(5):/path/pathB
    Всё остальное под вопросом и не поддерживается, но эти вариации также
    будут работать:
    <path> host1(3),host:/blah

НЕ ПОДДЕРЖИВАЕТСЯ
Эта версия автомонтировщика поддерживает прямые таблицы только для типов FILE, NIS и LDAP, и обрабатывает реплицируемые ФС в стиле SunOS только в том объёме, в котором это делает mount(8).

ПРЕДОСТЕРЕЖЕНИЕ
В отличие от синтаксиса multi-mount в Sun, точка монтирования является обязательной для всех монтирований.

СМОТРИ ТАКЖЕ
automount(8), auto.master(5), autofs(8), mount(8).

АВТОРЫ
Эта страница руководства была написана Кристофером Ламитером (Christoph Lameter) <chris@waterf.org> для системы Debian GNU/Linux. Отредактировано Питером Энвином (H. Peter Anvin) <hpa@transmeta.com>, Джереми Фитцхардингом (Jeremy Fitzhardinge) <jeremy@goop.org> и Айэном Кентом (Ian Kent) <raven@themaw.net>. Перевод на русский язык выполнил Александр Саввин <savvin@mail.ru>