내 Ubuntu 18.04.1 시스템에서 systemd의 사용자 관리자가 시작되지 않습니다. 나는 이것이 내가 현재 겪고 있는 다른 문제의 근본 원인이라고 생각합니다. 이것을 제거하는 방법에 대한 아이디어가 있습니까?
시스템 버전
$ systemd --version
systemd 237
+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid
우분투 18.04.1 LTS 버전
$ uname -a
Linux example.com 4.15.0 #1 SMP Wed Jul 25 19:09:31 MSK 2018 x86_64 x86_64 x86_64 GNU/Linux
systemctl 장치 상태
$ sudo systemctl status [email protected]
● [email protected] - User Manager for UID 1001
Loaded: loaded (/lib/systemd/system/[email protected]; static; vendor preset: enabled)
Drop-In: /lib/systemd/system/[email protected]
└─timeout.conf
Active: failed (Result: protocol) since Tue 2019-01-08 10:33:08 CET; 1min 42s ago
Process: 315 ExecStart=/lib/systemd/systemd --user (code=exited, status=1/FAILURE)
Main PID: 315 (code=exited, status=1/FAILURE)
Jan 08 10:33:08 example.com systemd[1]: Starting User Manager for UID 1001...
Jan 08 10:33:08 example.com systemd[315]: pam_unix(systemd-user:session): session opened for user mischa by (uid=0)
Jan 08 10:33:08 example.com systemd[1]: [email protected]: Failed with result 'protocol'.
Jan 08 10:33:08 example.com systemd[1]: Failed to start User Manager for UID 1001.
시스템 로그에 따르면
Jan 8 10:33:08 example.com systemd[1]: Starting User Manager for UID 1001...
Jan 8 10:33:08 example.com systemd[315]: Failed to create /user.slice/user-1001.slice/[email protected]/init.scope control group: Permission denied
Jan 8 10:33:08 example.com systemd[315]: Failed to allocate manager object: Permission denied
Jan 8 10:33:08 example.com systemd[1]: [email protected]: Failed with result 'protocol'.
Jan 8 10:33:08 example.com systemd[1]: Failed to start User Manager for UID 1001.
내 사용자 서비스 단위 파일
$ cat /lib/systemd/system/[email protected]
# SPDX-License-Identifier: LGPL-2.1+
#
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
[Unit]
Description=User Manager for UID %i
After=systemd-user-sessions.service
[Service]
User=%i
PAMName=systemd-user
Type=notify
ExecStart=-/lib/systemd/systemd --user
Slice=user-%i.slice
KillMode=mixed
Delegate=pids cpu
TasksMax=infinity
TimeoutStopSec=120s
답변1
우분투의 문제점은 핵심 패키지가 없다는 것입니다.libpam-cgfs
답변2
Ubuntu를 업그레이드한 후 이런 일이 발생했습니다... 다음 디렉터리 체인에서 권한을 확인해야 할 수도 있습니다.
/sys/fs/cgroup/systemd/user.slice/user-1000.slice/
그래서 당신은 확실히해야합니다다른사용자가 디렉터리를 생성할 수 있도록 전체 읽기 및 실행 권한이 있습니다. 나에게는 업그레이드가 올바른 권한을 설정하지 않은 것 같습니다./sys/fs/cgroup/systemd/ 그래서 나는 다음을 수행했습니다.
chmod o+rx /sys/fs/cgroup/systemd/
답변3
나는 이것이 통합된 cgroup 계층 구조를 갖춘 systemd 버전 237의 버그라고 생각합니다.
systemd-run을 사용하여 재현할 수도 있습니다.
해결 방법은 커널 매개변수를 추가하여 통합 cgroup 계층 구조를 비활성화하는 것입니다.
여기 해결 방법을 사용하여 문제를 해결했습니다.https://github.com/plathub/org.gimp.GIMP/issues/23#issuecomment-394911840
단계는 다음과 같습니다.
- /etc/default/grub을 편집하고 다음을 변경합니다.
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
도착하다:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash systemd.legacy_systemd_cgroup_controller=1"
- sudo 업데이트 그럽
- 재시작
답변4
그것을 사용한 후에 이런 일이 일어났습니다 umount -a
.mount -a
일부 디렉토리는 읽기 전용이 되었습니다. rw로 다시 설치하면 문제가 해결되었지만 모든 것을 다루지는 않았습니다.
...각 활성 서비스에 대한 폴더 구조를 수동으로 생성
mkdir /sys/fs/cgroup/systemd/[slice]/service
다음 : ...
chmod o+rx /sys/fs/cgroup/systemd/ -R
systemctl daemon-reload
systemctl daemon-reexec
다시 시작하지 않고 문제 해결(서비스를 실행 중이기 때문에 피해야 함)
중요한 알림:사용된chmod -R