LINUX.ORG.RU

USB Mount Daemon


0

0

Доброго времени суток.

Решил похвастатся своим последним идиотизмом (для тех кто в танке: хвастаюсь не шрифтами :)). У меня внешний USB диск на котором лежат все важные данные типа музики и т.д. чтоб его монтировать в Xfce есть неплохая фишка которую можно наблюдать слева снизу. Но как сказал некто "Лень - двигатель прогресса!" Я потратил 15 минут времени чтобы освоить bash и накатал скриптик который смотрит ежели я включил внешний диск и сам его маунтит. Поведение похоже на оффтопик, но позволяет отмантировать и примантировать диск руками. Скрипт я выложу в следующем посту.

Про систему: Dell Inspiron 8600 с Pentium M 1.5 GHz 512 MB RAM, 60 GB 7200 RPM Hitachi Travelstar, и т.д. Все работает включая Suspend to RAM и PCMCIA безпроводую карточку. Система Gentoo с диска 2006.0 скомпилирована gcc 3.4.5-r1 с ntpl и т.д.

В правом верхнем углу сливает апдейти к portage третий пень с кучей мелких дисков и переферии. Он мой сервер принтеров и rsync. Также помогает компилить через distcc.

Пинайте. Всем привет!

>>> Просмотр (1680x1050, 292 Kb)



Проверено: Shaman007 ()

Э... Друг... Ты часом не пробовал прописать в /etc/fstab строку следующего содержания:

LABEL=extern_data /home/extern_data ext3 defaults,noauto 0 1

После этого "скрипт монтирования" выглядит примерно так:

mount /home/extern_data

А еще одна страшная тайна - если написать опции defaults,user,noauto - то тебе даже рута не понадобится :-)

no-dashi ★★★★★
()
Ответ на: комментарий от no-dashi

Только понятно, что перед этим надо будет сделать tune2fs -L extern_data /dev/sda1. Кстати да - твои старания заслуживают уважения. А что не в курсе стандартного решения - так это нормально. Мы все достаточно регулярно изобретаем велосипеды :-)

no-dashi ★★★★★
()

Только зачем ты из Xfce4 гнум сделал? ;)

AsphyX ★★★
()

"Наши велосипеды - самые велосипедистые велосипеды в мире!"

=)

респект, я сам раньше такой фигней маялсо

geek ★★★
()
Ответ на: комментарий от Toxa

>баян.... у меня и так все флешки автоматом маунтятся. зачем велосипед изобретать?

когда hal'ов всяких не было - приходилось выдумывать =)

geek ★★★
()

Krechet,класс! Так держать! Всё сделал,всё настроил (даже DistСС),и шрифтами тоже можно похвастаться :) И на счёт "велосипеда" - ИМХО лучше изобретать велосипеды,чем вообще ничего не изобретать.Krechet,РЕСПЕКТ!

anonymous
()

А 4то amd в Линаксе нету? Отменили или небыло?

ansi ★★★★
()
Ответ на: комментарий от Toxa

> у меня и так все флешки автоматом маунтятся

А у меня ни один подключаемый сторадж автоматом не манутится. И это сделано специально. И что?

no-dashi ★★★★★
()

>Я потратил 15 минут времени чтобы освоить bash

Хорошо, когда думалка работает. Я вот осваивал бы bash неделю, а потом бы ТАКОЕ написал ))) ... что лучше бы и не писал.

По поводу скрина. Приятные шрифты, приятные цвета ))) Всё замечательно. Правда, обоина лично меня бы немного напрягала, но тут каждому своё.

Umart
()

нафига?
автомонтирование USB девайсов прекрасно делается через udev

BUS=="usb", SYSFS{product}=="Zen Nano Plus", KERNEL=="sd?1", NAME="k", SYMLINK+="zen", RUN+="/bin/mount /dev/zen"

blind
()
Ответ на: комментарий от blind

>>Ужос! что за *.doc в ~???

Не мой док. Подруги моей. А у нее от профа, они тут только доками.

>>По поводу скрина. Приятные шрифты, приятные цвета ))) Всё замечательно. Правда, обоина лично меня бы немного напрягала, но тут каждому своё.

Спасыба :)

>>нафига? >>автомонтирование USB девайсов прекрасно делается через udev

>>BUS=="usb", SYSFS{product}=="Zen Nano Plus", KERNEL=="sd?1", NAME="k", SYMLINK+="zen", RUN+="/bin/mount /dev/zen"

