R&D/클라우드

CentOS systemctl 에서 disabled 된 서비스를 enable 하기

sunshout 2016. 1. 11. 16:14

CentOS 계열에서는 service xxx start 대신에 systemctl start xxx.service 형태로 변경되었다.


systemctl start xxx.service 를 실행 했을 때 서비스가 시작되지 않을 때는 여러가지 원인이 있다.


systemctl status xxx.service 를 하면 현재 상태를 볼 수 있다.

예를 들어 아래 svnserve 를 실행했지만, 서비스가 실행되지 않았다. 상태를 파악하기 위해서 status 를 실행해 보면 "disabled, vendor preset:disabled 라는 로그를 볼 수 있다.


[root@cnode01-m etc]# systemctl start svnserve.service

Job for svnserve.service failed because the control process exited with error code. See "systemctl status svnserve.service" and "journalctl -xe" for details.


[root@cnode01-m etc]# systemctl status svnserve.service

* svnserve.service - Subversion protocol daemon

   Loaded: loaded (/usr/lib/systemd/system/svnserve.service; disabled; vendor preset: disabled)

   Active: failed (Result: exit-code) since Mon 2016-01-11 16:09:57 KST; 9s ago

  Process: 24571 ExecStart=/usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid $OPTIONS (code=exited, status=1/FAILURE)


Jan 11 16:09:57 cnode01-m systemd[1]: Starting Subversion protocol daemon...

Jan 11 16:09:57 cnode01-m svnserve[24571]: svnserve: Root path '/var/svn' does not exist or is not a directory.

Jan 11 16:09:57 cnode01-m systemd[1]: svnserve.service: control process exited, code=exited status=1

Jan 11 16:09:57 cnode01-m systemd[1]: Failed to start Subversion protocol daemon.

Jan 11 16:09:57 cnode01-m systemd[1]: Unit svnserve.service entered failed state.

Jan 11 16:09:57 cnode01-m systemd[1]: svnserve.service failed.



현재 systemctl 로 서비스 들의 상태를 보면 아래처럼 disbled 되어 있음을 알 수 있다.

[root@cnode01-m etc]# systemctl list-unit-files

sshd.service                                enabled

sshd@.service                               static

svnserve.service                            disabled

systemd-ask-password-console.service        static

systemd-ask-password-plymouth.service       static




해당 서비스를 enable 하기 위해서

systemctl enable xxx.service 를 하면 된다.