/etc/init.d
підтримується на ubuntu для зворотної сумісності із системами sysvinit. Якщо ви насправді дивитесь, /etc/init.d/rc.local
ви побачите (також із сервера 12,05 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
І "Run /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
Однак я не вірю, що на це посилається що-небудь у /etc/init
каталозі upstart (не 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.