Linux可以通过udev自动挂载U盘,不过需要注意的是在udev中调用mount指令时会工作不正常,可以使用systemd-mount代替。

参考文档:udev、systemd-mount。

具体步骤:

在/etc/udev/rules.d/目录下新建规则文件

nano /etc/udev/rules.d/50-txfly.rules

输入以下内容,并在/media目录下挂载U盘

KERNEL!="sd*", GOTO="media_by_label_auto_mount_end"

SUBSYSTEM!="block",GOTO="media_by_label_auto_mount_end"

IMPORT{program}="/sbin/blkid -o udev -p %N"

ENV{ID_FS_TYPE}=="", GOTO="media_by_label_auto_mount_end"

ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"

ENV{ID_FS_LABEL}=="", ENV{dir_name}="%E{ID_FS_UUID}"

ACTION=="add", ENV{mount_options}="relatime,sync"

ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}", RUN+="/usr/bin/systemd-mount -o %E{mount_options} --no-block --automount=yes --collect /dev/%k /media/%E{dir_name}"

ACTION=="remove", ENV{dir_name}!="", RUN+="/usr/bin/systemd-mount --umount /media/%E{dir_name}", RUN+="/bin/rmdir /media/%E{dir_name}"

LABEL="media_by_label_auto_mount_end"

加载新规则

sudo udevadm control --reload

测试规则:

# lskbl

sda 8:0 1 14.3G 0 disk

mtdblock0 31:0 0 16M 0 disk

mmcblk2 179:0 0 7.3G 0 disk

├─mmcblk2p1 179:1 0 64M 0 part

└─mmcblk2p2 179:2 0 3G 0 part /

mmcblk2boot0 179:32 0 4M 1 disk

mmcblk2boot1 179:64 0 4M 1 disk

mmcblk2rpmb 179:96 0 4M 0 disk

# udevadm test $(udevadm info -q path -n /dev/sda) 2>&1

This program is for debugging only, it does not run any program

specified by a RUN key. It may show incorrect results, because

some values may be different, or not available at a simulation run.

Load module index

Parsed configuration file /usr/lib/systemd/network/99-default.link

Parsed configuration file /usr/lib/systemd/network/73-usb-net-by-mac.link

Created link configuration context.

Reading rules file: /usr/lib/udev/rules.d/50-firmware.rules

Reading rules file: /etc/udev/rules.d/50-txfly.rules

Reading rules file: /usr/lib/udev/rules.d/50-udev-default.rules

Reading rules file: /usr/lib/udev/rules.d/55-dm.rules

Reading rules file: /usr/lib/udev/rules.d/60-autosuspend-chromiumos.rules

Reading rules file: /usr/lib/udev/rules.d/60-block.rules

Reading rules file: /usr/lib/udev/rules.d/60-cdrom_id.rules

Reading rules file: /usr/lib/udev/rules.d/60-drm.rules

Reading rules file: /usr/lib/udev/rules.d/60-evdev.rules

Reading rules file: /usr/lib/udev/rules.d/60-fido-id.rules

Reading rules file: /usr/lib/udev/rules.d/60-input-id.rules

Reading rules file: /usr/lib/udev/rules.d/60-persistent-alsa.rules

Reading rules file: /usr/lib/udev/rules.d/60-persistent-input.rules

Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage-dm.rules

Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage-tape.rules

Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage.rules

Reading rules file: /usr/lib/udev/rules.d/60-persistent-v4l.rules

Reading rules file: /usr/lib/udev/rules.d/60-sensor.rules

Reading rules file: /usr/lib/udev/rules.d/60-serial.rules

Reading rules file: /usr/lib/udev/rules.d/61-autosuspend-manual.rules

Reading rules file: /usr/lib/udev/rules.d/64-btrfs.rules

Reading rules file: /usr/lib/udev/rules.d/64-xorg-xkb.rules

Reading rules file: /usr/lib/udev/rules.d/65-libwacom.rules

Reading rules file: /usr/lib/udev/rules.d/70-joystick.rules

Reading rules file: /usr/lib/udev/rules.d/70-mouse.rules

Reading rules file: /usr/lib/udev/rules.d/70-power-switch.rules

Reading rules file: /usr/lib/udev/rules.d/70-touchpad.rules

Reading rules file: /usr/lib/udev/rules.d/70-uaccess.rules

Reading rules file: /usr/lib/udev/rules.d/71-seat.rules

Reading rules file: /usr/lib/udev/rules.d/73-seat-late.rules

