2

USBストレージデバイス(USBスティック)がLinuxディストリビューション(変更されたUbuntu 10.04)にマウントされているかどうかを識別しようとしています。現時点では、lsusb -vコマンドを使用して解析し、関心のあるUSBデバイスのバス、デバイス、およびIDを取得します。

バス:001デバイス:008 ID 0781:​​5560SanDiskCorp.。。。

私が理想的に望んでいるのは、lsusb -vから取得したデータを使用して、そのusbがマウントされているかどうかを判断できるようにすることです。

私はこれまでこの分野を実際にいじったことはありませんでした(それはちょうど私の膝に終わったようなものです)どんなポインタでもありがたいです。私はここや他のサイトを見て、いくつかの興味深いことを学びましたが、実際に私を近づけるものは何もありません。/ proc / mountで、usbがマウントされていることを確認できますが、lsusbを使用してデバイスで取得した情報を、cat / proc/mountで取得した情報と一致させることができません。これは必要なアプリケーションの一部を形成するためです。互いに一致させることができます。

参考:アプリケーションはPythonで記述されており、pyUSBなどの外部ライブラリを使用できないという制約を受けています。私が言うように、どんなポインタ/ヘルプも大歓迎です。

乾杯

4

3 に答える 3

1

mount引数がない場合は、マウントされているすべてのファイルシステムが一覧表示されます。例えば:

~ » mount                                                                                                                                                                                   wangbin@dhcp12-241
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=3988728k,nr_inodes=997182,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel)
tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)
/dev/sda1 on / type ext4 (rw,relatime,seclabel,data=ordered)

たとえば/dev/sdb、USBディスクデバイスがわかっている場合は、出力で検索してみてください。

mount | grep '/dev/sdb'
于 2013-01-23T08:48:05.907 に答える
1

私の提案は、USBデバイスがマウントされているかどうかを判断するためlsusbにコマンドと組み合わせて使用​​することです。dmesg

これが私のUbuntuマシンlsusbとの間の出力例です。dmesgからの出力にdmesgは、によって報告されたデバイス番号と製品/ベンダー情報が含まれますlsusb

dbala@ubuntu:~$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 001 Device 005: ID 0781:5530 SanDisk Corp. Cruzer U3 4gb SDCZ36

dbala@ubuntu:~$ dmesg | tail
[1084707.969418] usb 1-1: new high speed USB device number 5 using ehci_hcd
[1084708.119662] scsi5 : usb-storage 1-1:1.0
[1084709.120841] scsi 5:0:0:0: Direct-Access     SanDisk  Cruzer           1.19 PQ: 0   ANSI: 5
[1084709.125158] sd 5:0:0:0: Attached scsi generic sg2 type 0
[1084709.130677] sd 5:0:0:0: [sdb] 31266816 512-byte logical blocks: (16.0 GB/14.9 GiB)
[1084709.138819] sd 5:0:0:0: [sdb] Write Protect is off
[1084709.138821] sd 5:0:0:0: [sdb] Mode Sense: 43 00 00 00
[1084709.146812] sd 5:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[1084709.186467]  sdb: sdb1
[1084709.215365] sd 5:0:0:0: [sdb] Attached SCSI removable disk
dbala@ubuntu:~$ 
于 2013-01-22T20:39:06.790 に答える
0

次を使用できます。

numberOfUsb=$(lspci | grep -c USB)
echo "Number of USB controller found: $numberOfUsb"

parsedId=`lspci | grep -m 8 USB | sed "s/ .*//"`
于 2013-01-23T08:50:50.833 に答える