У меня проблема с установкой сервера Ubuntu :/ На сервере работает несколько служб, например, postfix, dovecot (как почтовый сервер), apache2, mysqld, elasticsearch. Обычно при запуске эти службы должны запускаться автоматически, но, к сожалению, они больше не делают этого после обновления до Ubuntu 14.04.1 LTS с 12.04.
У меня нет обширных знаний о запуске и службах ubuntu, поэтому я не знаю, что делать. Я проверил, правильно ли выбран уровень выполнения после запуска (да, правильно, N 2), но это все, что я сделал.
Что я обнаружил, так это то, что, похоже, только upstart-сервисы (которые имеют конфигурацию в /etc/init/) запускаются автоматически (например, mysqld, dovecot). Службы, которые с помощью sysvinit (/etc/init.d) не запускаются (например, postfix, apache2).
Я могу запустить службы вручную через ssh (upstart service) соединение без каких-либо проблем, так что я не думаю, что это проблема самих служб.
Надеюсь, кто-нибудь сможет мне помочь :(
Заранее спасибо.
EDIT:
Logfiles:
dmesg: http://pastebin.com/uwrwhVmT
syslog: http://pastebin.com/8fczRUE1
boot.log: пусто
kern: pastebin.com/TA9GiG95
EDIT2:
Я прочитал и изучил это немного больше и кажется, что все службы, которые могут быть запущены через upstart, запускаются, а службы, использующие sysvinit, больше не запускаются.
rc-sysvinit.conf script: pastebin.com/77sMbBy0
EDIT3:
Для проверки я перенес apache2 на rcS, и он запускается автоматически. Я сделал это, потому что увидел следующую строку в rc-sysinit.conf
:
[ -n "${FROM_SINGLE_USER_MODE}" ] || /etc/init.d/rcS
Я проверил файл entiere в исходниках 14.04, но не нашел никакой разницы. Это расстраивает, я не могу найти решение, как перенести все необходимые службы на rcS?! :)
EDIT4:
Теперь я получил совет от rbasak в #ubuntu-server irc, и выполнил шаги по запуску.
/etc/init/rc-sysinit.conf
успешно вызывает (отслеживается логгером) /etc/init.d/rcS
, который выполняет /etc/init.d/rc S
(уровень выполнения S
я отслеживал логгером). После этого /etc/init/rc-sysinit.conf
выполняет telinit "${DEFAULT_RUNLEVEL}"
(DEFAULT_RUNLEVEL равен 2, отслеживается с помощью логгера), но /etc/init. d/rc
после этого не выполняется (он должен выполняться, а оператор logger должен регистрировать уровень выполнения 2
). Есть предложения?
После нескольких попыток решить проблему или узнать, какова проблема, я теперь переустановил с фактическим изображением Ubuntu 14.04, и все работает теперь. К несчастью я не могу сказать, какова проблема была :(