Reading rules file: /usr/lib/udev/rules.d/73-special-net-names.rules

Reading rules file: /usr/lib/udev/rules.d/75-net-description.rules

Reading rules file: /usr/lib/udev/rules.d/75-probe_mtd.rules

Reading rules file: /usr/lib/udev/rules.d/78-sound-card.rules

Reading rules file: /usr/lib/udev/rules.d/80-debian-compat.rules

Reading rules file: /usr/lib/udev/rules.d/80-drivers.rules

Reading rules file: /usr/lib/udev/rules.d/80-ifupdown.rules

Reading rules file: /usr/lib/udev/rules.d/80-libinput-device-groups.rules

Reading rules file: /usr/lib/udev/rules.d/80-net-setup-link.rules

Reading rules file: /usr/lib/udev/rules.d/85-hwclock.rules

Reading rules file: /usr/lib/udev/rules.d/90-libinput-fuzz-override.rules

Reading rules file: /usr/lib/udev/rules.d/95-dm-notify.rules

Reading rules file: /usr/lib/udev/rules.d/96-e2scrub.rules

Reading rules file: /usr/lib/udev/rules.d/99-systemd.rules

Invalid inotify descriptor.

DEVPATH=/devices/platform/32e50000.usb/ci_hdrc.1/usb1/1-1/1-1.2/1-1.2:1.0/host0/target0:0:0/0:0:0:0/block/sda

DEVNAME=/dev/sda

DEVTYPE=disk

MAJOR=8

MINOR=0

ACTION=add

SUBSYSTEM=block

ID_FS_UUID=C0F00719F0071576

ID_FS_UUID_ENC=C0F00719F0071576

ID_FS_TYPE=ntfs

ID_FS_USAGE=filesystem

dir_name=C0F00719F0071576

ID_VENDOR=General

ID_VENDOR_ENC=General\x20

ID_VENDOR_ID=8644

ID_MODEL=USB_Flash_Disk

ID_MODEL_ENC=USB\x20Flash\x20Disk\x20\x20

ID_MODEL_ID=8005

ID_REVISION=1.00

ID_SERIAL=General_USB_Flash_Disk_152200000000F9BA-0:0

ID_SERIAL_SHORT=152200000000F9BA

ID_TYPE=disk

ID_INSTANCE=0:0

ID_BUS=usb

ID_USB_INTERFACES=:080650:

ID_USB_INTERFACE_NUM=00

ID_USB_DRIVER=usb-storage

DEVLINKS=/dev/disk/by-path/platform-ci_hdrc.1-usb-0:1.2:1.0-scsi-0:0:0:0 /dev/disk/by-uuid/C0F00719F0071576 /dev/disk/by-id/usb-General_USB_Flash_Disk_152200000000F9BA-0:0

ID_PATH=platform-ci_hdrc.1-usb-0:1.2:1.0-scsi-0:0:0:0

ID_PATH_TAG=platform-ci_hdrc_1-usb-0_1_2_1_0-scsi-0_0_0_0

TAGS=:systemd:

USEC_INITIALIZED=6378678

run: '/bin/mkdir -p /media/C0F00719F0071576'

run: '/usr/bin/systemd-mount -o relatime,sync --no-block --automount=yes --collect /dev/sda /media/C0F00719F0071576'

Unload module index

Unloaded link configuration context.

重新插拔U盘后可以看到:

ls /media

C0F00719F0071576

