Альтернатива Chkconfig для сервера Ubuntu?

Я очень привык управлять сервисными стартапами на платформах Redhat / RHEL с помощью chkconfig хотя это, похоже, не подходит для Debian / Ubuntu - Как мне обновить информацию об уровне выполнения для системных служб в Ubuntu?

В конечном счете ищет эквиваленты:

chkconfig --add <service>chkconfig --level 345 <service> onchkconfig --del <service>

Эквивалент chkconfig является update-rc.d

Эквиваленты, которые вы ищете, - это

update-rc.d <service> defaultsupdate-rc.d <service> start 20 3 4 5update-rc.d -f <service>  remove

Видеть эта полезная страница для получения дополнительной информации или ознакомьтесь с man update-rc.d

Лучшей альтернативой ИМХО является sysv-rc-confдля установки просто нужно выполнить команду:

sudo apt-get install sysv-rc-conf

После установки запустите команду:

sudo sysv-rc-conf

Вы можете установить или снять флажки для запуска службы на любом уровне выполнения и даже можете остановить или запустить службы с этой консоли. Это незаменимый инструмент для включения или отключения приложений на постоянном способе загрузки вашего ubuntu Если вам нужно быстрое изменение, вы можете использовать интерфейс CLI:

For example to stop ssh at levels 3 and 5 of execution:

sysv-rc-conf-off level 35 ssh

Atd для запуска на уровнях выполнения 2,3,4 и 5:

sysv-rc-conf on atd

Если вы хотите узнать больше:

man sysv-rc-conf

Попробуйте это:

apt-get install chkconfig

Это работает, по крайней мере, в версии Ubuntu 12.04.

Прямо сейчас в стабильной версии нет эквивалента для выполнения действий с помощью скриптов Upstart. Джейкоб Педдикорд написал jobservice (серверный демон) и jobs-admin (GTK + графический интерфейс, который взаимодействует с ним) для своего проекта Google Summer of Code. Ясные пакеты - это в его ППА. Они также существуют во Вселенной в Maverick. Интерфейса командной строки для jobservice пока нет, только jobs-admin.

Давайте пройдемся от НУЛЯ к цели - как это сделать шаг за шагом.

Шаг 1: давайте напишем привет, мир

cat >> /var/tmp/python/server.py <<\EOF#/usr/bin/pythonimport timewhile True:  print "hello> YES Bello"  time.sleep(30)EOF

Шаг 2: давайте создадим наше приложение hello world server.py автоматизированный

cat >> /var/tmp/myserver.sh <<\EOF#!/bin/shscript='/var/tmp/python/server.py'export DISPLAY=:0.0 && /usr/bin/python $script &EOFchmod +x /var/tmp/myserver.shcat >> /etc/init.d/myserver <<\EOF#! /bin/shPATH=/bin:/usr/bin:/sbin:/usr/sbinDAEMON=/var/tmp/myserver.shPIDFILE=/var/run/myserver.pidtest -x $DAEMON || exit 0. /lib/lsb/init-functionscase "$1" in  start)     log_daemon_msg "Starting feedparser"     start_daemon -p $PIDFILE $DAEMON     log_end_msg $?   ;;  stop)     log_daemon_msg "Stopping feedparser"     killproc -p $PIDFILE $DAEMON     PID=`ps x |grep server.py | head -1 | awk '{print $1}'`     kill -9 $PID            log_end_msg $?   ;;  force-reload|restart)     $0 stop     $0 start   ;;  status)     status_of_proc -p $PIDFILE $DAEMON atd && exit 0 || exit $?   ;; *)   echo "Usage: /etc/init.d/atd {start|stop|restart|force-reload|status}"   exit 1  ;;esacexit 0EOFchmod +x /etc/init.d/myserverchmod -R 777 /etc/init.d/myserver

Шаг 3:

$ update-rc.d myserver defaultsupdate-rc.d: warning: /etc/init.d/myserver missing LSB informationupdate-rc.d: see <http://wiki.debian.org/LSBInitScripts> Adding system startup for /etc/init.d/myserver ...   /etc/rc0.d/K20myserver -> ../init.d/myserver   /etc/rc1.d/K20myserver -> ../init.d/myserver   /etc/rc6.d/K20myserver -> ../init.d/myserver   /etc/rc2.d/S20myserver -> ../init.d/myserver   /etc/rc3.d/S20myserver -> ../init.d/myserver   /etc/rc4.d/S20myserver -> ../init.d/myserver   /etc/rc5.d/S20myserver -> ../init.d/myserver
  • Итак, на шаге 3 система при загрузке автоматически выполнит server.py как демон и упростить автоматизацию

Надеюсь, это помогло.

Кстати: вы также можете apt-get install chkconfig" установить пакет в ubuntu. Однако он сломан с годами, следующая символическая ссылка заставит его (в некоторой степени) работать: ln -s / usr /lib /insserv / insserv / sbin /insserv`