Каково текущее состояние перехода Ubuntu из скриптов init.d в upstart? Мне было любопытно, поэтому я сравнил содержимое /etc/init.d/ с /etc/init/ на одной из наших машин разработки, на которой запущен сервер Ubuntu 12.04 LTS.
# /etc/init.d/ # /etc/init/
acpid acpid.conf
apache2 ---------------------------
apparmor ---------------------------
apport apport.conf
atd atd.conf
bind9 ---------------------------
bootlogd ---------------------------
cgroup-lite cgroup-lite.conf
--------------------------- console.conf
console-setup console-setup.conf
--------------------------- container-detect.conf
--------------------------- control-alt-delete.conf
cron cron.conf
dbus dbus.conf
dmesg dmesg.conf
dns-clean ---------------------------
friendly-recovery ---------------------------
--------------------------- failsafe.conf
--------------------------- flush-early-job-log.conf
--------------------------- friendly-recovery.conf
grub-common ---------------------------
halt ---------------------------
hostname hostname.conf
hwclock hwclock.conf
hwclock-save hwclock-save.conf
irqbalance irqbalance.conf
killprocs ---------------------------
lxc lxc.conf
lxc-net lxc-net.conf
module-init-tools module-init-tools.conf
--------------------------- mountall.conf
--------------------------- mountall-net.conf
--------------------------- mountall-reboot.conf
--------------------------- mountall-shell.conf
--------------------------- mounted-debugfs.conf
--------------------------- mounted-dev.conf
--------------------------- mounted-proc.conf
--------------------------- mounted-run.conf
--------------------------- mounted-tmp.conf
--------------------------- mounted-var.conf
networking networking.conf
network-interface network-interface.conf
network-interface-container network-interface-container.conf
network-interface-security network-interface-security.conf
newrelic-sysmond ---------------------------
ondemand ---------------------------
plymouth plymouth.conf
plymouth-log plymouth-log.conf
plymouth-splash plymouth-splash.conf
plymouth-stop plymouth-stop.conf
plymouth-upstart-bridge plymouth-upstart-bridge.conf
postgresql ---------------------------
pppd-dns ---------------------------
procps procps.conf
rc rc.conf
rc.local ---------------------------
rcS rcS.conf
--------------------------- rc-sysinit.conf
reboot ---------------------------
resolvconf resolvconf.conf
rsync ---------------------------
rsyslog rsyslog.conf
screen-cleanup screen-cleanup.conf
sendsigs ---------------------------
setvtrgb setvtrgb.conf
--------------------------- shutdown.conf
single ---------------------------
skeleton ---------------------------
ssh ssh.conf
stop-bootlogd ---------------------------
stop-bootlogd-single ---------------------------
sudo ---------------------------
--------------------------- tty1.conf
--------------------------- tty2.conf
--------------------------- tty3.conf
--------------------------- tty4.conf
--------------------------- tty5.conf
--------------------------- tty6.conf
udev udev.conf
udev-fallback-graphics udev-fallback-graphics.conf
udev-finish udev-finish.conf
udevmonitor udevmonitor.conf
udevtrigger udevtrigger.conf
ufw ufw.conf
umountfs ---------------------------
umountnfs.sh ---------------------------
umountroot ---------------------------
--------------------------- upstart-socket-bridge.conf
--------------------------- upstart-udev-bridge.conf
urandom ---------------------------
--------------------------- ureadahead.conf
--------------------------- ureadahead-other.conf
--------------------------- wait-for-state.conf
whoopsie whoopsie.conf
Честно говоря, я не полностью уверен, что я правильно интерпретирую разделение обязанностей, так как я не ожидал увидеть какое-либо совпадение (какая структура обрабатывает какие службы). Поэтому я был очень удивлен, узнав, что в ссылках на службы было значительное перекрытие, в дополнение к тому, что они не смогли определить, какая из двух была предназначена для первичной структуры службы.
Почему чтобы быть достаточным количеством избыточности при обработке индивидуальных услуг между init.d и upstart? Что-то еще здесь играет, что мне не хватает? Что мешает upstart полностью захватить init.d? Есть ли какая-то функциональность, которой нужны определенные демоны, которых еще нет upstart, которые препятствуют конвертации некоторых сервисов? Или это совсем другое?