Ivanovo Linux Users Group - Not logged in
Forum Help Search Login
Previous Next Up Topic Администрирование / Общее администрирование / Автоматическое монтирование (22977 hits)
- By MaxyS Date 03.02.07 22:59
Вобщем две ночи уже бьюсь, не могу настроить автоматическое монтирование двдюка и флопа. Подскажите плз как енто сделать.
Parent - By LOE (Site/forum admin) Date 04.02.07 19:19
Лично я использую autofs (находится в серии n дистрибутива)
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By MaxyS Date 05.02.07 21:56
Расскажи пожалуйста поподробнее что и как делать, не хочу обратно в rpm дистр перелезать(подсадил меня на слаку терь отдувайся;-) )

"PS. если ты всё компилишь сам, может есть смысл посмотреть в сторону другого дистра?"(с)
Parent - By LOE (Site/forum admin) Date 05.02.07 22:02
Ставишь пакет autofs
Потом топаешь в каталог /usr/doc/autofs-x.y.z и читаешь. Собственно, читать можно не. Главное - в подкаталоге samples
Там и примеры конфигов, и rc скрипт запуска.
А поскольку autofs is a kernel-based automounter for Linux - надо включить поддержку автомонтирования в ядре.

PS. я уже давно компилю сам только действительно отсутствующий софт. в остальном - linuxpackages.net рулит
сегодня поставил KDE-3.3.6 оттуда. всё "просто летает" (вместе с beryl'ом)
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By MaxyS Date 21.02.07 21:25 Edited 21.02.07 21:27
Лана, доки читал, все сдулал как должно быть и фик.
Вопрос1: нада-ли править /etc/fstab?
Вопрос2: в auto.misc указывается только девайс, а точка монтирования?
Вопрос3: в скрипте запуска идет проверка на версию дистра, есть дебиан, шапка и усе, слаки неть, он ругается...
Parent - By LOE (Site/forum admin) Date 22.02.07 06:33
1. править fstab не надо
2. примеры файлов auto.master и auto.misc (которые есть в дистре)
$ cat /etc/auto.master

/am     /etc/auto.misc

$ cat /etc/auto.misc

cdrom           -fstype=auto,user,ro,iocharset=koi8-r,map=off   :/dev/hdc
Т.е. при переходе в каталог /am/cdrom будет производиться попытка монтирования:
mount -t auto -o user,ro,iocharset=koi8-r,map=off /dev/hdc /am/cdrom
А при невостребованности данного каталога (и файлов в нем) более некоторого времени будет производиться автоматическое отмонтирование

3. Как он у тебя ругается? Учимся сразу приводить подробную информацию. Телепатов тут нет. У меня скрипт запускается без всяких претензий (ругань может быть совершенно на другие вещи, например неправильный синтаксис конфиг-файлов или отсутствие autofs в ядре)
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By MaxyS Date 22.02.07 10:19
./rc.autofs: Unknown system, please port and contact autofs@linux.kernel.org
А вот что в скрипте:

#
# Determine which kind of configuration we're using
#
system=unknown
if [ -f /etc/debian_version ]; then
    system=debian
elif [ -f /etc/redhat-release ]; then
    system=redhat
else
    echo "$0: Unknown system, please port and contact autofs@linux.kernel.org" 1>&2
    exit 1
fi

А у меня не /etc/debian_version или /etc/redhat-release а /etc/slackware-version
autofs-3.1.7
Parent - By LOE (Site/forum admin) Date 22.02.07 11:05
Учимся творчески мыслить!
Во-первых, старт-скрипт не такой уж большой, чтобы в нём было невозможно разобраться
Во-вторых, правится элементарно. Лови патч
--- rc.autofs.in  2000-11-04 10:05:18.000000000 +0300
+++ rc.autofs  2002-07-22 16:37:13.000000000 +0400
@@ -27,8 +27,8 @@
#
# Location of the automount daemon and the init directory
#
-DAEMON=@@sbindir@@/automount
-initdir=@@initdir@@
+DAEMON=/usr/sbin/automount
+initdir=

#
# Determine which kind of configuration we're using
@@ -38,14 +38,16 @@
     system=debian
elif [ -f /etc/redhat-release ]; then
     system=redhat
+elif [ -f /etc/slackware-version ]; then
+    system=slackware
else
     echo "$0: Unknown system, please port and contact autofs@linux.kernel.org" 1>&2
     exit 1
fi

-if [ $system = redhat ]; then
-    . $initdir/functions
-fi
+#if [ $system = redhat ]; then
+#    . $initdir/functions
+#fi

test -e $DAEMON || exit 0
thisscript="$0"
@@ -84,11 +86,11 @@
     map=`echo "/etc/$map" | sed -e 's:^/etc//:/:'`
     options=`echo "$options" | sed -e 's/\(^\|[ \t]\)-/\1/g'`
     if [ -x $map ]; then
-        echo "$DAEMON $dir program $map $options $localoptions"
+        echo "$DAEMON -t 180 $dir program $map $options $localoptions"
     elif [ -f $map ]; then
-        echo "$DAEMON $dir file $map $options $localoptions"
+        echo "$DAEMON -t 180 $dir file $map $options $localoptions"
     else
-        echo "$DAEMON $dir `basename $map` $options $localoptions"
+        echo "$DAEMON -t 180 $dir `basename $map` $options $localoptions"
     fi
       fi
   done
@@ -210,8 +212,9 @@
   do
     echo -n " $mnt"
     pidfile=/var/run/autofs`echo $mnt | sed 's/\//./'`.pid
-    start-stop-daemon --start --pidfile $pidfile --quiet \
-      --exec $DAEMON -- $mnt $rest
+#    start-stop-daemon --start --pidfile $pidfile --quiet \
+#      --exec $DAEMON -- $mnt $rest
+    $DAEMON $mnt $rest &
     #
     #  Automount needs a '--pidfile' or '-p' option.
     #  For now we look for the pid ourself.
@@ -260,6 +263,8 @@
   debian "$@"
elif [ $system = redhat ]; then
   redhat "$@"
+elif [ $system = slackware ]; then
+  redhat "$@"
fi

exit 0
(заодно аттачу файлом)

Attachment: autofs-1.3.7-rc.autofs.patch (1.9k)
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By MaxyS Date 22.02.07 15:18
Убей меня не понял как его патчить?...
Parent - By LOE (Site/forum admin) Date 22.02.07 22:54
man patch

Ну на крайняк - пробегись глазками и ручками вставь/исправь по приведенному патчу. Думаю, минуты на 2 работы ;-)
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By MaxyS Date 24.02.07 10:18
просто при команде patch он думаеть долго(бесконечно) и ниче не делаеть
Parent By LOE (Site/forum admin) Date 24.02.07 20:15
Из man patch:
NAME
       patch - apply a diff file to an original

