Сайт | Скачать | Видео | Wiki

Автор Тема: автоматическое монтирование сетевых дисков  (Прочитано 23990 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн darkduck

  • Пользователь
  • **
  • Сообщений: 49
  • Репутация: +1/-0
  • Автор темы
    • Домашняя страница
имеется: сетевой диск, подключенный к роутеру
задача:
1) автоматически монтировать диск при загрузке
2) играть музыку (MP3) с этого диска.

Создал и положил в Startup скрипт примерно следующего содержания:
Код
mkdir /mnt/fnd
mount -t cifs //fnd/public /mnt/fnd -o...

К сожалению, автоматическое монтирование диска у меня не происходит. Насколько я понимаю, возможная причина - физически сеть "поднимается" после исполнения скрипта. Дальнейший поиск в интернете (и на Мурге) привел к расширению скрипта. Теперь он выглядит так:
Код
#!/bin/sh 
# Sample code to poll net-interface readiness
while [ -z "`ifconfig | grep 'eth0'`" ]
do
  sleep 1
done

mkdir /mnt/fnd
mount -t cifs //fnd/public /mnt/fnd -o guest,nolinux,iocharset=utf8

Но все равно не работает. 8-(
При этом так же самая команда mount, выполненная в консоли, все монтирует ОК.
В чем может быть проблема? Как научить Puppy автоматически монтировать сетевые диски?

Дальнейшая проблема уже с подключенным диском. На нем есть куча музыки. По щелчку на него в файл-менеджере открывается стандартный плеер. И все. Висит. Ничего не играет. Та же ситуация при открытии файла вручную через MPlayer. Те же самые файлы, скопированные на локальный диск, играют без проблем.
У кого-то было подобное? Какие возможности "лечения"?

PS. У меня Puppy 5.1.1, не Папирус. Прошу ногами не пинать.
Мой блог про эксперименты с Пингвином: http://linuxblog.darkduck.com

Бесплатный e-mail @darkduck.com?
Обращайтесь, не стестняйтесь!

Оффлайн Nikolay Boldyrev

  • Николай
  • Старожил
  • ****
  • Сообщений: 231
  • Репутация: +4/-0
  • Николай
Re: автоматическое монтирование сетевых дисков
« Ответ #1 : 20 Сентябрь 2010, 23:30:35 »
Я на работе подмонтирую несколько сетевых дисков и использую cifs, команды записываю в rc.local
Если до завтра потребность не пропадет, то я на работе выложу свои команды. ;)
PS: Правда я ни чего с них автоматом не запускаю, но это, мне кажется не очень сложно реализовать.
С уважением, Болдырев Николай.

Оффлайн darkduck

  • Пользователь
  • **
  • Сообщений: 49
  • Репутация: +1/-0
  • Автор темы
    • Домашняя страница
Re: автоматическое монтирование сетевых дисков
« Ответ #2 : 21 Сентябрь 2010, 02:23:04 »
Николай!
Буду очень признателен! :)

