From: Harada kazutaka <kazutaka@xxxxxxxxxxxxxxxx> Date: Tue, 24 Aug 2004 21:08:40 +0900 kazutaka> どうやらSCSI接続のdiskが既にある環境では、 kazutaka> usb_mountスクリプトがデバイス名を正しく認識できてないようです。 [vine-users:067202] でも書きましたが、認識できていま せん。usb_mount を見たら for procEntry in `find /proc/scsi/ -path '/proc/scsi/usb-storage*' -type f | sort`; do となっているのは、ちと上手くないかと思います。安直にテ ストしただけなので良い例でありませんが、パッチをつけて おきますので、参考にどうぞ。このパッチで取り敢えずうち では困っていません(/proc/scsi/scsi の Type には Optical Device のように空白を含むものがあるので、$2 だけで判断 するとまずいかも知れません)。 ただし、もし /proc/scsi/usb-storage*/* 以外に Attached: Yes を含むものがあったら NG かも… ====================================================== 羽根 秀也 wing@xxxxxxxx http://www.lain.org/~wing/ Studio 八割堂 http://www.lain.org/ ====================================================== --- usb_mount.orig 2004-08-24 22:42:38.000000000 +0900 +++ usb_mount 2004-08-24 23:41:17.000000000 +0900 @@ -18,22 +18,23 @@ local cdRom=0 local nonCd=0 #determine dev name. - for procEntry in `find /proc/scsi/ -path '/proc/scsi/usb-storage*' -type f | sort`; do + for procEntry in `find /proc/scsi/ -path '/proc/scsi/*/*' -type f | sort `; do hostNum=`echo $procEntry | awk -F"[-/]" '{ print $NF }'` - devType=`grep -A 2 scsi$hostNum /proc/scsi/scsi | awk '/Type/{ print $2 }'` - - if [ "$devType" == "CD-ROM" ]; then - scsiDev="/dev/scd"$cdRom - cdRom=`expr $cdRom + 1` - else - scsiDev=`echo $nonCd | awk '{ print "/dev/sd" substr("abcdefghijklmnopqrstuvwxyz", $1+1, 1) }'` - nonCd=`expr $nonCd + 1` - fi - #dev name & product name is concatenated in 1 word.(for convinience) - if grep -q 'Attached: Yes' $procEntry; then - productName=`grep Product $procEntry | cut -b16- | tr " " "_"` - echo $scsiDev":"$productName - fi + for devType in `grep -A 2 scsi$hostNum /proc/scsi/scsi | awk '/Type/{ print $2 }'`; do + + if [ "$devType" == "CD-ROM" ]; then + scsiDev="/dev/scd"$cdRom + cdRom=`expr $cdRom + 1` + elif [ "$devType" != "Processor" ]; then + scsiDev=`echo $nonCd | awk '{ print "/dev/sd" substr("abcdefghijklmnopqrstuvwxyz", $1+1, 1) }' ` + nonCd=`expr $nonCd + 1` + fi + #dev name & product name is concatenated in 1 word.(for convinience) + if grep -q 'Attached: Yes' $procEntry; then + productName=`grep Product $procEntry | cut -b16- | tr " /!~#$%|*?" "_"` + echo $scsiDev":"$productName + fi + done done } @@ -79,7 +80,7 @@ case "$USE_SUPERMOUNT" in yes|Yes|YES) echo -e \ - "none\t""$mountPoint""\tsupermount\t""dev=$1"",fs=ext2:vfat:iso9660:udf\t0 0\t""usb-mount" \ + "none\t""$mountPoint""\tsupermount\t""dev=$1"",fs=ext3:ext2:vfat:iso9660:udf\t0 0\t""usb-mount" \ >> /etc/fstab; ;; no|No|NO)