Law*_*ard 3 debian systemd systemd-unit
我一直在阅读 systemd 并对设备单元文件进行了一些探索。
根据手册页:
systemd将为所有标有“systemd”udev标签的内核设备动态创建设备单元(默认情况下所有块和网络设备,以及其他一些)。这可用于定义设备和其他单元之间的依赖关系。要标记udev设备udev,请在规则文件中使用“TAG+="systemd"” ,请参阅udev(7)有关详细信息。
我曾尝试查看 /lib/systemd/system,如 Debian Wiki 中所述:
Debian 提供的单元文件位于 /lib/systemd/system 目录中。
但这些都无处可寻。
然而
~$ sudo systemctl list-units --type=device
Run Code Online (Sandbox Code Playgroud)
是否显示设备单元(如磁盘、声卡、以太网控制器等...)
我想知道在 Debian 中哪里可以找到设备单元文件?或者如果这些不存在,那么为什么不存在,systemd 如何在 Debian 中处理这些单元?
任何澄清/评论/见解将不胜感激。
谢谢MK。拉哈尔
答案就在你引用的第一句话中。“systemd 将动态创建设备单元”。它说的是“创建”,而不仅仅是“开始”。通过与 udev 守护进程的集成,一旦内核告诉 udev 一个新设备,一个 .device 单元将被即时合成。(同样,如果设备消失,.device 单元也将被销毁。)
动态创建的是单元本身(所以它只存在于 systemd 的内存中),而不是单元文件。因此,它与动态创建的 .scope 单元或瞬态 .service 单元的机制基本相同(与由基于 的生成器创建的 .mount 单元文件不同/etc/fstab)。
因此,磁盘上的任何地方都没有单元文件。你可以看到systemctl status some.device它没有引用任何单元文件,systemctl show some.device也没有列出任何FragmentPath.
| 归档时间: |
|
| 查看次数: |
307 次 |
| 最近记录: |