jak na hotplug?

Ladislav Vaiz spam na nagano.cz
Čtvrtek Prosinec 9 17:03:09 CET 2004


>
> Kdybyste si precetl muj prvni mail, pak se dozvedel, ze neco takoveho
> jsem uz davno udelal (s tim rozdilem, ze jsem nenahrazoval cely
> hotplug, ale pekne slusne jsem upravil /etc/hotplug/usb.usermap
> a pridal vlastni skript do /etc/hotplug/usb/)

To byla prave ta chyba. Protoze takto odchytite jen udalosti 'usb',
zatimco informaci o blokovem zarizeni ne.
Viz cast vypisu one binarky:

argv[0]=='/home/ja/c/dummy/dummy'
argv[1]=='block'
env: HOME=/
env: PATH=/sbin:/bin:/usr/sbin:/usr/bin
env: ACTION=add
env: SEQNUM=812
env: DEVPATH=/block/sda/sda1

> No prave, ze se mi to ani pres nejlepsi snahu nepodarilo zjistit,
> jak z tech vsech parametru, ktere od hotplugu (resp. jadra)
> dostanu, ziskat zarizeni disku, ktere bych mohl primountovat...

Viz vyse.

> Skript v /etc/hotplug/usb/ neni korektni reseni?

Ne. Muj /sbin/hotplug vypada asi takto:

DIR="/etc/hotplug.d"
for I in "${DIR}/$1/"*.hotplug "${DIR}/"default/*.hotplug ; do
        test -x "$I" && "$I" "$1"
done
exit 0

Bud musite vytvorit /etc/hotplug.d/block/neco.hotplug nebo
/etc/hotplug.d/default/*.hotplug

> Jediny co chci, je vyhnout se tomu nesmyslu 'kudzu' (proste
> program, ktery se tvari, jak strasne neni chytry a pritom
> cloveku "automaticky" zapleveli konfiguraky a nadela paseku
> v systemu u me proste nema co delat).

Tak abyste o me netvrdil, ze jsem na vas osklivej, tak tady mate skriptik
odladeny na Debian Sarge:

#!/bin/bash
#file /etc/hotplug.d/default/storage.hotplug
if [ ! $ACTION = "add" ]; then exit 0; fi
if [ ! $1 = "block" ]; then exit 0; fi
DEV=`echo $DEVPATH|grep 'sd.[0-9]'|sed 's/\(.*\/\)//'`
if [ -z "$DEV" ]; then exit 0;fi
logger mounting $DEV
mount /dev/$DEV /mnt/usbdisk
exit 0

La'd"a


Další informace o konferenci Linux