Итак. Есть файл /etc/auto.map
//------------------------------------------------------------
# /etc/auto.map
# mountpoint_key options location_device # man 5 autofs
cdrom0 -ro,soft,intr ftp.kernel.org:/pub/
//---------------------------------------------------
директории /media/auto нет.
дается команда
automount -g -v /media/auto file /etc/auto.map
создается директория /media/auto
но в ней пусто.
в сислоге
Jan 4 19:06:56 darkstar automount[5574]: failed to mount /media/auto/.directory
Jan 4 19:06:56 darkstar automount[5574]: umount_multi: no mounts found under /media/auto/.directory
команда cd /media/auto/cdrom0 говорит, что такой директории нет.
Что я делаю неправильно?
Почему не монтируется?
Как настроить autofs?
Модератор: Bizdelnick
-
Лис
- Сообщения: 1639
- ОС: Zenwalk
Re: Как настроить autofs?
Какой дистрибутив? Судя по darkstar, Слака. Для нее и иже с ней могу описать подробно действия с приложением конфигов. Для других будет несколько отличаться стартовый скрипт.
-
Lockywolf
- Сообщения: 56
Re: Как настроить autofs?
Слака-слака. Slamd64 точнее.
скинь пожалуйста
скинь пожалуйста
-
Лис
- Сообщения: 1639
- ОС: Zenwalk
Re: Как настроить autofs?
OK. Никогда не работал на 64 битных системах, но, думаю, разницы нет.
!!!Все ниже описанное работает на Slackware и Zenwalk. На других системах нужно изменить скрипт инициализации и запускать его не из /etc/rc.d/rc.local, а из соответствующего дистрибутиву локального стартового скрипта.
Принцип работы autofs прост. Например, при вытащенном cdrom точки его монтирования (предположим, /mnt/cdrom), не существует. От того, что мы просто вставим диск, она тоже не появится. Но стоит нам обратиться к диску ( cp /mnt/cdrom ), при наличии диска в приводе создается точка монтирования, и диск автоматически монтируется. После того, как все программы перестали обращаться к диску ( [/mnt/cdrom]$cd ), он автоматически отмонтируется, и точка монтирования удаляется.
Для autofs нужны:
1. Поддержка autofs v.4 в ядре. Опция File systems->Kernel automounter version 4 support (also supports v3). Можно вкомпилировать в ядро, можно собрать модулем. Проверить наличие поддержки можно следующим образом: Среди всего прочего должна быть строка
2. Программа автоподключения. В Zenwalk она присутствует по умолчанию. Не помню, как в Slackware 10.2. Для указанной версии Слаки пакет можно взять здесь Или же собрать из исходников. (В виде rc доступна automount v.5, однако я не уверен, что она совместима с 4 версией). В ZW стоит старая версия 3.1.7. Это минимальная требуемая версия. С ней все прекрасно работает, обновляться я не вижу смысла.
Если оба пункта есть, то можно переходить к собственно настройке.
Для работы automount нужны 2 конфигурационных файла: /etc/auto.master и /etc/auto.misc. Собственно, пути могут быть и другими при желании, нужно только их подправить в скрипте инициализации и auto.master.
В auto.master указываются точки монтирования и пути к файлам auto.misc, которые будут использоваться при обращении к этим точкам (man auto.master). Опция timeout определяет время (сек.), по истечении которого точка будет отмонтирована, если к ней никто не обращается.
В auto.misc определяются собственно устройства, монтируемые автоматически. В моем случае это /dev/cdrom и /dev/fd0. Вам, естественно, нужно указать свои или создать символические ссылки. Первой опцией идут точки монтирования. Эти точки добавляются к той, что определена в auto.master, т.е. в моем случае при монтировании появятся директории /mnt/auto/cdrom и /mnt/auto/floppy. Можно, конечно, в качестве базовой директории указать и просто /mnt, однако /mnt/auto мне кажется логичнее.
Обратите внимание, что значение iocharset для дискет (подразумевается, что их файловая система vfat) установлено в utf8, так как я использую эту локаль. Для другой локали нужно соответственно изменить значение (например, посмотреть cat /etc/fstab | grep vfat). Кроме того, для дискет используется опция sync. Так что, можно смело их вытаскивать, не дожидаясь отмонтирования.
Права доступа на файлы должны быть "-rw-r--r-- 1 root root"
Затем нам нужно сделать так, чтобы система запускала демон automount при своей загрузке, т.е. нужен скрипт инициализации /etc/rc.d/rc.autofs:
Вряд ли нужно будет что-то в нем менять. Опции указаны в конце файла: start, stop, restart или reload (что в данном скрипте одно и то же) и status. Весьма интересна последняя опция - единственная, которая может понадобиться для ручного ввода. Права доступа для него следующие: "-rwxr-xr-x 1 root root".
Теперь прописываем /etc/rc.d/rc.autofs в /etc/rc.d/rc.local. В конец последнего помещаем:
Остался последний шаг. Возможно, придется закомментировать все строчки в /etc/fstab, которые указывают на устройства, прописанные в auto.misc. Для стандартной Slackware, пожалуй, это излишний шаг, но, вот, последние версии Zenwalk включают в себя скрипты автомонтирования съемных устройств. Для флешек эта вещь удобная, но для дисководов невозможность вытаскивать диск простым нажатием на кнопку оказалась в моем случае критичной. Таким образом, строчка в /etc/fstab, относящаяся к CDROM, мешала работе automount. На всякий случай я закомментировал и строчку с floppy.
Создаем директорию /mnt/auto ( это точка монтирования, указанная в auto.master ).
В принципе, все. Теперь для обращения к cdrom и дискете нужно открывать директории /mnt/auto/cdrom и /mnt/auto/floppy соответственно.
Так как я привык, обращаться к диску через /mnt/cdrom, а дискете - через /mnt/floppy, то я предпочитаю создать их как символические ссылки на /mnt/auto/cdrom и /mnt/auto/floppy. Но сначала удаляем старые точки монтирования к автомонтируемым устройствам, если таковые имеются.
И еще одна удобная мелочь:
Так мы получаем доступ к диску прямо из домашней директории.
Ссылки:
http://www.linux-consulting.com/Amd_AutoFS/autofs.html#toc5
http://www.linuxquestions.org/questions/sh...ad.php?t=513002
!!!Все ниже описанное работает на Slackware и Zenwalk. На других системах нужно изменить скрипт инициализации и запускать его не из /etc/rc.d/rc.local, а из соответствующего дистрибутиву локального стартового скрипта.
Принцип работы autofs прост. Например, при вытащенном cdrom точки его монтирования (предположим, /mnt/cdrom), не существует. От того, что мы просто вставим диск, она тоже не появится. Но стоит нам обратиться к диску ( cp /mnt/cdrom ), при наличии диска в приводе создается точка монтирования, и диск автоматически монтируется. После того, как все программы перестали обращаться к диску ( [/mnt/cdrom]$cd ), он автоматически отмонтируется, и точка монтирования удаляется.
Для autofs нужны:
1. Поддержка autofs v.4 в ядре. Опция File systems->Kernel automounter version 4 support (also supports v3). Можно вкомпилировать в ядро, можно собрать модулем. Проверить наличие поддержки можно следующим образом:
Код: Выделить всё
cat /proc/filesystemsКод: Выделить всё
nodev autofs2. Программа автоподключения. В Zenwalk она присутствует по умолчанию. Не помню, как в Slackware 10.2. Для указанной версии Слаки пакет можно взять здесь Или же собрать из исходников. (В виде rc доступна automount v.5, однако я не уверен, что она совместима с 4 версией). В ZW стоит старая версия 3.1.7. Это минимальная требуемая версия. С ней все прекрасно работает, обновляться я не вижу смысла.
Если оба пункта есть, то можно переходить к собственно настройке.
Для работы automount нужны 2 конфигурационных файла: /etc/auto.master и /etc/auto.misc. Собственно, пути могут быть и другими при желании, нужно только их подправить в скрипте инициализации и auto.master.
В auto.master указываются точки монтирования и пути к файлам auto.misc, которые будут использоваться при обращении к этим точкам (man auto.master). Опция timeout определяет время (сек.), по истечении которого точка будет отмонтирована, если к ней никто не обращается.
Код: Выделить всё
# $Id: auto.master,v 1.2 1997/10/06 21:52:03 hpa Exp $
# Sample auto.master file
# Format of this file:
# mountpoint map options
# For details of the format look at autofs(8).
#/misc /etc/auto.misc
/mnt/auto /etc/auto.misc --timeout=5В auto.misc определяются собственно устройства, монтируемые автоматически. В моем случае это /dev/cdrom и /dev/fd0. Вам, естественно, нужно указать свои или создать символические ссылки. Первой опцией идут точки монтирования. Эти точки добавляются к той, что определена в auto.master, т.е. в моем случае при монтировании появятся директории /mnt/auto/cdrom и /mnt/auto/floppy. Можно, конечно, в качестве базовой директории указать и просто /mnt, однако /mnt/auto мне кажется логичнее.
Код: Выделить всё
# This is an automounter map and it has the following format
# key [ -mount-options-separated-by-comma ] location
# Details may be found in the autofs(5) manpage
cdrom -fstype=iso9660,ro,nosuid,nodev,users,owner :/dev/cdrom
floppy -fstype=vfat,rw,sync,gid=users,umask=0,iocharset=utf8,codepage=866,quiet,users :/dev/fd0Обратите внимание, что значение iocharset для дискет (подразумевается, что их файловая система vfat) установлено в utf8, так как я использую эту локаль. Для другой локали нужно соответственно изменить значение (например, посмотреть cat /etc/fstab | grep vfat). Кроме того, для дискет используется опция sync. Так что, можно смело их вытаскивать, не дожидаясь отмонтирования.
Права доступа на файлы должны быть "-rw-r--r-- 1 root root"
Код: Выделить всё
#cd /etc
#for i in `/bin/ls /etc | grep auto`; do chown root:root ${i} && chmod 644 ${i}; done;Затем нам нужно сделать так, чтобы система запускала демон automount при своей загрузке, т.е. нужен скрипт инициализации /etc/rc.d/rc.autofs:
Код: Выделить всё
#!/bin/bash
#
# Slackware rc file for automount (file type maps only)
# Severely handicapped rc.autofs.in from autofs-3.1.7 package
# Andrei Osin <osin@izmiran.ru>
#
# In Slackware, this file should be called:
# /etc/rc.d/rc.autofs
#if [ ! -f /etc/slackware-version ]; then
#echo "This is not a Slackware system" 1>&2
#exit 1
#fi
#
# Location of the automount daemon
#
DAEMON=`whereis -b automount|cut -d' ' -f2`
test -e $DAEMON || exit 1
# Additional map options
localoptions=''
# This function will build a list of automount commands to execute in
# order to activate all the mount points.
function getmounts()
{
#
# Check for local maps to be loaded
#
if [ -f /etc/auto.master ]
then
cat /etc/auto.master | sed -e '/^#/d' -e '/^$/d'| (
# These are automount options
while read dir map options
do
if [ -f $map ]; then
echo "$DAEMON $options $dir file $map $localoptions"
fi
done
)
fi
}
#
# Status lister.
#
function status()
{
test `ps ax|grep -c automount` -eq 0 &&
echo Automount is not running &&
exit
echo "Configured Mount Points:"
echo "------------------------"
getmounts | cut -d' ' -f3
echo ""
echo "Active Mount Points:"
echo "--------------------"
getmounts | cut -d' ' -f3 | while read dir
do
mount | grep -v automount | grep $dir | cut -d' ' -f3
done
}
case "$1" in
start)
# Check if the automounter is already running?
if [ ! -f /var/lock/subsys/autofs ]; then
echo 'Starting automounter: '
getmounts | cut -d' ' -f3
getmounts | sh
touch /var/lock/subsys/autofs
fi
;;
stop)
kill -TERM $(/sbin/pidof $DAEMON)
rm -f /var/lock/subsys/autofs
;;
reload|restart)
if [ ! -f /var/lock/subsys/autofs ]; then
echo "Automounter not running"
exit 1
fi
echo "Checking for changes to /etc/auto.master ..."
TMP1=`mktemp /tmp/autofs.XXXXXX` || { echo "could not make temp file" >& 2; exit 1; }
TMP2=`mktemp /tmp/autofs.XXXXXX` || { echo "could not make temp file" >& 2; exit 1; }
getmounts >$TMP1
ps ax|grep "[0-9]:[0-9][0-9] $DAEMON " | (
while read pid tt stat time command; do
echo "$command" >>$TMP2
if ! grep -q "^$command" $TMP2; then
kill -USR2 $pid
echo "Stop $command"
fi
done
)
cat $TMP1 | ( while read x; do
if ! grep -q "^$x" $TMP2; then
$x
echo "Start $x"
fi
done )
rm -f $TMP1 $TMP2
;;
status)
status
;;
*)
echo "Usage: $0 {start|stop|restart|reload|status}"
exit 1
esac
exit 0Вряд ли нужно будет что-то в нем менять. Опции указаны в конце файла: start, stop, restart или reload (что в данном скрипте одно и то же) и status. Весьма интересна последняя опция - единственная, которая может понадобиться для ручного ввода. Права доступа для него следующие: "-rwxr-xr-x 1 root root".
Код: Выделить всё
#chown root:root /etc/rc.d/rc.autofs
#chmod 755 /etc/rc.d/rc.autofsТеперь прописываем /etc/rc.d/rc.autofs в /etc/rc.d/rc.local. В конец последнего помещаем:
Код: Выделить всё
if [ -x /etc/rc.d/rc.autofs ]; then
/etc/rc.d/rc.autofs start
fiОстался последний шаг. Возможно, придется закомментировать все строчки в /etc/fstab, которые указывают на устройства, прописанные в auto.misc. Для стандартной Slackware, пожалуй, это излишний шаг, но, вот, последние версии Zenwalk включают в себя скрипты автомонтирования съемных устройств. Для флешек эта вещь удобная, но для дисководов невозможность вытаскивать диск простым нажатием на кнопку оказалась в моем случае критичной. Таким образом, строчка в /etc/fstab, относящаяся к CDROM, мешала работе automount. На всякий случай я закомментировал и строчку с floppy.
Создаем директорию /mnt/auto ( это точка монтирования, указанная в auto.master ).
Код: Выделить всё
#mkdir /mnt/autoВ принципе, все. Теперь для обращения к cdrom и дискете нужно открывать директории /mnt/auto/cdrom и /mnt/auto/floppy соответственно.
Так как я привык, обращаться к диску через /mnt/cdrom, а дискете - через /mnt/floppy, то я предпочитаю создать их как символические ссылки на /mnt/auto/cdrom и /mnt/auto/floppy. Но сначала удаляем старые точки монтирования к автомонтируемым устройствам, если таковые имеются.
Код: Выделить всё
#umount /mnt/cdrom
#umount /mnt/floppy
#rmdir /mnt/cdrom
#rmdir /mnt/floppy
#ln -s /mnt/auto/cdrom /mnt/cdrom
#ln -s /mnt/auto/floppy /mnt/floppyИ еще одна удобная мелочь:
Код: Выделить всё
$ln -s /mnt/cdrom ~/cdromТак мы получаем доступ к диску прямо из домашней директории.
Ссылки:
http://www.linux-consulting.com/Amd_AutoFS/autofs.html#toc5
http://www.linuxquestions.org/questions/sh...ad.php?t=513002
-
Lockywolf
- Сообщения: 56
Re: Как настроить autofs?
ни хрена не работает.
sux.
можешь сказать просто готовую строку автомаунту?
sux.
можешь сказать просто готовую строку автомаунту?
-
Лис
- Сообщения: 1639
- ОС: Zenwalk
Re: Как настроить autofs?
Не понял. Какую строку? Если собрано модулем, то модуль подгружен? Что говорит ps -e | grep automount и /etc/rc.d/rc.autofs status?
-
Lockywolf
- Сообщения: 56
Re: Как настроить autofs?
Странный скрипт...
У меня не работает.
Пришлось наваять свой.
Хреновый, но работает.
теперь компакты монтируются.
Не знаю, в чем было дело
У меня не работает.
Пришлось наваять свой.
Хреновый, но работает.
теперь компакты монтируются.
Не знаю, в чем было дело
-
Лис
- Сообщения: 1639
- ОС: Zenwalk
Re: Как настроить autofs?
Не знаю. Ставил его на несколько машин, причем как на Слаку, так и на ZW - все работает. Какие ошибки то выдает?