Что-то странное в /etc/rc0.d
Я использую Ubuntu 12.04.1
Я просто хотел найти хороший инструмент для управления услугами, и я вижу, что он не существует...
Собственный "update-rc.d" управляет сервисами, но не предоставляет информацию, а не собственный "chkconfig" предоставляет информацию, но выдает ошибку, когда я пытаюсь активировать какой-то сервис на каком-то уровне выполнения.
В любом случае, я просто перечислил каталог /etc/rc0.d/ и нашел ссылку для запуска сетевого скрипта (ссылка, начинающаяся с "S"):
user@comp:/etc/rc0.d$ ls -la
total 20
drwxr-xr-x 2 root root 4096 окт. 11 16:45 .
drwxr-xr-x 139 root root 12288 окт. 21 11:55 ..
lrwxrwxrwx 1 root root 17 окт. 11 16:45 K09apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 29 окт. 11 04:39 K10unattended-upgrades -> ../init.d/unattended-upgrades
lrwxrwxrwx 1 root root 27 окт. 11 04:39 K20speech-dispatcher -> ../init.d/speech-dispatcher
-rw-r--r-- 1 root root 353 июля 26 20:23 README
lrwxrwxrwx 1 root root 18 окт. 11 04:39 S20sendsigs -> ../init.d/sendsigs
lrwxrwxrwx 1 root root 17 окт. 11 04:39 S30urandom -> ../init.d/urandom
lrwxrwxrwx 1 root root 22 окт. 11 04:39 S31umountnfs.sh -> ../init.d/umountnfs.sh
lrwxrwxrwx 1 root root 20 окт. 11 04:39 S35networking -> ../init.d/networking
lrwxrwxrwx 1 root root 18 окт. 11 04:39 S40umountfs -> ../init.d/umountfs
lrwxrwxrwx 1 root root 20 окт. 11 04:39 S60umountroot -> ../init.d/umountroot
lrwxrwxrwx 1 root root 14 окт. 11 04:39 S90halt -> ../init.d/halt
Мой единственный вопрос: все ли в порядке?
Если все в порядке, почему сетевой сервис должен запускаться на уровне остановки?
Если это не хорошо, как я могу это исправить?
1 ответ
Посмотри на /etc/init.d/halt
, Этот файл обязательно принадлежит /etc/rc0.d
- и единственное, что он определяет, это stop
функциональность (т.е. /etc/init.d/halt start
это неоперация). Следовательно, можно предположить, что сценарии в /etc/rc0.d
называются с stop
скорее, чем start
аргумент.
Затем, посмотрев на /etc/init.d/networking
, мы видим:
stop)
check_network_file_systems
check_network_swap
log_action_begin_msg "Deconfiguring network interfaces"
if ifdown -a --exclude=lo $verbose; then
log_action_end_msg $?
else
log_action_end_msg $?
fi
;;
который сначала гарантирует, что файловые системы больше не монтируются в сети (что должно быть после umountnfs.sh
побежал), а затем отключает сеть (через ifdown
), например, освободить аренду DHCP или что-либо еще разумное, что можно было бы предпринять при деконфигурации сети.
В заключение, имея ссылку на /etc/init.d/networking
в /etc/rc0.d
отлично в порядке.
(Обратите внимание, что я использую Debian, но сценарии должны быть в основном такими же.)
Кроме того, вы должны обычно использовать update-rc.d
который может включать / отключать службы либо для определенных уровней выполнения, либо в целом, и ls
для того, чтобы увидеть, какие услуги включены / отключены. Я предполагаю, что Ubuntu не переключится на systemd в ближайшее время, хотя, очевидно, его можно уже установить в Debian, если он решит это сделать.