Debian

為什麼 Debian 中沒有設備單元文件?

  • February 21, 2022

我一直在閱讀 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 中處理這些單元?

任何澄清/評論/見解將不勝感激。

答案在你引用的第一句話中。“systemd 將動態創建設備單元”。它說“創造”,而不僅僅是“開始”。通過與 udev 守護程序的集成,一旦核心告訴 udev 有一個新設備,一個 .device 單元將被即時合成。(同樣,如果一個設備消失了, .device 單元也將被銷毀。)

動態創建的是單元本身(因此它僅存在於 systemd 內部的記憶體中),而不是單元文件。因此,它與動態創建的 .scope 單元或瞬態 .service 單元的機制基本相同(與基於 .mount 的生成器創建的單元文件不同/etc/fstab)。

因此,磁碟上的任何地方都沒有單元文件。你可以看到它systemctl status some.device沒有引用任何單元文件,systemctl show some.device也沒有列出任何FragmentPath.

引用自:https://unix.stackexchange.com/questions/571107