从命令行将相机安装为磁盘

Ger*_*ely 4 command-line udev mount camera

我想将我的 Nikon Coolpix 相机作为磁盘安装在我的 CentOS 7 上。

http://hintshop.ludvig.co.nz/show/persistent-names-usb-serial-devices/

https://www.suse.com/communities/blog/manually-mounting-a-usb-flash-drive-in-linux/

我在 dmesg 中找到了我的相机数据:

[  559.605914] usb 2-1.2: new high-speed USB device number 4 using ehci-pci
[  559.694657] usb 2-1.2: New USB device found, idVendor=04b0, idProduct=0360
[  559.694664] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  559.694669] usb 2-1.2: Product: NIKON DSC COOLPIX L31-PTP
[  559.694672] usb 2-1.2: Manufacturer: NIKON
[  559.694676] usb 2-1.2: SerialNumber: VNA871EA41018279
Run Code Online (Sandbox Code Playgroud)

就这样创造了

/etc/udev/rules.d/99-usb-nikon.rules
Run Code Online (Sandbox Code Playgroud)

与内容

SUBSYSTEM=="usb", ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0360", ATTRS{serial}=="VNA871EA41018279", SYMLINK+="nikon"
Run Code Online (Sandbox Code Playgroud)

我拔下相机并再次插入,/dev/nikon现在指向正确的设备文件:

lrwxrwxrwx. 1 root root 15 Mar 18 17:34 /dev/nikon -> bus/usb/002/006
Run Code Online (Sandbox Code Playgroud)

这是一个字符设备文件:

crw-rw-r--+ 1 root root 189, 133 Mar 18 17:34 /dev/bus/usb/002/006
Run Code Online (Sandbox Code Playgroud)

试图安装它我得到

$ sudo mount /dev/nikon /mnt/nikon
mount:  /dev/bus/usb/002/006 is not a block device
Run Code Online (Sandbox Code Playgroud)

我应该怎么做才能将我的相机设备文件挂载为磁盘?我应该以某种方式使用 mknod 创建块设备文件然后挂载它吗?

小智 7

我发现安装仅使用 PTP 的相机的唯一方法是将 gphotofs 与 Gphoto2 一起使用:

sudo apt-get install gphoto2 gphotofs
Run Code Online (Sandbox Code Playgroud)

安装:

gphotofs /mnt/mountlocation
Run Code Online (Sandbox Code Playgroud)

卸载:

fusermount -u /mnt/mountlocation
Run Code Online (Sandbox Code Playgroud)