linux udev 禁用u盘,udev自动挂载U盘相关推荐

  1. Linux下应用程序扫描并自动挂载u盘

    说明: 调用此函数,自动扫描系统中已经插入的u盘,如果u盘没有被挂载,则自动挂载u盘.如果u盘已经被挂载,则不挂载u盘.这个函数只扫描和挂载vfat格式的u盘,对于NTFS格式的u盘不进行扫描和挂载. ...

  2. n1 openwrt 挂载u盘_openwrt 自动挂载U盘、移动硬盘

    openwrt 自动挂载U盘.移动硬盘 opkg update opkg install kmod-usb-core opkg install kmod-usb-ohci          #安装us ...

  3. linux下挂载优盘脚本,一种linux系统下自动挂载U盘的方法与流程

    技术领域 本发明涉及服务器维护技术领域,尤其涉及一种linux系统下自动挂载U盘的方法. 背景技术: 不管是测试服务器的维护,还是用户使用的服务器,在维护.更新.使用过程中,需要使用U盘向服务器拷贝文 ...

  4. arm开发板采用ubuntu根文件系统自动挂载U盘解决方案升级版!

    背景 之前有一篇文章:<ARM-Linux下实现U盘自动挂载>在嵌入式Linux开发板中实现自动挂载U盘的方法.该方法有效,但局限.本人自己测试是在buildroot构建的根文件系统下实现 ...

  5. 双系统下ubuntu自动挂载windows盘

    前言: ​ 今天给大家分享一篇ubuntu的系列文章之一,作为研发人员的我们,在有需要的时候我们会把电脑装成双系统.主要的工作在Ubuntu上面,window下面有时候会去用一些特定的软件.总之会产生 ...

  6. Linux学习笔记1--Linux文件系统之CentOS7挂载U盘

    Linux学习笔记(一) CentOS7挂载U盘 插入U盘连接虚拟机 打开终端 创建U盘目录 挂载U盘 卸载U盘 可能出现的bug Linux文件系统与Windows文件系统之比 二者文件系统具体 二 ...

  7. html文件导入到u盘中,技术分享 - 编程实现U盘插入自动复制U盘内容到本地

    背景 U盘插入计算机后,不用任何操作,程序自动将U盘里的文件都拷贝到本地计算机上.这个功能是我自己开发的"恶魔的结界"系列程序里的一个小功能,至于有什么用,那就看个人的爱好了.在此 ...

  8. linux6.6挂载u盘失败,mini2440 Linux系统自动挂载U盘与SD卡失败 解决方法

    对于有些U盘和SD卡,mini2440开发板自带的Linux系统不能有效的自动挂载在文件系统里面,这是因为mini2440的/etc/mdev.conf 和 /bin/hotplug.sh这两个文件写 ...

  9. arm linux 自动挂载,ARM-Linux支持并自动挂载U盘

    受不了xxxx恶心人的行为,遂搬迁至博客园. 始发:2015-04-07 19:10:42 其实,我是想在ARM开发板上实现我的FW150US-USB无线网卡功能,所以测试下USB接口. 1.配置内核 ...

  10. linux自动挂载方法,Linux操作系统下硬盘手工和自动挂载的方法

    1. 手工挂载 在Linux中也可以读取Windows分区,包括fat32格式的和ntfs格式的.首先你得知道Linux下对硬盘分区的称呼.比如Windows下的C盘通常是hda1,D盘是hda5,E ...

最新文章

  1. Web前端上万字的知识总结
  2. oracle数据库硬恢复,ORACLE数据库恢复技术
  3. 如何做网络营销推广之网站SEO中title标签优化技巧!
  4. 常见的物联网通信协议
  5. DOM 之通俗易懂讲解
  6. 清华大学计算机学院主页,计算机图形学基础课程主页 | 清华大学计算机系
  7. 计算机工程师英语介绍,数据库系统工程师计算机专业英语(四).doc
  8. ViewPager之使用PagerTabStrip添加标题栏,实现滑动效果
  9. Linux Shell 判断块设备节点是否存在
  10. STM32工作笔记0052---串口通信原理--UART
  11. python中全部注释_Python中的注释
  12. L1-009 N个数求和---题解
  13. 2022煤炭生产经营单位(安全生产管理人员)判断题及在线模拟考试
  14. Python周刊505期
  15. 双主机切换下导致的显示器闪动
  16. IDEA 设置默认的JDK
  17. 《看聊天记录都学不会C语言?太菜了吧》(1)我在大佬群里问基础问题没人理?
  18. 大数据之flink定时器
  19. HTML里子DIV设置margin-top后影响父DIV位置的解决办法
  20. Excel 数据透视表教程大全之 06 数据透视表八大优势,辅助列用途

热门文章

  1. 跳棋java课程设计,C语言课程设计(论文)跳棋.doc
  2. 牛逼!这个C++跳棋游戏居然可以让你边玩游戏边学编程!
  3. 用计算机信息术语感恩老师,感恩老师的祝福语(精选50句)
  4. eclipse项目名前出现红色感叹号的原因及解决的方法
  5. 全方位指导手把手教你实现自定义Spring Boot的 Starter公社
  6. b250支持服务器cpu,b250m主板上什么cpu
  7. CVTE2019春招校招笔试、面试经验(硬件测试岗)
  8. 微型计算机什么样子,微型计算机的组成有哪些 -价格怎么样?
  9. C语言 输出斐波那契数列
  10. 今日头条小程序开发功能