Кстати, уже сообразил, что мне надо запускать скрипт с wlan0, а не eth0, т.к. сеть у меня беспроводная. Но это изменение ни к чему не привело.  :(

Автоматически запускать с диска мне ничего не надо. Прошу прощения, если неправильно выразился. Мне его автоматически надо подмонтировать. А потом я уже сам запущу с него все что надо. Вот только музыка почему-то с него играть не хочет. :(
« Последнее редактирование: 21 Сентябрь 2010, 02:26:31 от darkduck »
Мой блог про эксперименты с Пингвином: http://linuxblog.darkduck.com

Бесплатный e-mail @darkduck.com?
Обращайтесь, не стестняйтесь!

Оффлайн melviX

  • Инициатор проекта
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2096
  • Репутация: +97/-0
    • PuppyRus Linux
Re: автоматическое монтирование сетевых дисков
« Ответ #3 : 21 Сентябрь 2010, 08:57:56 »
Те же самые файлы, скопированные на локальный диск, играют без проблем.
А если ссылку сделать только на те файлы (на весь каталог может)? И запускать по клику на ссылку.
Free software for free people

Оффлайн Nikolay Boldyrev

  • Николай
  • Старожил
  • ****
  • Сообщений: 231
  • Репутация: +4/-0
  • Николай
Re: автоматическое монтирование сетевых дисков
« Ответ #4 : 21 Сентябрь 2010, 09:19:52 »
Вот такие строчки я добавляю в /etc/rc.d/rc.local
Код
mount.cifs //192.168.74.1/gto /mnt/network/nik_bakscup -o rw,username=логин,password=пароль,iocharset=utf8,file_mode=0666,dir_mode=0777,uid=500,gid=500
mount.cifs //192.168.74.2/gto /mnt/network/gto_keeper -o rw,username=логин,password=пароль,iocharset=utf8,file_mode=0666,dir_mode=0777,uid=500,gid=500
mount.cifs //192.168.74.21/Programers /mnt/network/prog_on_prog2 -o rw,username=логин,password=пароль,iocharset=utf8,file_mode=0666,dir_mode=0777,uid=500,gid=500
mount.cifs //192.168.74.2/common /mnt/network/common -o rw,username=логин,password=пароль,iocharset=utf8,file_mode=0666,dir_mode=0777,uid=500,gid=500
mount.cifs //192.168.74.1/cinema /mnt/network/cinema_haker -o rw,username=логин,password=пароль,iocharset=utf8,file_mode=0666,dir_mode=0777,uid=500,gid=500
Логин и пароль надо испоьзовать те, которые у Вас на том сервере, диски с которого Вы подключаете.
С уважением, Болдырев Николай.

Оффлайн darkduck

  • Пользователь
  • **
  • Сообщений: 49
  • Репутация: +1/-0
  • Автор темы
    • Домашняя страница
Re: автоматическое монтирование сетевых дисков
« Ответ #5 : 21 Сентябрь 2010, 14:48:38 »
Николай, как я понимаю Ваш метод подключения кардинально отличается от моего только местом, в котором прописывается подключение: rc.local вместо скрипта в Startup. Остальные параметры подключения (логин, пароль, кодовые страницы итд), на мой взгляд, непринципиальны.
Я так понимаю, в моем случае подключение сетевых дисков не происходит потому, что к моменту исполнения скрипта в Startup сеть еще не работает. Поэтому скрипт отрабатывает вхолостую. Повторю, что абсолютно та же команда (или скрипт целиком), испольненная после загрузки, нормально подключает сетевой диск.
Вы уверены, что к моменту испольнения rc.local сеть (в моем случае wifi) уже поднята и работает? Что произойдет, если сеть еще не поднята? Puppy будет пробовать до тех пор, пока не появится соединение, или попробует и бросит, как происходит в случае Startup?
Мой блог про эксперименты с Пингвином: http://linuxblog.darkduck.com

Бесплатный e-mail @darkduck.com?
Обращайтесь, не стестняйтесь!

Оффлайн Nikolay Boldyrev

  • Николай
  • Старожил
  • ****
  • Сообщений: 231
  • Репутация: +4/-0
  • Николай
Re: автоматическое монтирование сетевых дисков
« Ответ #6 : 21 Сентябрь 2010, 15:05:00 »
Puppy будет пробовать до тех пор, пока не появится соединение, или попробует и бросит, как происходит в случае Startup?
Я ответ точно не знаю, но мне кажется, что команда выполняется один раз.
С уважением, Болдырев Николай.

Оффлайн Hatch

  • Старожил
  • ****
  • Сообщений: 229
  • Репутация: +2/-0
Re: автоматическое монтирование сетевых дисков
« Ответ #7 : 21 Сентябрь 2010, 16:54:30 »
darkduck, не могу понять- сеть у вас как поднимается?

Оффлайн darkduck

  • Пользователь
  • **
  • Сообщений: 49
  • Репутация: +1/-0
  • Автор темы
    • Домашняя страница
Re: автоматическое монтирование сетевых ди
« Ответ #8 : 21 Сентябрь 2010, 17:19:20 »
darkduck, не могу понять- сеть у вас как поднимается?
При первой загрузке Puppy он показал мне окошко с возможными настройками, в том числе для сети. Я выбрал там wlan0, свой роутер, ввел WPA-ключ. Всё. Сеть ожила.

Теперь при загрузке быстро мелькает строчка про network... backgrounded.

Подключение происходит автоматически.
« Последнее редактирование: 21 Сентябрь 2010, 17:21:06 от darkduck »
Мой блог про эксперименты с Пингвином: http://linuxblog.darkduck.com

Бесплатный e-mail @darkduck.com?
Обращайтесь, не стестняйтесь!

Оффлайн Hatch

  • Старожил
  • ****
  • Сообщений: 229
  • Репутация: +2/-0
Re: автоматическое монтирование сетевых дисков
« Ответ #9 : 21 Сентябрь 2010, 19:29:23 »
darkduck попробуйте вот такую конструкцию
Код
#!/bin/sh
until ifconfig | grep 'ppp0'
do ifconfig | grep 'ppp0'
done
xine
Сваял на скорую руку, так что не судите строго ;)
В моём случае скрипт ожидает поднятия интерфейса pppp0 и после его подключения запускает...  :D Xine
В вашем случае меняете интерфейс и исполняемый механизм, должно получиться  ;). Удачи .

