web-dev-qa-db-ja.com

特定のUSBバスからファイルシステムをマウントする方法:デバイス

最近、新しいスマートフォン(Android搭載)を購入しました。ラップトップに接続すると、(gui)ファイルマネージャー(PCManFM)がそれを認識し、ルートgphoto2://[usb:001,003]にあるファイルシステムを表示します。しかし、ターミナルでそれを見つけることができません(/mntにも/mediaにも何もありません)。しかし、これはlsusbの出力です。

バス001デバイス001:ID 1d6b:0002 Linux Foundation2.0ルートハブ
バス002デバイス001:ID 1d6b:0002 Linux Foundation2.0ルートハブ
バス003デバイス001:ID 1d6b :0001 Linux Foundation 1.1ルートハブ
バス004デバイス001:ID 1d6b:0001 Linux Foundation1.1ルートハブ
バス005デバイス001:ID 1d6b:0001 Linux Foundation1.1ルートハブ
バス003デバイス002:ID 046d:c05a Logitech、Inc。オプティカルマウスM90 
バス002デバイス002:ID 04f2:b1d8 Chicony Electronics Co.、Ltd 
バス001デバイス003:ID 0fce:0171 Sony Ericsson Mobile Communications AB 

バスとデバイス番号を知ってマウントするにはどうすればよいですか? (この場合は001:003)。私のOSはDebianWheezyです。

mountコマンドの出力:

 sysfs on/sys type sysfs(rw、nosuid、nodev、noexec、relatime)
 proc on/proc type proc(rw、nosuid、nodev、noexec、relatime)
 udev/devタイプdevtmpfs(rw、relatime、size = 10240k、nr_inodes = 497357、mode = 755)
 devpts on/dev/ptsタイプdevpts(rw、nosuid、noexec、relatime、gid = 5、mode = 620、ptmxmode = 000)
 tmpfs on/run type tmpfs(rw、nosuid、noexec、relatime、size = 405696k、mode = 755)
/dev/disk/by-uuid/ec90e556- b90e-467c-80b6-bde9048e6686 on/type ext4(rw、relatime、errors = remount-ro、user_xattr、barrier = 1、data = ordered)
 tmpfs on/run/lock type tmpfs(rw、nosuid、 nodev、noexec、relatime、size = 5120k)
 tmpfs on/run/shm type tmpfs(rw、nosuid、nodev、noexec、relatime、size = 2486440k)
 rpc_pipefs on/var/lib/nfs/rpc_pipefsタイプrpc_pipefs(rw、relatime)
4
David Martínez

gphoto2://smb://のようなハンドラーが表示されている場合、これらはGNOMEデスクトップまたは使用しているファイルブラウザーがこれらのデバイスにアクセスできるようにする特別なインターフェイスです。 gphoto2の場合、デスクトップはアプリケーションgphoto2`を使用しています

lsof

このようなマウントにアクセスするために私が考える唯一の方法は、Nautilusやその他のファイルブラウザを使用する前と同じようにマウントし、lsofなどのツールを使用してどのファイル/デバイスを確認するかです。ノーチラスによって開かれます。

$ lsof -p $(pgrep nautilus)

ただし、gphoto2を介して電話に接続する必要がある場合は、デバイスを大容量記憶装置ではなく、 PTP-画像転送プロトコル でマウントしている可能性があります。 PTP用のLinux Fuse実装も があります。

gvfs?

また、$HOMEディレクトリで、.gvfsというサブディレクトリを探します。通常、GNOMEまたはNautilusがマウントを実行している場合、このディレクトリは便宜上作成されます。

GNOME(3+)の新しいバージョンでは、このディレクトリは移動し、現在は/run/user/$UID/gvfsになっています。

$ ls -l /run/user/$UID/gvfs/smb-share\:server\=tank\,share\=t 
total 2
drwx------. 1 saml saml    0 Oct 31 09:16 Development
drwx------. 1 saml saml    0 Nov 18 14:52 home
drwx------. 1 saml saml    0 May 14  2013 incoming
...

注:これは環境変数$UIDであり、最近のほとんどのシステムではBashで設定されることがよくあります。設定されていない場合は、次のようにユーザーのIDを見つけることができます。

$ id
uid=1000(saml) gid=1000(saml) groups=1000(saml),10(wheel) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
3
slm

スマートフォンのパーティションは gphotofs を介してマウントされます。これは、 Fuse に基づいています。そのため、/ mntおよび/ mediaの下に表示されません。

次の方法でパーティションのマウントを試みることができます。

gphotofs /mnt
2
yegorich