Блин правда? :( Вот значит потерял 15 минут. Ну ладно хоть баш подучил. Вот собственно скрипт если кому все же надо. Я его стартую через /etc/conf.d/local.start

#!/bin/bash

export DISK_NAME=usbdrivewd export SLEEP_TIME=1 export CONTROL_FILE=/tmp/usbmountdaemon

echo 1 > $CONTROL_FILE

while [ 1 > 0 ]; do x=`ls /dev | grep -c $DISK_NAME` y=`df | grep -c $DISK_NAME` z=`cat $CONTROL_FILE`

if [ $x = 1 ] && [ $y = 0 ] && [ $z = 1 ]; then sudo mount /mnt/$DISK_NAME echo 2 > $CONTROL_FILE elif [ $x = 0 ] && [ $z = 2 ]; then echo 1 > $CONTROL_FILE fi

if [ $z = 3 ]; then exit fi sleep $SLEEP_TIME done

Krechet
() автор топика
Ответ на: комментарий от Krechet

и еще раз с переводами каретки:

>>Ужос! что за *.doc в ~???

Не мой док. Подруги моей. А у нее от профа, они тут только доками.

>>По поводу скрина. Приятные шрифты, приятные цвета ))) Всё замечательно. Правда, обоина лично меня бы немного напрягала, но тут каждому своё.

Спасыба :)

>>нафига?
>>автомонтирование USB девайсов прекрасно делается через udev

>>BUS=="usb", SYSFS{product}=="Zen Nano Plus", KERNEL=="sd?1", NAME="k", SYMLINK+="zen", RUN+="/bin/mount /dev/zen"

