[EMAIL PROTECTED] пишет: > ivman позволяет настроить реакцию системы на вставку/удаление > конкретного устройства, типа устройств. >
Попробовал поработать с ivman и нарвался на странность - флеша не монтируется сама. Содержимое /etc/ivman/IvmConfigActions.xml : <?xml version="1.0" encoding="UTF-8" ?> <ivm:ActionsConfig version="0.2" xmlns:ivm="http://www.eikke.com/ivm"> <ivm:Option name="checkOnInit" value="true" /> <ivm:Match name="ivm.mountable" value="true"> <ivm:Option name="mount" value="true" /> </ivm:Match> <ivm:Match name="hal.info.category" value="storage"> <ivm:Match name="hal.storage.bus" value="usb"> <!-- <ivm:Match name="hal.block.is_volume" value="true"> --> <ivm:Option name="mount" value="true" /> <ivm:Option name="exec" value="echo in >> /tmp/temp_log" /> <ivm:Option name="execun" value="echo out >> /tmp/temp_log" /> <!-- </ivm:Match> --> </ivm:Match> </ivm:Match> </ivm:ActionsConfig> С закоментированным блоком Match действия не выполняются вообще. Ниже приведу вывод lshal по поводу флеши. Содержимое /etc/ivman/IvmConfigBase.xml <?xml version="1.0" encoding="UTF-8"?> <ivm:BaseConfig version="0.2" xmlns:ivm="http://www.eikke.com/ivm"> <ivm:Option name="fork" value="true" /> <ivm:Option name="debug" value="false" /> <ivm:Option name="pidfile" value="/var/run/ivman/ivman.pid" /> <ivm:Option name="user" value="ivman" /> <ivm:Option name="group" value="plugdev" /> <ivm:Option name="mountcommand" value="pmount '$hal.block.device$'" /> <ivm:Option name="umountcommand" value="pumount '$hal.block.device$'" /> </ivm:BaseConfig> Файлы IvmConfigConditions.xml и IvmConfigProperties.xml я не трогал. При втыкании флешки в /var/log/messages попадает: Sep 1 06:19:14 station01 kernel: usb 6-2: USB disconnect, address 8 Sep 1 06:19:56 station01 kernel: usb 6-2: new high speed USB device using ehci_hcd and address 9 Sep 1 06:19:56 station01 kernel: usb 6-2: configuration #1 chosen from 1 choice Sep 1 06:19:56 station01 kernel: scsi11 : SCSI emulation for USB Mass Storage devices Sep 1 06:20:01 station01 kernel: Vendor: Easy Model: Disk Rev: 1100 Sep 1 06:20:01 station01 kernel: Type: Direct-Access ANSI SCSI revision: 00 Sep 1 06:20:01 station01 kernel: SCSI device sdb: 3963904 512-byte hdwr sectors (2030 MB) Sep 1 06:20:01 station01 kernel: sdb: Write Protect is off Sep 1 06:20:01 station01 kernel: SCSI device sdb: 3963904 512-byte hdwr sectors (2030 MB) Sep 1 06:20:01 station01 kernel: sdb: Write Protect is off Sep 1 06:20:01 station01 kernel: sdb: sdb1 Sep 1 06:20:01 station01 kernel: sd 11:0:0:0: Attached scsi removable disk sdb lshal про флеш говорит следующее: udi = '/org/freedesktop/Hal/devices/storage_serial_Easy_Disk_AA04012900007518' info.addons = {'hald-addon-storage'} (string list) block.storage_device = '/org/freedesktop/Hal/devices/storage_serial_Easy_Disk_AA04012900007518' (string) info.udi = '/org/freedesktop/Hal/devices/storage_serial_Easy_Disk_AA04012900007518' (string) storage.partitioning_scheme = 'mbr' (string) storage.removable.media_size = 2029518848 (0x78f80000) (uint64) storage.requires_eject = false (bool) storage.hotpluggable = true (bool) info.capabilities = {'storage', 'block'} (string list) info.category = 'storage' (string) info.product = 'Disk' (string) info.vendor = 'Easy' (string) storage.size = 0 (0x0) (uint64) storage.removable = true (bool) storage.removable.media_available = true (bool) storage.physical_device = '/org/freedesktop/Hal/devices/usb_device_90c_1000_AA04012900007518_if0' (string) storage.lun = 0 (0x0) (int) storage.firmware_version = '1100' (string) storage.serial = 'Easy_Disk_AA04012900007518' (string) storage.vendor = 'Easy' (string) storage.model = 'Disk' (string) storage.drive_type = 'disk' (string) storage.automount_enabled_hint = true (bool) storage.media_check_enabled = true (bool) storage.no_partitions_hint = false (bool) storage.bus = 'usb' (string) block.is_volume = false (bool) block.minor = 16 (0x10) (int) block.major = 8 (0x8) (int) block.device = '/dev/sdb' (string) linux.hotplug_type = 3 (0x3) (int) info.parent = '/org/freedesktop/Hal/devices/usb_device_90c_1000_AA04012900007518_if0_scsi_host_scsi_device_lun0' (string) linux.sysfs_path_device = '/sys/block/sdb' (string) linux.sysfs_path = '/sys/block/sdb' (string) udi = '/org/freedesktop/Hal/devices/volume_uuid_4C2F_F9CD' volume.unmount.valid_options = {'lazy'} (string list) volume.mount.valid_options = {'ro', 'sync', 'dirsync', 'noatime', 'nodiratime', 'noexec', 'quiet', 'remount', 'exec', 'utf8', 'shortname=', 'codepage=', 'iocharset=', 'umask=', 'dmask=', 'fmask=', 'uid='} (string list) org.freedesktop.Hal.Device.Volume.method_execpaths = {'hal-storage-mount', 'hal-storage-unmount', 'hal-storage-eject'} (string list) org.freedesktop.Hal.Device.Volume.method_argnames = {'mount_point fstype extra_options', 'extra_options', 'extra_options'} (string list) org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'} (string list) org.freedesktop.Hal.Device.Volume.method_names = {'Mount', 'Unmount', 'Eject'} (string list) info.interfaces = {'org.freedesktop.Hal.Device.Volume'} (string list) volume.ignore = false (bool) info.udi = '/org/freedesktop/Hal/devices/volume_uuid_4C2F_F9CD' (string) volume.partition.flags = {'boot'} (string list) volume.partition.uuid = '' (string) volume.partition.label = '' (string) volume.partition.type = '0x0c' (string) volume.partition.scheme = 'mbr' (string) info.product = 'DSL' (string) volume.partition.media_size = 2029518848 (0x78f80000) (uint64) volume.partition.start = 32256 (0x7e00) (uint64) volume.size = 2029486592 (0x78f78200) (uint64) volume.num_blocks = 3963841 (0x3c7bc1) (int) volume.block_size = 512 (0x200) (int) volume.partition.number = 1 (0x1) (int) info.capabilities = {'volume', 'block'} (string list) info.category = 'volume' (string) volume.is_partition = true (bool) volume.is_disc = false (bool) volume.linux.is_device_mapper = false (bool) volume.is_mounted_read_only = false (bool) volume.is_mounted = false (bool) volume.mount_point = '' (string) volume.label = 'DSL' (string) volume.uuid = '4C2F-F9CD' (string) volume.fsversion = 'FAT32' (string) volume.fsusage = 'filesystem' (string) volume.fstype = 'vfat' (string) storage.model = '' (string) block.storage_device = '/org/freedesktop/Hal/devices/storage_serial_Easy_Disk_AA04012900007518' (string) block.is_volume = true (bool) block.minor = 17 (0x11) (int) block.major = 8 (0x8) (int) block.device = '/dev/sdb1' (string) linux.hotplug_type = 3 (0x3) (int) info.parent = '/org/freedesktop/Hal/devices/storage_serial_Easy_Disk_AA04012900007518' (string) linux.sysfs_path_device = '/sys/block/sdb/sdb1' (string) linux.sysfs_path = '/sys/block/sdb/sdb1' (string) Ясно видно что один из блоков про флеш вообще, а второй про раздел на этой влеше. Выше я приводил пример про hal.block.is_volume который отчегото не срабатывает. В результате втыкания влешки действия exec и execun отрабатывают, но флеш не монтируется. Но самое странное случилось когда я попытался заглянуть в дэбаг ivman командой ?ivman -d?. Среди прочего команда вывела: ... manager.c:977 (ivm_media_changed) Giving other programs a chance to mount... manager.c:988 (ivm_media_changed) Attempting to mount device /dev/sdb1 manager.c:768 (ivm_run_command) Running: pmount '/dev/sdb1' manager.c:1043 (ivm_media_changed) Device /dev/sdb1 is mounted at /media/sdb1 IvmConfig/IvmConfigCommon.c:157 (ivm_device_is_mountable) UDI /org/freedesktop/Hal/devices/volume_uuid_4C2F_F9CD is device /dev/sdb1 IvmConfig/IvmConfigCommon.c:312 (ivm_device_is_mountable) Won't try to mount device /dev/sdb1, as it is already mounted manager.c:825 (ivm_is_dvd) Checking for video DVD in device '/dev/sdb1' mounted at '/media/sdb1' manager.c:844 (ivm_is_dvd) /dev/sdb1 does not look like a video DVD IvmConfig/IvmConfigCommon.c:157 (ivm_device_is_mountable) UDI /org/freedesktop/Hal/devices/volume_uuid_4C2F_F9CD is device /dev/sdb1 IvmConfig/IvmConfigCommon.c:312 (ivm_device_is_mountable) Won't try to mount device /dev/sdb1, as it is already mounted IvmConfig/IvmConfigCommon.c:157 (ivm_device_is_mountable) UDI /org/freedesktop/Hal/devices/storage_serial_Easy_Disk_AA04012900007518 is device /dev/sdb IvmConfig/IvmConfigCommon.c:177 (ivm_device_is_mountable) Device /dev/sdb can't be mounted because it is not a volume manager.c:977 (ivm_media_changed) Giving other programs a chance to mount... manager.c:1004 (ivm_media_changed) /org/freedesktop/Hal/devices/storage_serial_Easy_Disk_AA04012900007518 wasn't mounted, by us or by others... IvmConfig/IvmConfigCommon.c:157 (ivm_device_is_mountable) UDI /org/freedesktop/Hal/devices/storage_serial_Easy_Disk_AA04012900007518 is device /dev/sdb IvmConfig/IvmConfigCommon.c:177 (ivm_device_is_mountable) Device /dev/sdb can't be mounted because it is not a volume manager.c:768 (ivm_run_command) Running: echo in >> /tmp/temp_log IvmConfig/IvmConfigCommon.c:157 (ivm_device_is_mountable) UDI /org/freedesktop/Hal/devices/storage_serial_Easy_Disk_AA04012900007518 is device /dev/sdb IvmConfig/IvmConfigCommon.c:177 (ivm_device_is_mountable) Device /dev/sdb can't be mounted because it is not a volume ... и т.д. При этом второй раз срабатывает команда exec и флешка таки монтируется в /media/sdb1. Как такую ситуацию правильно разруливать? -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]