我目前正在运行SME服务器,并需要有一个脚本运行在SD卡附件到我的服务器。 脚本本身工作正常(它复制卡的内容),但脚本的自动挂载和执行是我遇到的问题。
我有一个由10个USB端口组成的USB集线器; 显示为:
[root@server ~]# lsusb Bus 004 Device 002: ID 0000:0000 Bus 004 Device 001: ID 0000:0000 Bus 003 Device 001: ID 0000:0000 Bus 002 Device 001: ID 0000:0000 Bus 001 Device 055: ID 1a40:0101 TERMINUS TECHNOLOGY INC. Bus 001 Device 051: ID 1a40:0101 TERMINUS TECHNOLOGY INC. Bus 001 Device 050: ID 1a40:0101 TERMINUS TECHNOLOGY INC. Bus 001 Device 001: ID 0000:0000
(集线器是TERMINUS TECHNOLOGY INC的条目)
由于我无法直接将SD卡插入服务器, 我使用USB到SD卡的连接(其中10个)插入集线器读取卡。 将10个附件(没有卡)插入集线器中; lsusb产生以下结果:
[root@server ~]# lsusb Bus 004 Device 002: ID 0000:0000 Bus 004 Device 001: ID 0000:0000 Bus 003 Device 001: ID 0000:0000 Bus 002 Device 001: ID 0000:0000 Bus 001 Device 073: ID 05e3:0723 Genesys Logic, Inc. Bus 001 Device 072: ID 05e3:0723 Genesys Logic, Inc. Bus 001 Device 071: ID 05e3:0723 Genesys Logic, Inc. Bus 001 Device 070: ID 05e3:0723 Genesys Logic, Inc. Bus 001 Device 069: ID 05e3:0723 Genesys Logic, Inc. Bus 001 Device 068: ID 05e3:0723 Genesys Logic, Inc. Bus 001 Device 067: ID 05e3:0723 Genesys Logic, Inc. Bus 001 Device 066: ID 05e3:0723 Genesys Logic, Inc. Bus 001 Device 065: ID 05e3:0723 Genesys Logic, Inc. Bus 001 Device 064: ID 05e3:0723 Genesys Logic, Inc. Bus 001 Device 055: ID 1a40:0101 TERMINUS TECHNOLOGY INC. Bus 001 Device 051: ID 1a40:0101 TERMINUS TECHNOLOGY INC. Bus 001 Device 050: ID 1a40:0101 TERMINUS TECHNOLOGY INC. Bus 001 Device 001: ID 0000:0000
如您所见,读者是“Gensys Logic,Inc”条目。
将SD卡插入读卡器不会影响lsusb(它的读取方式与上述完全相同),但是我的系统可以识别卡片; 如dmesg所示:
Attached scsi generic sg11 at scsi54, channel 0, id 0, lun 0, type 0 USB Mass Storage device found at 73 SCSI device sdd: 31388672 512-byte hdwr sectors (16071 MB) sdd: Write Protect is on sdd: Mode Sense: 03 00 80 00 sdd: assuming drive cache: write through SCSI device sdd: 31388672 512-byte hdwr sectors (16071 MB) sdd: Write Protect is on sdd: Mode Sense: 03 00 80 00 sdd: assuming drive cache: write through sdd: sdd1 SCSI device sdd: 31388672 512-byte hdwr sectors (16071 MB) sdd: Write Protect is on sdd: Mode Sense: 03 00 80 00 sdd: assuming drive cache: write through SCSI device sdd: 31388672 512-byte hdwr sectors (16071 MB) sdd: Write Protect is on sdd: Mode Sense: 03 00 80 00 sdd: assuming drive cache: write through sdd: sdd1 SCSI device sdd: 31388672 512-byte hdwr sectors (16071 MB) sdd: Write Protect is on sdd: Mode Sense: 03 00 80 00 sdd: assuming drive cache: write through SCSI device sdd: 31388672 512-byte hdwr sectors (16071 MB) sdd: Write Protect is on sdd: Mode Sense: 03 00 80 00 sdd: assuming drive cache: write through sdd: sdd1
如果我手动安装sdd1(mount / dev / sdd1 / somedirectory /),这工作正常。
我真正所追求的是一种解决scheme,它能够在input到阅读器中时, 并为它们执行脚本(这将涉及将其内容复制到另一个目录)。
我的问题是我不知道该怎么做。 我不认为udev会工作,因为USB设备不会改变; 如果我能以某种方式得到udev与/ dev / disk / by-path /工作,但我认为这是可行的(似乎保持不变的条目)。
ls / dev / disk返回:
pci-0000:00:1d.7-usb-0:4.1.1.1:1.0-scsi-0:0:0:0 pci-0000:00:1d.7-usb-0:4.1.1.2:1.0-scsi-0:0:0:0 pci-0000:00:1d.7-usb-0:4.1.1.3:1.0-scsi-0:0:0:0 pci-0000:00:1d.7-usb-0:4.1.1.4:1.0-scsi-0:0:0:0 pci-0000:00:1d.7-usb-0:4.1.2:1.0-scsi-0:0:0:0 pci-0000:00:1d.7-usb-0:4.1.3:1.0-scsi-0:0:0:0 pci-0000:00:1d.7-usb-0:4.1.4:1.0-scsi-0:0:0:0 pci-0000:00:1d.7-usb-0:4.2:1.0-scsi-0:0:0:0 pci-0000:00:1d.7-usb-0:4.3:1.0-scsi-0:0:0:0 pci-0000:00:1d.7-usb-0:4.4:1.0-scsi-0:0:0:0 pci-0000:00:1d.7-usb-0:4.4:1.0-scsi-0:0:0:0-part1 pci-0000:0b:01.0-scsi-0:0:1:0 pci-0000:0b:01.0-scsi-0:0:1:0-part1 pci-0000:0b:01.0-scsi-0:0:1:0-part2
从上面我们可以看到,我只有一个卡插入读卡器(pci-0000:00:1d.7-usb-0:4.4:1.0-scsi-0:0:0:0-part1)。
outlook
mount /dev/disk/by-path/pci-0000\:00\:1d.7-usb-0\:4.4\:1.0-scsi-0\:0\:0\:0-part1
运行并将该卡放置在/ media / usbdisk /下,但是:
mount /dev/disk/by-path/pci-0000\:00\:1d.7-usb-0\:4.4\:1.0-scsi-0\:0\:0\:0-part1 slot1/
不工作,并返回“mount:不能获得/ dev / disk / by-path / pci-0000的地址”
任何想法和解决scheme都会很棒,我已经看到了很多这里的人的知识,所以我希望有人能帮助我。
谢谢
我有同样的问题,坐了3天试图得到@#$%! SME安装USB硬盘。 我想做一个外部USB备份,并拒绝正确安装它。 给你类似的错误,如你所示。 硬盘和SD卡并不是完全相同的问题,但肯定是相似的。
如果您执行cat / proc / mdstat命令,您将看到RAIDconfiguration中列出的硬盘驱动器,但是也会显示另一个驱动器(当前未安装)作为添加到RAID的可选驱动器。 在我的情况下,这是sdc,因为sda和sdb组成了RAID。
然后,我使用fdisk / dev / sdc删除了sdc上的分区,添加了一个新的主分区并将其保存。 mkfs.ext3 -L MyLabel / dev / sdc1(给它一个标签名称)mkdir -p / media / usbdevice
(kernel | fstab | scsi)。(usb | USB)“/ var / log / messages现在应该显示它已经用一个标签挂载了usb驱动器。
viola fstab-sync做了它的工作,你很好去。
由于SME Server具有hal和udev,所以可以编写一个小的Python脚本/守护进程 (该链接介绍USB设备,但是您可以修改它用于任何存储types),以检测介质插入并执行操作。
你正在寻找一个名为halevt的程序。 build议您需要熟悉编辑XML,以使其达到您想要的效果。