为什么 Debian 中没有设备单元文件?

为什么 Debian 中没有设备单元文件?

我一直在阅读 systemd 并对设备单元文件进行一些探索。

根据手册页:

systemd将为所有标有“systemd”标签的内核设备动态创建设备单元udev(默认情况下所有块和网络设备以及其他一些设备)。这可用于定义设备和其他单元之间的依赖性。要标记udev设备,请在规则文件中使用“TAG+="systemd"” udev,请参阅udev(7)参考资料。

我尝试查看/lib/systemd/system,如 Debian Wiki 中所述:

Debian 提供的单元文件位于 /lib/systemd/system 目录中。

但这些都无处可寻。

然而

~$ sudo systemctl list-units --type=device

是否显示设备单元(例如磁盘、声卡、以太网控制器等...)

我想知道在 Debian 中哪里可以找到设备单元文件?或者如果这些不存在那么为什么不存在以及 systemd 如何在 Debian 中处理这些单元?

任何澄清/评论/见解将不胜感激。

答案1

答案就在你引用的第一句话中。 “systemd 将动态创建设备单元”。它说的是“创建”,而不仅仅是“开始”。通过与 udev 守护进程集成,一旦内核告诉 udev 有关新设备的信息,.device 单元将即时合成。 (类似地,如果设备消失,.device 单元也会被销毁。)

它是动态创建的单元本身(因此它仅存在于 systemd 内的内存中),而不是单元文件。因此,它与动态创建的 .scope 单元或瞬态 .service 单元的机制基本相同(与基于 的生成器创建的 .mount 单元文件不同/etc/fstab)。

因此磁盘上的任何位置都没有单元文件。您可以看到它systemctl status some.device没有引用任何单元文件,也systemctl show some.device没有列出任何FragmentPath.

相关内容