如何让我的 USB 密钥自动挂载

如何让我的 USB 密钥自动挂载

我目前在仅命令行环境中工作。

当我插入 USB 密钥时,我会在以下位置看到一个新的设备文件/dev

...
sdi
sdi1
...

如果我只是简单地完成sudo mount /dev/sdi1 /media/tmpumount那么当我完成时,我必须再次重复该过程。仅此一项就可以通过一个小脚本来完成,但我的密钥并不总是显示为sdi.

有没有办法让它始终自动安装并可能sdi为其保留?

笔记:另外,如果我忘记卸载并拉出棒子,/dev 中似乎有孤立的设备文件。

答案1

我用这个来自 Arch Wiki 的 Udev 规则:

KERNEL!="sd[a-z][0-9]", GOTO="media_by_label_auto_mount_end"

# Import FS infos
IMPORT{program}="/sbin/blkid -o udev -p %N"

# Get a label if present, otherwise specify one
ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"
ENV{ID_FS_LABEL}=="", ENV{dir_name}="usbhd-%k"

# Global mount options
ACTION=="add", ENV{mount_options}="relatime"
# Filesystem-specific mount options
ACTION=="add", ENV{ID_FS_TYPE}=="vfat|ntfs", ENV{mount_options}="$env{mount_options},utf8,gid=100,umask=002"

# Mount the device
ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}", RUN+="/bin/mount -o $env{mount_options} /dev/%k /media/%E{dir_name}"

# Clean up after removal
ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /media/%E{dir_name}", RUN+="/bin/rmdir /media/%E{dir_name}"

# Exit
LABEL="media_by_label_auto_mount_end"

只需更改第一行中的“sd[az][0-9]”即可避免与其他驱动器发生冲突......

答案2

在 Debian 和 Ubuntu 上,有一个软件包usbmount可以完全满足您的要求。

我确信它也可以在其他 Linux 发行版中使用。

答案3

有许多自动安装解决方案,但我特别推荐那些基于udev- 喜欢乌阿姆例如。

另外,对于普通用户,我建议使用命令行、按需安装pmount(基于策略的安装程序不需要任何sudo)。

相关内容