systemd 및 존재하지 않는 *.service 파일: 범용인가요?

systemd 및 존재하지 않는 *.service 파일: 범용인가요?

systemd단위는 다음과 같이 저장됩니다 /lib/systemd/system.

rsync.service
avahi-daemon.socket
bluetooth.service
cups.service

다음 명령을 사용하는 경우:

systemctl enable name

name을 활성화하려는 서비스 단위의 이름으로 바꿉니다(예 apache2: ). 이 명령은 [Install]선택한 서비스 단위의 일부를 읽고 /lib/systemd/system/name.service디렉터리 및 해당 하위 디렉터리의 파일에 대한 적절한 심볼릭 링크를 만듭니다./etc/systemd/system/

하지만*.service/lib/systemd/system일부 패키지 에는 mysql및 가 없습니다 apache2. 이를 활성화하면 다음을 사용하여 systemctl잘 작동합니다 .

# systemctl enable apache2
Synchronizing state for apache2.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d apache2 defaults
Executing /usr/sbin/update-rc.d apache2 enable

또는

# systemctl enable mysql
Synchronizing state for mysql.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d mysql defaults
Executing /usr/sbin/update-rc.d mysql enable

다음 서비스와 관련된 파일을 검색해도 결과가 없습니다.

# find /etc/systemd/system/ -iname "*apache2*"
# find /etc/systemd/system/ -iname "*mysql*"

systemd는 apache2 또는 mysql을 활성화하는 방법을 어떻게 알 수 있습니까?

답변1

update-rc.d를 사용하여 apache2.service의 상태를 sysvinit와 동기화하세요...

당신의 대답은 바로 거기에 있습니다. systemd에는 이러한 데몬에 대한 서비스 단위가 없습니다. 그러나 이를 위한 System 5 rc스크립트 가 있습니다 /etc/init.d/. 따라서 이러한 스크립트를 처리하여 update-rc.dLSB 헤더를 읽어 간접적으로 데몬을 활성화/비활성화합니다.

관련 정보