在Raspberry PI上自动安装USB设备

本文已发表于 在我们的

在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 /媒体/内存

我们已经在里面了。 如果我们停止使用它,该文件夹将消失,我们可以删除设备而无需手动删除。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.  

    感谢您发布posting

  2.   保罗

    我认为有一个错误,在编辑auto.misc的步骤中,将auto.master写在代码中,以防万一有些傻瓜没有意识到🙂

  3.   费尔南多·迪亚兹

    谢谢,我只是想在Raspbian上做,我以前使用过Arch,它更容易。

  4.   Azureus的

    很好,当我将Pi作为samba共享目录的torrent客户端时,我就不得不占据这个位置。
    fstab手册说,使用#blkid检查设备的标签会更可靠一些,在我的情况下,每次启动时我都有一个自动挂载的Windows分区,如下所示:

    / dev / sda2
    UUID = 24A0729FA07276E0 / home / azureus / Windows ntfs auto,默认0 2

    在树莓派上,我安装了LVM,我记不清配置了。
    根据手册,您可以使用#fdisk -l获取驱动器号和字母,并使用#blkid找出哪个标签对应于哪个驱动器。

    问候。

    1.    Azureus的

      [更新]
      该标签的出现是由于有些人(像我一样)在每次关闭计算机时都懒于断开卷的连接,问题是当您有多个卷时,因为在多次重新引导后并不总是以相同的顺序装入卷。 顺便说一句,这有一个缺点,当删除与为自动安装分配的标签相对应的设备时,它会引发错误,并且如果分区安装在主目录上,则不允许加载/ home。 可以通过注释掉引起fstab冲突的设备或再次连接设备来解决此问题。