挂载流程及涉及组件
udev → udisks → gvfs → gvfs-udisks2-volume-monitor → mount
udev:udev 是一个用户空间系统,可以让操作系统管理员为事件注册用户空间处理器。为了实现外设侦测和热插拔,udev 守护进程接收 Linux 内核发出的外设相关事件; 加载内核模块、设备固件; 调整设备权限,让普通用户和用户组能够访问设备。监听内核信息,U盘接入或移除时,获取相关信息
udisks:提供U盘等设备的操作接口,可以改变设备属性
gvfs-udisks2-volume-monitor:通过dbus接口和udisks通信,并通知udisks执行挂载动作
dbus日志:
method call time=1676208239.256604 sender=:1.52 -> destination=:1.10 serial=23 path=/org/freedesktop/UDisks2/block_devices/sda1; interface=org.freedesktop.UDisks2.Filesystem; member=Mount
array [
dict entry(
string "auth.no_user_interaction"
variant boolean true
)
]
method return time=1676208239.283355 sender=:1.10 -> destination=:1.52 serial=6052 reply_serial=23
string "/media/wandongliang/KYLIN-DESKT"
- 查看设备属性
udevadm info --attribute-walk --path=$(udevadm info --query=path --name=/dev/sda1)