ubuntu 9.10: прощай, init. привет, upstart

Еще одно важное нововведение, которое тихой сапой появилось при агрейде системы до 9.10, стал новый демон upstart, который заменил собой старый, хорошо изученный SysV init.

Теперь запуск сервисов настраивается не через скрипты в /etc/init.d (хотя в целях обратной совместимости обвязка для их запуска имеется), а через конфигурационные файлы в /etc/init.

Вот, скажем, конфигурация для cron, /etc/init/cron.conf:

  1. # cron - regular background program processing daemon
  2. #
  3. # cron is a standard UNIX program that runs user-specified programs at
  4. # periodic scheduled times
  5.  
  6. description "regular background program processing daemon"
  7.  
  8. start on runlevel [2345]
  9. stop on runlevel [!2345]
  10.  
  11. expect fork
  12. respawn
  13.  
  14. exec cron
  15.  

Управление сервисами ('Jobs' в терминологии upstart) производится утилитой initctl:

  1. [email protected]:/etc/init$ sudo initctl stop cron
  2. cron stop/waiting
  3. [email protected]:/etc/init$ sudo initctl stop cron
  4. initctl: Unknown instance:
  5. [email protected]:/etc/init$ sudo initctl start cron
  6. cron start/running, process 13430
  7. [email protected]:/etc/init$ sudo initctl start cron
  8. initctl: Job is already running: cro

На первый взгляд, все как бы просто, доступно и понятно. Но это-то и настораживает. Часто случается так, что отладка таких "простых и понятных" программ превращается в настоящий ад. Надеюсь, это не тот случай.

Комментарии (7) на “ubuntu 9.10: прощай, init. привет, upstart”

  1. [...] ubuntu 9.10: прощай, init. привет, upstart « Кибер-Фанк v2.0 http://www.shatlovsky.ru/2009/11/06/ubuntu-9-10-proshhaj-init-privet-upstart – view page – cached Еще одно важное нововведение, которое тихой сапой появилось при агрейде системы до 9.10, стал новый демон upstart,… Read moreЕще одно важное нововведение, которое тихой сапой появилось при агрейде системы до 9.10, стал новый демон upstart, который заменил собой старый, хорошо изученный SysV init. Read less [...]

  2. Вы меня все вгоняете в загадку — я этот upstart уже года 2-3 как видел и раскуривал. Так вот я чего не пойму — почему же он появился то в 9.10??

  3. Alex Shatlovsky:

    Deepwalker,
    И что скажете про upstart, насколько он лучше классического init?

  4. aim:

    Upstart жил в ubuntu уже много лет как!

    ты просто его только что заметил

  5. Он про другое — он событийный. Он заменит cron, он сможет следить за изменениями в файлах. Попозже правда немного : ) А пока он умеет запускать процессы, следуя зависимостям, параллельно.

  6. Nickolay Ihalainen:

    > почему же он появился то в 9.10
    до 9.10 upstart позиционировался как замена inittab, например ещё в 8.04 надо было делать свой файлик для serial console.

    В 9.10 часть sys-v сервисов перевели на upstart, но скрипты в /etc/init.d оставили, так что gdm можно остановить/стартануть и через /etc/init.d/gdm stop

    Видимо, также как с solaris SMF через какое-то время sys-v скрипты объявят legacy, чтобы сподвигнуть мейнтейнеров на замену

    из полезного, в копилочку:
    sudo initctl list

  7. >[email protected]:/etc/init$ sudo initctl stop cron
    cron stop/waiting
    можно без initctl, т.е. sudo stop cron и т.д.

Оставить комментарий