Важно: в этом упражнении предполагается, что вы будете использовать дистрибутив Ubuntu 14 либо загрузку ядра, в меню загрузчика, с поддержкой upstart. В этом упражнении также предполагается, что вы ознакомились с концепциями и задачами видеоурока Upstart. Чтобы успешно выполнить это упражнение, вам нужно будет дублировать задачи, продемонстрированные в видео.
Как мы узнали в предыдущем уроке, upstart — это новый инструмент для запуска процессов и управления сервисами для Ubuntu. Он заменяет старую систему инициализации SysVinit. Upstart работает так же, как старая система на Ubuntu с несколькими ключевыми различиями. Как и SysVinit, upstart — всегда первый процесс, запускаемый в системе. На последнем этапе процесса загрузки используется команда telinit, чтобы перевести систему на соответствующий уровень инициализации, как указано в файле /etc/init/rc-sysinit.conf. Он взаимодействует с уровнями инициализации (концепция уровней инициализации по-прежнему применяются к Ubuntu с Upstart). Ключевое различие заключается в том, что Upstart позволяет запускать задания параллельно, обеспечивая более быстрый запуск системы. Upstart также позволяет «сервисам» отслеживать «события», происходящие в системе. В этом упражнении мы собираемся создать задание, которое отслеживает событие изменения уровня запуска и выполняет команду на основе этого события.
Пожалуйста, выполните следующие задачи в качестве пользователя root.
- Просмотрите системные сервисы и задачи, которые управляются программой Upstart.
- SSH — это задача, управляемая Upstart в Ubuntu 14. Используя Upstart перезапустите сервис SSH.
- С помощью соответствующей команды также перезапустите сервис SSH, используя команду управления сервисами для SysV.
- Создайте новую задачу, с именем logger.conf, которая использует команду logger для создания записи в файле журнала /var/log/syslog с фразой «Hello World» и датой/временем выполнения команды. Задача должна запускаться, когда система входит в уровень инициализации 4 и только на уровне уровне инициализации 4. В качестве начального шаблона можно использовать файл /etc/init/cron.conf. Обязательно используйте блок команд script вместо блока команд exec. Назовите конфигурационный файл ‘logger.conf’
- Узнайте уровень инициализации по умолчанию вашей системы.
- Проверьте, что созданная задача работает, указав, что ваша система должна перейти на уровень инициализации 4.
- Вернитесь к вашему уровню инициализации по умолчанию в системе.
- Просмотрите файл syslog, чтобы проверить, были ли направлены дата и текст в syslog.
- Измените файл logger.conf, чтобы служба запускалась на всех уровнях инициализации.
- Перезагрузите систему и просмотрите снова содержимое файла syslog, чтобы убедиться, что созданная задача работает правильно.