Ubuntu系统启用自动挂载教程

udev 是Linux kernel 2.6系列的设备管理器主要管理/dev目录底下的设备节点监听设备的插拔事件。磁盘自动挂载技术通过对udev规则的设置,让udev收到内核发来的磁盘插拔消息后进行磁盘的自动挂载。具体工程如下:

1.修改udev配置文件(/etc/udev/udev.conf)

udev_root="/dev/"

udev_rules="/etc/udev/rules.d/"

udev_log="err"

2. 配置规则文件(/etc/udev/rules.d)

在rules.d下新建mount.rules规则文件(ubuntu系统在1804之后不再支持 脚本方式,以系统服务方式来执行操作)

KERNEL=="sd[b-z]", NAME="%k", SYMLINK+="usb%m", OPTIONS="last_rule"

ACTION=="add", KERNEL=="sd[b-z][0-9]", SYMLINK+="usb%m", NAME="%k"

ACTION=="add", KERNEL=="sd[b-z][0-9]", RUN+="/bin/mkdir -p /mnt/%k"

ACTION=="add",KERNEL=="sd[b-z][0-9]",SUBSYSTEM=="block",ENV{ID_BUS}=="usb",TAG+="systemd", PROGRAM="/bin/systemd-escape -p %k", ENV{SYSTEMD_WANTS}+="mount.service"

ACTION=="remove", KERNEL=="sd[b-z][0-9]", RUN+="/bin/umount -l /mnt/%k"

ACTION=="remove", KERNEL=="sd[b-z][0-9]", RUN+="/bin/rmdir /mnt/%k", OPTIONS="last_rule"

3.配置系统服务(/etc/systemd/system)

在system下新建mount.service系统服务

[Unit]

Description=mountservice

After=network.target

[Service]

Type=forking

User=root

Group=root

WorkingDirectory=/mnt

ExecStart=/etc/systemd/system/mount.sh start

[Install]

WantedBy=multi-user.target

4.配置挂载脚本(/etc/systemd/system)

在system下新建mount.sh挂载脚本

#!/bin/bash

var2="/mnt/sdb"

for V in $(ls /dev/sd[b-z][0-9])

do

  echo $V

  var2=$V

  echo ${var2:5:4}

  /bin/mount $V /mnt/${var2:5:4}

done

你可能感兴趣的:(linux,1024程序员节,linux,运维,服务器)