
Когда я запускаю/останавливаю/перезапускаю демон (например, apache2), сообщение не появляется. Я на Debian testing (jessie).
На моем старом сервере (тоже Debian testing) отображаются сообщения:
root@old-server # /etc/init.d/apache2 restart
[ ok ] Restarting web server: apache2.
Но не на новом сервере:
root@new-server # /etc/init.d/apache2 restart
Как мне просмотреть эти сообщения?
Скрипт /etc/init.d/apache2 (одинаковый на обоих серверах):http://pastebin.com/RWHpSymG
Спасибо!
решение1
Функции, которые обеспечивают вывод, устанавливаются в /lib/lsb/init-functions.d
каталог. Скорее всего, у вас там нет ничего, что обеспечивает хороший вывод.
Пакет lsb-base
предоставляет /lib/lsb/init-functions
скрипт, который исходит из вашего скрипта init. Это предоставляет заглушки для функций, которые производят вывод, который переопределяется путем исходящего каждого файла в /lib/lsb/init-functions.d
.
Скрипты, предоставляющие эти функции, должны быть помещены туда каким-либо пакетом, установленным как часть вашей системы автозагрузки. Например, у меня systemd
на Debian Jessie, который предоставляет /lib/lsb/init-functions.d/40-systemd
. Это выводит немного другое сообщение при перезапуске служб. ssh
Я получаю:
[ ok ] Restarting ssh (via systemctl): ssh.service.
Скорее всего, у вас установлен не тот пакет, файлы каким-то образом были удалены, или в версии пакета, которую вы используете, есть ошибка.
Попробуйте выполнить grep -r Restarting /lib/lsb
на обеих системах, чтобы найти файл, который выдает сообщение (если таковой имеется). Затем вы можете использовать, dpkg -S <filename>
чтобы найти пакет, который его установил.