Debian

為什麼debian不穩定更喜歡安裝cgmanager?

  • May 9, 2017

我使用debootstrapsystemd-nspawn啟動了一個 Debian Unstable 容器。主機系統是 Debian Jessie。

systemctl顯示容器有一個失敗的服務,cgproxy. (儘管執行了一個守護程序cgmanager,但在主機上安裝並沒有幫助)。cgmanager

如果我詢問從容器中apt-get移除的問題,它會說移除並安裝. 但建議是首選的替代方案。cgmanager``systemd-shim``systemd-sysv``aptitude``systemd-shim

$ aptitude why cgmanager
i   systemd        Recommends libpam-systemd                        
i A libpam-systemd Depends    systemd-shim (>= 10-3~) | systemd-sysv
i A systemd-shim   Depends    cgmanager (>= 0.32)
  • 具體libpam-systemd取決於什麼,可以由 或 之一systemd-shim提供systemd-sysv?僅說明systemd-sysv它具有“systemd 替換 sysvinit 所需的手冊頁和連結”。
  • 為什麼libpam-systemd包更systemd-shim喜歡systemd-sysv
  • 如果我切換了它,所以我沒有間接安裝systemd-shim,因此cgmanager,我會失去任何預期的功能嗎?

libpam-systemd 具體依賴什麼,可以由 systemd-shim 或 systemd-sysv 之一提供?systemd-sysv 的描述僅說它具有“systemd 替換 sysvinit 所需的手冊頁和連結”。

我認為這是systemd-部分:-P。

libpam-systemd旨在在使用systemd. 或者,如果它使用不同的 init 系統引導,它將與 systemd- shim一起工作。

你被這個名字誤導了systemd-sysv。它不僅為使用者程序提供向後兼容性。它還systemd通過創建從/sbin/initto的符號連結設置為核心載入的預設 init 系統/lib/systemd/systemd

libpam-systemd軟體包依賴項假設當且僅當 systemd 是預設的 init 系統時,作業系統才會啟動systemd

**結論:**當您想在 Debian 中安裝 systemd 時,通常需要安裝 systemd-sysv 軟體包。

您感到困惑的真正原因是您使用systemd-nspawn. 我認為systemd-nspawn在通常的地方搜尋 init 系統,然後回退到/lib/systemd/systemd.

如果您嘗試使用 Linux 核心(例如在虛擬機中)啟動此安裝,您會注意到您沒有設置預設的 init 系統

   if (!try_to_run_init_process("/sbin/init") ||
       !try_to_run_init_process("/etc/init") ||
       !try_to_run_init_process("/bin/init") ||
       !try_to_run_init_process("/bin/sh"))
       return 0;

   panic("No working init found.  Try passing init= option to kernel. "
"See Linux Documentation/admin-guide/init.rst for guidance.");

https://github.com/torvalds/linux/blob/v4.11/init/main.c#L990

為什麼 libpam-systemd 包更喜歡 systemd-shim 而不是 systemd-sysv?

大概有些軟體包依賴於 libpam-systemd。當它作為依賴項被引入時,假設您不希望安裝 systemd-sysv,如果它還沒有被標記為這樣的話。這樣做會改變你的初始化系統!相反,最好安裝兼容性墊片。

如果我切換它,所以我沒有間接安裝 systemd-shim 和 cgmanager,我會失去任何預期的功能嗎?

沒有。

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