SYNOPSIS
       patch [options] [originalfile [patchfile]]

       but usually just

       patch -pnum < patchfile
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By MaxyS Date 02.03.07 14:18
При запуске скрипта все каталоги в /am пропадають, диск маунтится тока када я создаю ентот каталог. При остановке все обратно появляется. Что такое?
Parent - By LOE (Site/forum admin) Date 02.03.07 20:44
Каталог /am изначально должен существовать и быть пустым (вернее, может быть не пустым, но содержимое полностью игнорируется)
После запуска автомаунтера - каталог остается пустым
Но когда делаешь, например:  cd /am/cdrom , т.е. попытаешься использовать фс ниже точки монтирования, то будет произведена попытка смонтировать нужное устройство в нужный каталог. В моем примере "таинственным" образом появится этот самый /am/cdrom :-) (конечно, если в приводе есть диск)

Т.е. после запуска автомаунтера, можно увидеть:
$ mount | grep automount

automount(pid9222) on /am type autofs (rw,fd=5,pgrp=9222,minproto=2,maxproto=3)
Это и есть точка дальнейшего автомонтирования.
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By MaxyS Date 03.03.07 08:39
Спасиб, работаеть. только он мне диск не отдаеть када на кнопочку нажимаю...
Parent - By LOE (Site/forum admin) Date 03.03.07 15:30
Естественно!
Когда CD монтируется, кнопка eject блокируется.
Жди когда диск авторазмонтируется (через заданное в автомаунтере время, при чем, диск не должен использоваться)
Или размонтируй вручную.

Советую еще посмотреть в сторону программки gkrellm - выводит кучу информации о компе/системе и позволяет задать кнопочки для монтирования/размонтирования устройств. Можно монтировать автомаунтером, а в gkrellm'е - размонтировать при срочной надобности.
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By Ilya Date 03.03.07 17:07
А я бы смотрел в сторону ivman :-)
Не понимаю зачем блокировать eject, она как раз и служит,
что бы изъять диск в случае срочной надобности

И зачем использовать gkrellm для размонтирования
если можно повесить на горячие клавиши скрипт
для размонтирования и извлечения диска
хотя для этой операции хватает eject :-)
Parent - By LOE (Site/forum admin) Date 03.03.07 19:36
Для срочного изъятия служит дырочка в драйве и скрепка :-)

gkrellm позволяет не только eject задействовать, но является программой отображения различных графиков.
Я вот лично постоянно использую. Так зачем мне городить огород, если я могу в одном месте настроить все необходимые функции.
Разумеется, высказываю совет. Каждый волен пойти своим путем.
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By Ilya Date 04.03.07 06:20
Для отображения всякой инфы я conky использую
IMHO более практичней
Parent By LOE (Site/forum admin) Date 04.03.07 17:15
Посмотрел - не понравился
Инфы много, но выводится неоптимально, занимает кучу места.
Я люблю компактный вывод, чтобы всё было "под рукой" - бросил взгляд и сразу охватил всю информацию, как в виде графиков, так и в виде цифр.
gkrellm в этом плане мне намного ближе.

