14.2 – Задание

Важно: в этом упражнении предполагается, что вы будете использовать дистрибутив Ubuntu 14 либо загрузку ядра, в меню загрузчика, с поддержкой upstart. В этом упражнении также предполагается, что вы ознакомились с концепциями и задачами видеоурока Upstart. Чтобы успешно выполнить это упражнение, вам нужно будет дублировать задачи, продемонстрированные в видео.

Как мы узнали в предыдущем уроке, upstart – это новый инструмент для запуска процессов и управления сервисами для Ubuntu. Он заменяет старую систему инициализации SysVinit. Upstart работает так же, как старая система на Ubuntu с несколькими ключевыми различиями. Как и SysVinit, upstart – всегда первый процесс, запускаемый в системе. На последнем этапе процесса загрузки используется команда telinit, чтобы перевести систему на соответствующий уровень инициализации, как указано в файле /etc/init/rc-sysinit.conf. Он взаимодействует с уровнями инициализации (концепция уровней инициализации по-прежнему применяются к Ubuntu с Upstart). Ключевое различие заключается в том, что Upstart позволяет запускать задания параллельно, обеспечивая более быстрый запуск системы. Upstart также позволяет «сервисам» отслеживать «события», происходящие в системе. В этом упражнении мы собираемся создать задание, которое отслеживает событие изменения уровня запуска и выполняет команду на основе этого события.

Пожалуйста, выполните следующие задачи в качестве пользователя root.

  1. Просмотрите системные сервисы и задачи, которые управляются программой Upstart.
  2. SSH – это задача, управляемая Upstart в Ubuntu 14. Используя Upstart перезапустите сервис SSH.
  3. С помощью соответствующей команды также перезапустите сервис SSH, используя команду управления сервисами для SysV.
  4. Создайте новую задачу, с именем logger.conf, которая использует команду logger для создания записи в файле журнала /var/log/syslog с фразой «Hello World» и датой/временем выполнения команды. Задача должна запускаться, когда система входит в уровень инициализации 4 и только на уровне уровне инициализации 4. В качестве начального шаблона можно использовать файл /etc/init/cron.conf. Обязательно используйте блок команд script вместо блока команд exec. Назовите конфигурационный файл ‘logger.conf’
  5. Узнайте уровень инициализации по умолчанию вашей системы.
  6. Проверьте, что созданная задача работает, указав, что ваша система должна перейти на уровень инициализации 4.
  7. Вернитесь к вашему уровню инициализации по умолчанию в системе.
  8. Просмотрите файл syslog, чтобы проверить, были ли направлены дата и текст в syslog.
  9. Измените файл logger.conf, чтобы служба запускалась на всех уровнях инициализации.
  10. Перезагрузите систему и просмотрите снова содержимое файла syslog, чтобы убедиться, что созданная задача работает правильно.