/etc/init.d
sysvinit와의 호환성을 위해 우분투에서 유지됩니다. 실제로 보면 /etc/init.d/rc.local
12.04 LTS 서버에서도 볼 수 있습니다.
#! /bin/sh
### BEGIN INIT INFORMATION
# Provides: rc.local
# Required-Start: $remote_fs $syslog $all
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: Run /etc/rc.local if it exist
### END INIT INFO
그리고 "/etc/rc.local에 실행" 은 바로 이러한 것입니다. 전체 /etc/rc.local
는 다음과 같습니다.
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
exit 0
이 작업의 목적은 시작시 서비스 항목을 처리 할 필요없이 부팅 할 때 실행하려는 쉘 명령을 넣을 수없는 간단한 위치를 제공하는 것입니다 /etc/init.d/rc.local
.
따라서 실제로 서비스이며 그대로 실행할 수 있습니다. 에 echo
줄을 추가했습니다 /etc/rc.local
.
»service rc.local start
hello world
그러나 upstart의 /etc/init
(init.d! 아님) 디렉토리 에있는 것으로 참조되지는 않습니다.
»initctl start rc.local
initctl: Unknown job: rc.local
시작시 몇 가지 "rc"서비스가 있습니다.
»initctl list | grep rc
rc stop/waiting
rcS stop/waiting
rc-sysinit stop/waiting
그러나 그중 어느 것도 rc.local과 관련이없는 것 같습니다.