/usr/lib/systemd/에서 systemd 서비스를 사용하는 방법은 무엇입니까?

/usr/lib/systemd/에서 systemd 서비스를 사용하는 방법은 무엇입니까?

패키지 관리자 에 설치된 서비스는 /usr/lib/systemd/Debian(9.5)에서 어떻게 사용해야 합니까?

에 수많은 서비스가 설치된 것을 볼 수 있는데 , 이러한 서비스는 일반적인 명령으로는 사용할 수 /usr/lib/systemd/user없습니다 . systemctl status my-service사용하려는 서비스를 수동으로 복사해야 합니까 /etc/systemd/user/?

답변1

시스템 전체 서비스 외에도 Systemd를 사용하면 각 사용자에게 사용자별 서비스를 제공할 수 있습니다. 이 플래그가 추가되면 일반 systemctl 명령( stop, start, status, edit, ...)을 통해 관리할 수 있습니다. 예를 들어, 시스템 전체 서비스 관리자는 이를 모르지만 사용자의 서비스 관리자는 다음을 수행합니다.enable--user/usr/lib/systemd/user/syncthing.service

↪ ls /usr/lib/systemd/user/syncthing.service 
Permissions Size User Date Modified Name
.rw-r--r--   285 root 13 Jun 20:40  /usr/lib/systemd/user/syncthing.service
↪ systemctl status syncthing                                                                                     
Unit syncthing.service could not be found.
↪ systemctl --user status syncthing               
● syncthing.service - Syncthing - Open Source Continuous File Synchronization
   Loaded: loaded (/usr/lib/systemd/user/syncthing.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2018-07-24 17:10:22 CEST; 2 weeks 3 days ago
     Docs: man:syncthing(1)
 Main PID: 815 (syncthing)
   CGroup: /user.slice/user-1000.slice/[email protected]/syncthing.service
           └─815 /usr/bin/syncthing -no-browser -no-restart -logflags=0

systemctl status --user현재 사용자에 대해 현재 활성화된 모든 장치를 나열하는 데 사용할 수 있습니다.

사용자는 쓰기가 불가능한 경우 자신의 단위를 정의할 수도 있고, /usr/lib/systemd/user관리자는 이 목적으로 나열된 디렉토리 중 하나에 사용자 단위를 추가하여 시스템에 로컬로 사용자 단위를 정의할 수도 있습니다.시스템 유닛(5):

  • ~/.config/systemd/users/
  • /etc/systemd/사용자/
  • $XDG_RUNTIME_DIR/시스템/사용자/
  • ~/.local/share/systemd/user/

답변2

사용자 서비스 의 경우 systemctl --user status my-service. 사용자 서비스는 user.sliceof 명령 아래에도 표시됩니다 systemctl status. 또한 --user이러한 서비스는 일반 사용자 세션에서 실행되고 루트 액세스가 필요하지 않으므로 시작/중지/활성화/비활성화하는 플래그가 필요합니다 . 더 읽어보세요https://wiki.archlinux.org/index.php/Systemd/User

관련 정보