[sisyphus] siefs + automount = проблемы
Aleksey Avdeev
=?iso-8859-1?q?solo_=CE=C1_solin=2Espb=2Eru?=
Чт Янв 29 13:31:50 MSK 2004
Canis Cerberus пишет:
> В сообщении от 28 Январь 2004 13:51 Aleksey Avdeev написал(a):
>
>>Здравствуйте.
>>
>> Столкнулся с проблемами при монтировании мобильника (Siemens
>>ME45 на комовском шнурке) с помощью automount.
>>
>> Монтирование через mount от root - без проблем (от
>>пользователя, когда загружен модуль fuse - тоже), но при
>>размонтировании:
>
> а смысл?
>
>
>>$ sudo umount /mnt/mobil/
>>Password:
>>[solo на solo solo]$ /usr/bin/fusermount: entry for /mnt/mobil not
>>found in /etc/mtab
>>
>>Симптом: зависание консоли при обращении к точки монтирования
>>"/mnt/auto/mobil". Разбор полётов показал что появляется второй
>>процесс automount.
>
> пусть себе живет с Богом, зачем убивать невинные процессы, грешно :-)))
>
>
>> (CD, USB-диск и флоп - монтируются нормально.)
>>
>>Как настроено и что видно (лог с 12 консоли - прилагаю):
>>
>>$ cat /etc/auto.tab
>>...
>>mobil -fstype=siefs,nohide,umask=007,gid=510,noexec,nosuid,sync
>>
>>:/dev/ttyS2
>>
>> Параметры после "-fstype=siefs" - картину не меняют (проверял).
>
> Нет вот тут ошибочка, батенька:-)
> Если убрать ",umask=007,gid=510" то у меня все РАБОТАЕТ, я тоже проверял.
Вот такая строка НЕ РАБОТАЕТ (её и проверял):
mobil -fstype=siefs :/dev/ttyS2
Может существенно, что у меня /dev/ttyS2?
>
> У меня строка в /etc/auto.tab выглядит так:
> "mobile -fstype=siefs,nohide,noexec,nosuid,sync :/dev/ttyS0", ну а если Вы
> все таки решили использовать autofs, то из /etc/fstab все касающееся autofs
> нужно стереть, уж не обезсудьте ;-)
Знаю. Обычно, достаточно добавить noauto. (Что, впрочем, в
данном случаи я забыл сделать... :-()
>
...
>>
>> Отмонтировать устройство можно только прибив проблемные процессы:
>
> а зачем его отмонтировать? я просто виртуальный терминал вырубаю и все:-))
Проверяю сейчас следующее:
/etc/auto.tab:
mobil -fstype=siefs,nohide,umask=007,gid=510,noexec,nosuid,sync
:/dev/ttyS2
/etc/fstab:
/dev/ttyS2 /mnt/mobil siefs
gid=510,umask=007,nohide,noexec,nosuid,sync,noauto 0 0
Устройстово неподмонтировано.
$ sudo service autfs restart
$ ls -l /mnt/mobil/auto/
(Где /mnt/mobil/auto/ -> mnt/auto/mobil/) повесает.
Убиваю терминала.
$ sudo service autofs stop
$ ps -ax|fgrep auto
12620 ? S 0:00 /usr/sbin/automount --timeout 2
/mnt/auto file /etc/a
uto.tab
12651 ? S 0:00 ls --color=auto -l /mnt/mobil/auto/
12652 ? S 0:00 /usr/sbin/automount --timeout 2
/mnt/auto file /etc/auto.tab
12772 pts/1 S 0:00 grep -F auto
[solo на solo solo]$ sudo umount /proc/fs/fuse/dev
Cannot create link /etc/mtab~
Perhaps there is a stale lock file?
$ mount
/dev/hda3 on / type reiserfs (rw,noatime)
proc on /proc type proc (rw,gid=19)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/hda1 on /boot type reiserfs (rw,noatime,notail)
/dev/lg1/1 on /home type reiserfs (rw,nosuid,noatime)
/dev/lg1/3 on /usr type reiserfs (rw,noatime)
/dev/lg1/4 on /var type reiserfs (rw,noatime)
/dev/lg1/2 on /var/cache/apt type reiserfs (rw,noexec,nodev)
usbdevfs on /proc/bus/usb type usbdevfs (rw)
automount(pid12620) on /mnt/auto type autofs
(rw,fd=5,pgrp=12620,minproto=2,maxp
roto=4)
/proc/fs/fuse/dev on /mnt/auto/mobil type fuse (rw,nosuid,nodev)
$ ls /etc/mtab*
/etc/mtab /etc/mtab~
И самое паршивое:
$ cat /proc/mounts
rootfs / rootfs rw 0 0
/dev/root / reiserfs rw,noatime 0 0
/proc /proc proc rw 0 0
devpts /dev/pts devpts rw 0 0
/dev/hda1 /boot reiserfs rw,noatime 0 0
/dev/lg1/1 /home reiserfs rw,noatime,nosuid 0 0
/dev/lg1/3 /usr reiserfs rw,noatime 0 0
/dev/lg1/4 /var reiserfs rw,noatime 0 0
/dev/lg1/2 /var/cache/apt reiserfs rw,nodev,noexec 0 0
usbdevfs /proc/bus/usb usbdevfs rw 0 0
automount(pid12620) /mnt/auto autofs rw 0 0
Вижу что вывод mount отличается от /proc/mounts по составу ФС
и осталось подмонтированой система automount...
Проверяю, и виже что ls продолжает висеть (при _убитом_
терменале) а automount`а - нет:
$ ps -ax|fgrep auto
12651 ? S 0:00 ls --color=auto -l /mnt/mobil/auto/
12851 ? S 0:00 /usr/bin/fusermount -u /mnt/auto/mobil
13071 pts/1 S 0:00 grep -F auto
Принимаю решение увить 12651 руками:
$ kill 12651
$ ps -ax|fgrep auto
12651 ? S 0:00 ls --color=auto -l /mnt/mobil/auto/
12851 ? S 0:00 /usr/bin/fusermount -u /mnt/auto/mobil
13917 pts/1 S 0:00 grep -F auto
$ kill -9 12651
$ ps -ax|fgrep auto
12851 ? S 0:00 /usr/bin/fusermount -u /mnt/auto/mobil
13931 pts/1 S 0:00 grep -F auto
Вроде убил...
/usr/bin/fusermount убивается только kill -9 от root
После всех этих опираций всё равно кто-то держит:
$ cat /proc/mounts
...
automount(pid12620) /mnt/auto autofs rw 0 0
Причём:
$ sudo lsmod
Module Size Used by Not tainted
parport_serial 4392 0 (autoclean) (unused)
parport_pc 25640 2 (autoclean) [parport_serial]
lp 6496 0 (autoclean)
parport 23072 2 (autoclean) [parport_pc lp]
autofs4 8244 1 (autoclean)
snd-pcm-oss 37668 0
snd-mixer-oss 11152 0 [snd-pcm-oss]
snd-es1938 11084 0
snd-pcm 56800 0 [snd-pcm-oss snd-es1938]
snd-opl3-lib 5476 0 [snd-es1938]
snd-hwdep 4192 0 [snd-opl3-lib]
snd-timer 13444 0 [snd-pcm snd-opl3-lib]
snd-mpu401-uart 2912 0 [snd-es1938]
snd-rawmidi 12320 0 [snd-mpu401-uart]
snd-seq-device 3744 0 [snd-opl3-lib snd-rawmidi]
snd 30660 0 [snd-pcm-oss snd-mixer-oss
snd-es1938 snd-pcm snd-opl3-lib snd-hwdep snd-timer
snd-mpu401-uart snd-rawmidi snd-seq-device]
soundcore 3684 6 [snd]
gameport 1660 0 [snd-es1938]
snd-page-alloc 5868 0 [snd-es1938 snd-pcm]
eepro100 18708 1 (autoclean)
mii 2576 0 (autoclean) [eepro100]
usb-uhci 21708 0 (unused)
usbcore 58464 1 [usb-uhci]
fuse 13176 0
agpgart 43108 0 (unused)
rtc 6172 0 (autoclean)
loop 8408 0 (autoclean)
lvm-mod 60160 9
reiserfs 177872 6
$ sudo rmmod autofs4
autofs4: Device or resource busy
Придётся перегрухаться: дисковая подсистема вешь серьёзная. И
когда они работает не предсказуемо...
> а потом правильно делаю запись в /etc/auto.tab, стираю хлам из /etc/fstab,
> перезапускаю сервис autofs и снова набираю "cd /mnt/auto/mobile" 8-)
>
>
...
>>
>> При этом процессы automount уже убиты, но избавится от
>>монтирования /mnt/auto удаётся только перезагрузкой.
>
> а вот это зря :-))
Знаю. :-( Но как по другому подчистить вывод mount - неумею
(все что знал - сделал). :-((
Буду рад, если научите.
>
>
>>$ cat /etc/fstab
>>/dev/hda3 / reiserfs async,noatime
>> 1 1
>>proc /proc proc gid=19
>> 0 0
>>devpts /dev/pts devpts gid=5,mode=620
>> 0 0
>>...
>>/dev/ttyS2 /mnt/mobil siefs
>>user,gid=510,umask=007,noexec,nosuid,sync 0 0
>
> выкинь запись из fstab в помойку -- она никому не нужна (тем более такая:)
> достаточно написать все правильно в /etc/auto.tab.
>
>
>> Что я не так настроил?
>
> см. выше
>
>
>>PS: Система - вчерашний Сизиф.
>
> Это хорошо, а также то что Вы так хорошо умеете задавать вопросы.
> Не пропустите, сегодня в Инкаминг отправилась SieFS-0.2-alt3 !
До Сизифа пока не добралась... Жду.
PS: Пока вернулся к варианту /etc/fstab
--
С уважением. Алексей.
Подробная информация о списке рассылки Sisyphus