皮皮网

皮皮网

【英文源码网站】【凤凰体育源码】【暗黑战网源码】Ubuntu源码里面usb源码在哪

时间:2024-11-23 10:29:08 分类:休闲

1.UbuntuԴ?源码b源?????usbԴ??????

Ubuntu源码里面usb源码在哪

UbuntuԴ??????usbԴ??????

       首先明确需求:当USB设备插入计算机后,需要自动挂载到本地目录,源码b源并具备读写权限。源码b源

       解决方案的源码b源英文源码网站思路是利用udev,以下是源码b源一篇文章的相关内容:

       文中提到“4. Udev小窍门-自动加载usb设备”,按照步骤操作,源码b源但并未达到预期效果。源码b源从日志中可以看出,源码b源rules的源码b源规则被成功执行,没有错误。源码b源因此,源码b源凤凰体育源码我查阅了官方文档。源码b源

       虽然这篇文章是源码b源关于ArchLinux的,但4.1节中提到“Mounting drives in rules”,源码b源指出不要从udevrules中调用mount,源码b源并给出了两个原因:

       1. systemd默认以独立的暗黑战网源码“mount namespace”运行systemd-udevd.service(参见namespaces(7)),这意味着挂载点对系统其他部分不可见。

       2. 即使更改服务参数以解决这个问题(注释掉PrivateMounts和MountFlags行),还有一个问题是udev启动的程序在几秒后会杀死。对于FUSE文件系统(如NTFS-3G),mount会启动一个用户空间进程来处理文件系统内部;如果这个进程被杀死,重庆网站源码尝试访问文件系统时将出现“传输端点未连接”错误。

       在Ubuntu版本的udev文档中,并没有提到systemd-mount。

       不知道Ubuntu是否也是同样的原因,看起来是裤子溯源码命名空间问题导致当前用户看不到挂载点。

       为了便于追踪问题,rules里的规则RUN直接写成RUN+="/lib/udev/xxxx.sh $devnode",这个脚本用于收集日志以排查问题。

       脚本执行后,/aaa/bbb/ccc目录下仍未出现U盘中的文件。

       目前尚未解决的问题就在这里。参考了systemd-mount的文档,本想去除--no-block尝试,但挂载命令执行一段时间后依旧失败。

       以下是使用笨方法解决的方法:

       执行ls /aaa/bbb/ccc命令后,/aaa/bbb/ccc才能挂载成功。因此:

       这个方法非常麻烦,但目前算是解决了需求。希望有高手一起讨论,找出更完美的解决方案。