Тем более, gkrellm может выводить инфу о другой машине, где запущен gkrellmd
Очень удобно отслеживать информацию о десятке машин на одном экране.
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By LOE (Site/forum admin) Date 04.03.07 20:45
Кстати, у меня conky некорректно работает с beryl'ом
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent By G0thic Date 06.03.07 11:40
Когда я его последний раз пробовал, то ужасно не понравилось, как там вывод организован.
Моих рук не хватило, чтобы обновление экрана было нормальным. Какие только варианты не перепробовал.
А место, да, занимает уйму и кнопочек (обратную связь) не нашел.
К тому же, если прикрутить к gkrellm snmp плагин, вообще можно все, что угодно выводить с любых удаленных серверов.
Когда кругозор человека сужается к минимуму, он называет это своей точкой зрения.
Parent - By MaxyS Date 04.03.07 20:53
И Все-таки кнопочка нуна, не один я за компом сижу.
А что скажете про supermount?
Parent - By LOE (Site/forum admin) Date 04.03.07 22:04
Кнопочка делается любым доступным средством (у меня - в gkrellm)
На кнопочку вешается команда:
sudo eject /mnt/cdrom
разумеется, этому пользователю необходимо разрешить использовать eject через sudo без ввода пароля.
Делается прописыванием строки типа:
user ALL=NOPASSWD: /usr/bin/eject
в файл /etc/sudoers
Можно, конечно, поставить suid бит на eject, но это дырочка в безопасности.

Про supermount: пробовал, но понравился меньше.
Он размонтирует устройство _сразу_ после его освобождения.
С одной стороны, можно тот-же cdrom выбросить сразу-же кнопкой (или извлечь флопик)
С другой - неимоверно накручивает счетчик монтирования ext[23] разделов. А их (некоторые) я тоже монтирую через автомаунтер.
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By G0thic Date 06.03.07 11:42
А как бы вот сделать, чтобы на нажатие кнопки на CD приводе, выполнялось sudo eject /mnt/cdrom?
;-)
Когда кругозор человека сужается к минимуму, он называет это своей точкой зрения.
Parent - By MaxyS Date 07.03.07 12:31 Edited 07.03.07 12:33
Кстати при супере насколько я помню нада ядро патчить потом собирать новое??
И eject не отдает диск если он используется(даже если просто каталог в mc открыт)
Да и еще,  супер корректно с флопом работает и усб флешкой
Parent - By LOE (Site/forum admin) Date 07.03.07 12:42

> Кстати при супере насколько я помню нада ядро патчить потом собирать новое??


хех, совсем не помню. вполне

> И eject не отдает диск если он используется(даже если просто каталог в mc открыт)


он же в mc открыт? - значит используется. вот и не работает размонтирование. все правильно
Ну можно поизвращаться, через fuser узнать кто использует cd, прибить всех "захватчиков" и размонтировать-выплюнуть :-)

>Да и еще,  супер корректно с флопом работает и усб флешкой


так он постоянно буфер скидывает, а значит, флэшка используется напрямую, вся буферизация насмарку и жить флэшке все меньше и меньше.
нет уж. пусть буфера скидываются когда ядру "будет виднее" или когда я нажму кнопку "размонтировать".
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By MaxyS Date 08.03.07 10:41
Вобщем поставил супермаунт, только появилась проблемка, нету русской кодировки...
none  /mnt/cdrom  supermount  /dev/cdrom,fs=auto,--,codepage=866,iocharset=cp1251,users       ---так не пашеть, диск задвигает, вроде делает вид что монтирует, а ниче нету...

FAT: Unrecognized mount option "fs=auto" or missing value
FAT: Unrecognized mount option "iocharset=cp1251" or missing value
udf: bad mount option "codepage=866" or missing value
VFS: Can't find an ext2 filesystem on dev hdc.
FAT: Unrecognized mount option "fs=auto" or missing value
FAT: Unrecognized mount option "iocharset=cp1251" or missing value
udf: bad mount option "codepage=866" or missing value
VFS: Can't find an ext2 filesystem on dev hdc.
FAT: Unrecognized mount option "fs=auto" or missing value
FAT: Unrecognized mount option "iocharset=cp1251" or missing value

Енто как понимать?

none  /mnt/cdrom  supermount  /dev/cdrom,fs=auto,users                                                              ---Так все ок
Parent By LOE (Site/forum admin) Date 08.03.07 17:59
Опция codepage для сд-ромов не существует - на нее и ругается:
udf: bad mount option "codepage=866" or missing value

Читай man mount на предмет опций для разных ФС
"No! Try not! Do. Or do not. There is no try." -- Yoda
Previous Next Up Topic Администрирование / Общее администрирование / Автоматическое монтирование (22977 hits)

Powered by mwForum 2.12.0 © 1999-2007 Markus Wichitill

Page created in 0.081s with 11 database queries.