Kiw*_*iwi 9 mount automount external-hdd
这是我的问题:
我的电脑有 4 个 USB 端口,运行的是 Ubuntu 12.10。我每天都会收到不同的 USB,插入我的计算机,向它们读/写数据,然后将它们发送出去。
我想要的是自动挂载我插入计算机的任何 USB。第一个检测到的 USB 将转到/media/HDD1,第二个将转到/media/HDD2,依此类推。或者,如果插入端口 1 的 USB 将转到/media/HDD1,插入端口 2 的 USB 将转到/media/HDD2,依此类推,那就太好了。
路径/media并不重要,但我希望将 HDD1-4 目录放在一个地方,以便我可以轻松访问它们。
USB 通常是 ext2,但有时我也会得到 FAT32、NTFS USB。
我还希望在不登录 Ubuntu 的情况下安装 USB,因为我经常/media/HDD..从另一台 Windows 计算机访问。
我怎样才能做到这一点?udev规则有什么变化,fstab我应该做些什么?任何建议都受到高度赞赏。
好吧,在这里我们可以使用fstab用于光学媒体(又名 CD 和 DVD)的相同技巧:
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0
Run Code Online (Sandbox Code Playgroud)
第一列表示文件系统,我敢肯定你的USB的将是固定值,所以让我们假定一切之后sda是USB,因为你只能有4个USB的同时,这样的例子不胜枚举从sdb,sdc,sdd和sde。
$ ls /dev/sd*
/dev/sda /dev/sdb /dev/sdb3 /dev/sdb6 /dev/sdc /dev/sdf
/dev/sda1 /dev/sdb1 /dev/sdb4 /dev/sdb7 /dev/sdd
/dev/sda2 /dev/sdb2 /dev/sdb5 /dev/sdb8 /dev/sde
Run Code Online (Sandbox Code Playgroud)
(在我的情况下,我使用内存读取器,所以我的 USB 驱动程序开始sdg但让我们继续。)
现在,我们假设每个 USB 有一个且只有一个分区,所以我们需要的行fstab是:
/dev/sdb1
/dev/sdc1
/dev/sdd1
/dev/sde1
Run Code Online (Sandbox Code Playgroud)
然后你说你的挂载点必须固定,所以在你创建目录后,让我们添加它们:
/dev/sdb1 /media/HDD1
/dev/sdc1 /media/HDD2
/dev/sdd1 /media/HDD3
/dev/sde1 /media/HDD4
Run Code Online (Sandbox Code Playgroud)
由于您可以拥有几乎所有类型的文件系统,让我们使用autoso fstab 猜测要使用的文件类型:
/dev/sdb1 /media/HDD1 auto
/dev/sdc1 /media/HDD2 auto
/dev/sdd1 /media/HDD3 auto
/dev/sde1 /media/HDD4 auto
Run Code Online (Sandbox Code Playgroud)
好的,现在让我们归结为选项,这对于具有读/写权限的 CD 来说是一样的:
/dev/sdb1 /media/HDD1 auto rw,users,noauto,allow_other,umask=0
/dev/sdc1 /media/HDD2 auto rw,users,noauto,allow_other,umask=0
/dev/sde1 /media/HDD3 auto rw,users,noauto,allow_other,umask=0
/dev/sde1 /media/HDD4 auto rw,users,noauto,allow_other,umask=0
Run Code Online (Sandbox Code Playgroud)
rw告诉我们需要读写权限,users允许任何用户挂载设备,noauto防止在mount -a调用时自动挂载驱动程序,就像在启动时一样,防止启动错误和警告,allow_other允许除了挂载驱动程序的用户之外的其他用户具有相同的权限,并umask=0防止应用默认的 umask。
现在剩下的 2 个字段几乎与dumporder 和fsckorder 有关,它们可以0同时存在,给我们留下最终结果:
/dev/sdb1 /media/HDD1 auto rw,user,noauto,allow_other 0 0
/dev/sdc1 /media/HDD2 auto rw,user,noauto,allow_other 0 0
/dev/sdd1 /media/HDD3 auto rw,user,noauto,allow_other 0 0
/dev/sde1 /media/HDD4 auto rw,user,noauto,allow_other 0 0
Run Code Online (Sandbox Code Playgroud)
这样,每次插入 USB 设备时,它都会自动安装在安装点中,而无需用户干预。您应该根据您的需要进行修改。