Блин правда? :( Вот значит потерял 15 минут. Ну ладно хоть баш подучил. Вот собственно скрипт если кому все же надо. Я его стартую через /etc/conf.d/local.start


#!/bin/bash

export DISK_NAME=usbdrivewd
export SLEEP_TIME=1
export CONTROL_FILE=/tmp/usbmountdaemon

echo 1 > $CONTROL_FILE

while [ 1 > 0 ]; do

x=`ls /dev | grep -c $DISK_NAME`
y=`df | grep -c $DISK_NAME`
z=`cat $CONTROL_FILE`

if [ $x = 1 ] && [ $y = 0 ] && [ $z = 1 ]; then
sudo mount /mnt/$DISK_NAME
echo 2 > $CONTROL_FILE
elif [ $x = 0 ] && [ $z = 2 ]; then
echo 1 > $CONTROL_FILE
fi

if [ $z = 3 ]; then
exit
fi

sleep $SLEEP_TIME
done

Krechet
() автор топика
Ответ на: комментарий от Krechet

Хорошая задумка. Мне полезно было прочтитать, а то иногда думаешь, как бы сделать - а тут всё просто, как 2*2. Спасибо, прочтал, просветился.

anonymous
()
Ответ на: комментарий от Krechet

> Ну ладно хоть баш подучил. Вот собственно скрипт если кому все же надо.

Гадость какая, чесслово. Активный опрос данных каждую секунду... В общем, стремление к изучению shell весьма похвально, но вы уж, пожалуйста, отправьте этот скрипт в /dev/null и пользуйтесь теми же средствами автомаунта, что и все остальные люди.

Ну и, если позволите, пара замечаний по стилю: "[ 1 > 0 ]" лучше заменить на true; x,y,z обозвать более наглядно; `` в целях повышения читабельности заменить на $().

Relan ★★★★★
()
Ответ на: комментарий от Relan

>>Ну и, если позволите, пара замечаний по стилю: "[ 1 > 0 ]" лучше заменить на true; x,y,z обозвать более наглядно; `` в целях повышения читабельности заменить на $().

спасибо, учту.

Уже поменял правила в udev чтоб с RUN+=".... хак он конечно хак и есть.

Krechet
() автор топика
Ответ на: комментарий от blind

Угу. Только вот флешки обычно выглядят как /dev/sdX1, zip - как /dev/sdX4, внешний хард - как хочет, так и выглядит, а ещё иногда у меня вставляется одновременно зип, флешка и фотоаппарат, и временами система не отпускает /dev/sde и создаёт дальше /dev/sdf, /dev/sdg и т.п., не говоря уже о том, что ко мне могут прийти с левой флешкой, и я ПОНЯТИЯ НЕ ИМЕЮ, какой она там SYSFS{product}! Блин, неужели за столько времени нельзя научиться монтировать девайсы? Винда их с рождения монтирует :(

Xellos ★★★★★
()
Ответ на: комментарий от Krechet

$() это башизм, на других интерпретаторах не будет работать

anonymous
()
Ответ на: комментарий от Xellos

нормальные дистрибутивы тоже с рождения монтируют флешки (да и вообще поднимают оборудование плаг-н-плей без необходимости искать дрова), потому что в них udev+hal+[insert your favourite volume manager here] уже настроен из коробки

anonymous
()
Ответ на: комментарий от gene

>>Привет MA из NY! :-)

Здарова! Вообще я из CT а в MA я в универе.

>>Расскажи, как ты suspend настраивал. Или кинь ссылку. У меня inspiron 2200.

Суспенд работает почти из коробки. Кернел у меня 2.6.15-gentoo-r7 но и на более старых работало. Не работал только экран: он после суспенда не включасля (и похоже вешал всю систему). Решение я нашел в Ubuntu 5.04 LiveCD. Там все работало из коробки включая экран. Секрет был в vbetool из sys-app/vbetool. Вот скрипт который я использую:

#!/bin/bash

CONSOLE=`fgconsole`
chvt 12
VBESTATE=`tempfile`

vbetool vbestate save > $VBESTATE &&
vbetool dpms off &&
echo -n mem > /sys/power/state &&
vbetool dpms on &&
vbetool vbestate restore < $VBESTATE
chvt $CONSOLE

Этот скрипт вызывается по нажатию кнопки Fn+Esc из acpid.

Если есть еще вопросы пиши. Удачи!

Krechet
() автор топика
Ответ на: комментарий от anonymous

С рождения монтирует всё только винда. Про "нормальные дитрибутивы" я слышу неоднократно, создаётся впечатление что там тоже как в винде - всё работает волшебным образом при произнесении заклинания "искароппки". Я хочу знать, как это настроить, потому что заклинание "искароппки" работает не всегда хорошо, что видно на примере винды. Пытался подружить со своим компом ivman, который якобы делает всё, разве что кофе не варит - не дружится. Гентушники страшно горды тем, что у них в генте ivman пропатчен на обработку заклинания "искароппки", поэтому документация по ivman не нужна. Убунтовцы или шапочники ещё более горды тем, что знают единственное слово, необходимое для настройки системы - "искароппки", сусеры знают два слова - "искароппки" и "яст".

А после этого появляется человек, который спрашивает "как мне в убунте поставить все пакеты с диска".

Xellos ★★★★★
()

а про automount слышали? autofs его еще называют...

anonymous
()
Ответ на: комментарий от Xellos

С hal все работает из коробки (usb flash, usb hdd, что угодно). Опробовано необнократно и применяется. Это у товарищей что-то не так с ручками.

Zulu ★★☆☆
()

Вот что бывает, когда люди не знают о pmount

AP ★★★★★
()
Ответ на: комментарий от Zulu

В Suse 10 из коробки все монтировалось и отмонтировалось на ура без вмешательства в конфиге. Вот что нужно новичкам :) за это дело отвечает Haldaemon.

MikeDM ★★★★★
()
Ответ на: комментарий от MikeDM

я чтоб в гинту настроить долго колбастлся. udev+hal+ivman+coldplug+dbus + подправить fstab. жуть :(

anonymous
()
Ответ на: комментарий от Zulu

> С hal все работает из коробки (usb flash, usb hdd, что угодно). Опробовано необнократно и применяется.

Где бы ПРО ЭТО почитать. В виде русскоязычного HOWTO желательно.

anonymous
()
Ответ на: комментарий от anonymous

В хухле нашел. Я с этого семестра тоже грести начал (сидим все в восмером и орем гребибля-гребубля). Подъем в 5 утра и вперед.

Krechet
() автор топика
Ответ на: комментарий от Krechet

дык странно. Обычно это 2 человека, а не 8 :) А на счёт гребли, надо стараться получать от этого удовольствие :) хоть маааленькое

anonymous
()
Ответ на: комментарий от anonymous

У нас по 4 или 8. Есть одна одиночка но ее нам не доют (тут вода 1-3 градуса сейчас). А удовольствее есть: просто подем ну очен уж рано :).

Krechet
() автор топика
Ответ на: комментарий от Zulu

Ну вот опять волшебное заклинание "искароппки". Нихрена у меня искароппки не работает! Девайсы создаются, но не более того.

Xellos ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.