在Raspberry中,如果不使用图形界面,一遍又一遍地安装USB存储器将变得很烦人。 另外,在自动执行该操作的过程中(这是我在下面显示的内容),您可以了解有关Linux如何处理设备的一些知识。
安装autofs和udev
我们要做的第一件事是安装 自动文件 y 乌德夫
须藤apt-get install autofs udev
udev是一个Linux内核工具,负责管理所有设备所在的/ dev目录。 autofs允许我们在配置好后,只要USB连接或断开,所有的安装和卸载操作都会自动进行。
我们要做的第一件事是在我们的计算机/ Raspberry Pi中连接我们的USB内存(我将使用Kingston品牌)。 然后我们执行:
命令fdisk-l的
将具有类似于以下的输出:
磁盘/ dev / mmcblk0:15.7 GB ...设备启动开始块ID系统/ dev / mmcblk0p1 2048 1607421 802687 e W95 FAT16(LBA)/ dev / mmcblk0p2 1613824 30613503 14499840 85 Linux扩展/ dev / mmcblk0p3 30613504 30679039 32768 Linux …..磁盘/ dev / sda:83 GB ...设备启动开始端块ID系统/ dev / sda30.9 1 2048 60436479 c W30217216 FAT95(LBA)
我的外部USB内存有30.9 GB(即/ dev / sda1),而我安装Linux的SD内存有15.7 GB。
udev中的自定义规则
知道sda1是我们的设备,我们将使用udev从内存中提取信息,因此我们执行以下命令:
udevadm信息-a -p $(udevadm信息-q路径-n / dev / sda1)
会有一些块用短语“看着父设备'/设备/ ... ..”分隔
为了使搜索更容易一些,我们可以使用grep,因此我执行以下操作:
udevadm信息-a -p $(udevadm信息-q路径-n / dev / sda1)| grep制造商
在我的情况下,因为我的记忆是金斯敦,输出为:
ATTRS {manufacturer} ==“金斯敦”#1 ATTRS {manufacturer} ==“ Linux 3.12.28+ dwc_otg_hcd”
或者我们也可以搜索:
udevadm信息-a -p $(udevadm信息-q路径-n / dev / sda1)| grep模型udevadm信息-a -p $(udevadm信息-q路径-n / dev / sdd1)| grep供应商
我很感兴趣:
ATTRS {manufacturer} ==“金斯敦”
和第一个巧合一样。 在命令输出中 乌德瓦德姆 我在它第一次出现的地方寻找“ ATTRS {manufacturer}”
在我的情况下,我从块的设备中获取一些我认为独特的数据:
ATTRS {product} ==“ xxx” ATTRS {serial} ==“ xxxx”驱动程序==“ usb”
您只需要创建规则。 我们在udev中的.rules中完成一个文件:
须藤纳米/etc/udev/rules.d/personal.rules
在我们放入的文件内
ATTRS {product} ==“ xxx”,ATTRS {serial} ==“ xxx”,驱动程序==“ usb”,SYMLINK + =“ miusb”
现在,当我连接USB时,将有一个文件/ dev / miusb。 这是最难的部分。
设置autofs
我们执行:
须藤nano / etc / default / autofs
上面写着“ TIMEOUT =”,他们输入“ TIMEOUT = 1”
我们去/etc/auto.master
纳米/etc/auto.master
在文件的最后一行:
/媒体/etc/auto.misc
现在我们去/etc/auto.misc
纳米/etc/auto.master
在最后一行中,我们写:
mymemory -fstype = vfat,用户,rw,umask = 000:/ dev / miusb
最后,我们让它在开始时加载autofs模块:
sudo nano / etc /模块
在最后一行中,我们写:
自动文件系统4
瞧,我们重新启动Raspberry。 请记住,该文件夹在/ media中不存在,但是当我们执行
cd /媒体/内存
我们已经在里面了。 如果我们停止使用它,该文件夹将消失,我们可以删除设备而无需手动删除。
感谢您发布posting
我认为有一个错误,在编辑auto.misc的步骤中,将auto.master写在代码中,以防万一有些傻瓜没有意识到🙂
谢谢,我只是想在Raspbian上做,我以前使用过Arch,它更容易。
很好,当我将Pi作为samba共享目录的torrent客户端时,我就不得不占据这个位置。
fstab手册说,使用#blkid检查设备的标签会更可靠一些,在我的情况下,每次启动时我都有一个自动挂载的Windows分区,如下所示:
/ dev / sda2
UUID = 24A0729FA07276E0 / home / azureus / Windows ntfs auto,默认0 2
在树莓派上,我安装了LVM,我记不清配置了。
根据手册,您可以使用#fdisk -l获取驱动器号和字母,并使用#blkid找出哪个标签对应于哪个驱动器。
问候。
[更新]
该标签的出现是由于有些人(像我一样)在每次关闭计算机时都懒于断开卷的连接,问题是当您有多个卷时,因为在多次重新引导后并不总是以相同的顺序装入卷。 顺便说一句,这有一个缺点,当删除与为自动安装分配的标签相对应的设备时,它会引发错误,并且如果分区安装在主目录上,则不允许加载/ home。 可以通过注释掉引起fstab冲突的设备或再次连接设备来解决此问题。