Systemd

Debian 11,工作正常,但發生奇怪的 systemd 錯誤

  • September 6, 2021

我在 Debian 11 上,在使用 kvm 的虛擬機上我的使用者可以通過控制台、ssh 和 lightdm 登錄。但是systemd有錯誤

sudo systemctl status user@1000.service 
● user@1000.service - User Manager for UID 1000
    Loaded: loaded (/lib/systemd/system/user@.service; static)
   Drop-In: /lib/systemd/system/user@.service.d
            └─sysfs.conf
    Active: failed (Result: exit-code) since Mon 2021-09-06 20:20:08 UTC; 50min ago
      Docs: man:user@.service(5)
  Main PID: 897 (code=exited, status=1/FAILURE)
       CPU: 12ms

set 06 20:20:08 host systemd[1]: Starting User Manager for UID 1000...
set 06 20:20:08 host systemd[897]: pam_unix(systemd-user:session): session opened for user user(uid=1000) by (uid=0)
set 06 20:20:08 host systemd[897]: Failed to determine supported controllers: No such process
set 06 20:20:08 host systemd[897]: Failed to allocate manager object: No such process
set 06 20:20:08 host systemd[1]: user@1000.service: Main process exited, code=exited, status=1/FAILURE
set 06 20:20:08 host systemd[1]: user@1000.service: Failed with result 'exit-code'.
set 06 20:20:08 host systemd[1]: Failed to start User Manager for UID 1000.

我看到服務嘗試執行此行

grep -i exec /lib/systemd/system/user@.service
ExecStart=/lib/systemd/systemd --user

我嘗試調試服務

/lib/systemd/systemd --user --log-level=debug

systemd 247.3-6 running in user mode for user 1000/user. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +ZSTD +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=unified)
Failed to create '/run/user/1000/systemd/inaccessible', ignoring: File exists
Failed to create '/run/user/1000/systemd/inaccessible/reg', ignoring: File exists
Failed to create '/run/user/1000/systemd/inaccessible/dir', ignoring: File exists
Failed to create '/run/user/1000/systemd/inaccessible/fifo', ignoring: File exists
Failed to create '/run/user/1000/systemd/inaccessible/sock', ignoring: File exists
Failed to create '/run/user/1000/systemd/inaccessible/chr', ignoring: File exists
Failed to create '/run/user/1000/systemd/inaccessible/blk', ignoring: Operation not permitted
Found cgroup2 on /sys/fs/cgroup/, full unified hierarchy
Failed to determine root cgroup, ignoring cgroup memory limit: No such process
RLIMIT_MEMLOCK is already as high or higher than we need it, not bumping.
Found cgroup2 on /sys/fs/cgroup/, full unified hierarchy
Unified cgroup hierarchy is located at /sys/fs/cgroup/user.slice/user-1000.slice/session-1.scope.
Failed to create /user.slice/user-1000.slice/session-1.scope/init.scope control group: Permission denied
Failed to allocate manager object: Permission denied

有什麼解決辦法嗎?

找到解決方案/解決方法,可能是 systemd 的錯誤。在 grub “systemd.unified_cgroup_hierarchy=0” 上使用這個 cmdline 一切正常

vim /etc/default/grub

GRUB_CMDLINE_LINUX="apparmor=1 security=apparmor systemd.unified_cgroup_hierarchy=0"

update-grub2
shutdown -r now

我們做了一些檢查,一切正常

systemctl is-active user@1000.service 
active
sudo systemctl list-units --state failed 
 UNIT LOAD ACTIVE SUB DESCRIPTION
0 loaded units listed.

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