Оффлайн darkduck

  • Пользователь
  • **
  • Сообщений: 49
  • Репутация: +1/-0
  • Автор темы
    • Домашняя страница
Re: автоматическое монтирование сетевых дисков
« Ответ #10 : 21 Сентябрь 2010, 19:37:42 »
Hatch, спасибо!
Правильно ли я понимаю, что в моем случае (wifi-соединение и монтирование диска) скрипт должен быть примерно таким:

Код
#!/bin/sh
until ifconfig | grep 'wlan0'
do ifconfig | grep 'wlan0'
done

mkdir -t /mnt/fnd
mount -t cifs //fnd/public /mnt/fnd -o guest,nolinux,iocharset=utf8

Прошу прощения за такой глупый вопрос, но попробовать я смогу только часов через 7-8, и к тому времени Вы наверняка уже не сможете быстро ответить.
Мой блог про эксперименты с Пингвином: http://linuxblog.darkduck.com

Бесплатный e-mail @darkduck.com?
Обращайтесь, не стестняйтесь!

Оффлайн Hatch

  • Старожил
  • ****
  • Сообщений: 229
  • Репутация: +2/-0
Re: автоматическое монтирование сетевых дисков
« Ответ #11 : 21 Сентябрь 2010, 22:50:21 »
 Вскрытие...Т.е. практика ;D покажет.
 По моей задумке скрипт так и должен выглядеть, просто я привел конкретный, рабочий , хотя и бессмысленный, с практической точки зрения, пример. Так что да, вы поняли меня верно. Сам проверить не могу, так как ни wi-fi, ни сетевого диска не имею.
 "Спасибо" будет когда всё заработает  ;)

Оффлайн darkduck

  • Пользователь
  • **
  • Сообщений: 49
  • Репутация: +1/-0
  • Автор темы
    • Домашняя страница
Re: автоматическое монтирование сетевых дисков
« Ответ #12 : 22 Сентябрь 2010, 02:22:14 »
Вскрытие показало, что пациент скорее мертв, чем жив.  ;D :(
Скрипт отработал, т.к. по Вашему примеру я поставил в конце него запуск существующей программы, и она запустилась.
Диск не смонтировался.
Мой блог про эксперименты с Пингвином: http://linuxblog.darkduck.com

Бесплатный e-mail @darkduck.com?
Обращайтесь, не стестняйтесь!

Оффлайн Lexeii

  • Почетный участник
  • Постоялец
  • *
  • Сообщений: 147
  • Репутация: +24/-0
    • блог Lexeii
Re: автоматическое монтирование сетевых дисков
« Ответ #13 : 22 Сентябрь 2010, 04:00:19 »
А, случаем, ifconfig на iwconfig менять не надо? Попробуй.

И как-то сомнительно выглядит тело цикла:
Код
until ifconfig | grep 'wlan0'
do ifconfig | grep 'wlan0'
done
Попробуй лучше
Код
until iwconfig | grep 'wlan0'
do
  sleep 1
done

Или же просто измени одну букву из своего скрипта, описанного в первом посте.
Linux is user friendly... It's just picky about who it  becomes friends with.

Оффлайн Hatch

  • Старожил
  • ****
  • Сообщений: 229
  • Репутация: +2/-0
Re: автоматическое монтирование сетевых дисков
« Ответ #14 : 22 Сентябрь 2010, 11:01:20 »
Скрипт отработал, т.к. по Вашему примеру я поставил в конце него запуск существующей программы, и она запустилась.
Диск не смонтировался.
Я бы в такой ситуации разнес задачу на два скрипта: а) скрипт с моим примером; б) скрипт монтирования диска. Т.е. скрипт а) отрабатывает и запускает вместо "существующей программы" срипт б) который и делает своё темное дело. Только путь до скрипта б) прописывать либо полным, либо расположи его в стандартную папку ($PATH- в консоле)
А, случаем, ifconfig на iwconfig менять не надо?
Lexeii, а что делает iwconfig?
И как-то сомнительно выглядит тело цикла
Не суди строго :) В данной ситуации не так важно что пишется в теле цикла, вот и вписал, первое что смог придумать :) Но абсолютно согласен, что sleep 1 гораздо лучше.