用于Ubuntu Server的Chkconfig替代方案?

我已经习惯于使用chkconfig在Redhat / RHEL平台上管理服务初创公司,虽然这似乎不是Debian / Ubuntu方式 – 如何在Ubuntu上更新系统服务的运行级别信息?

最终寻找相应的:

 chkconfig --add  chkconfig --level 345  on chkconfig --del  

chkconfig等效的是update-rc.d

你寻求的等价物

 update-rc.d  defaults update-rc.d  start 20 3 4 5 update-rc.d -f  remove 

有关更多信息,请参阅此有用页面或查看man update-rc.d

最好的替代IMHO是sysv-rc-conf要安装只需要运行命令:

 sudo apt-get install sysv-rc-conf 

安装完成后运行命令:

 sudo sysv-rc-conf 

您可以选中或取消选中在任何执行级别启动服务的选项,甚至可以从此控制台停止或启动服务。 它是一个不可或缺的工具,可以永久启用或禁用应用程序以启动ubuntu如果需要快速更改,则可以使用CLI界面:

例如,在执行的第3级和第5级停止ssh:

 sysv-rc-conf-off level 35 ssh 

从跑步级别2,3,4和5开始:

 sysv-rc-conf on atd 

如果你想了解更多:

 man sysv-rc-conf 

目前,在使用Upstart脚本执行操作的稳定版本上没有相应的内容。 Jacob Peddicord为他的Google Summer of Code项目编写了jobservice(后端守护进程)和jobs-admin(与之对话的GTK + GUI)。 清醒包装在他的PPA中 。 他们也存在于Maverick的宇宙中。 作业服务还没有命令行前端,只有job-admin。

试试这个:

 apt-get install chkconfig 

这有效,至少在Ubuntu 12.04版本中有效。

让我们从ZERO走到目标 – 如何一步一步地做到这一点。

第1步:让我们写一个hello世界

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

第2步:让我们的hello world应用程序server.py自动化

 cat >> /var/tmp/myserver.sh <<\EOF #!/bin/sh script='/var/tmp/python/server.py' export DISPLAY=:0.0 && /usr/bin/python $script & EOF chmod +x /var/tmp/myserver.sh cat >> /etc/init.d/myserver <<\EOF #! /bin/sh PATH=/bin:/usr/bin:/sbin:/usr/sbin DAEMON=/var/tmp/myserver.sh PIDFILE=/var/run/myserver.pid test -x $DAEMON || exit 0 . /lib/lsb/init-functions case "$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 ;; esac exit 0 EOF chmod +x /etc/init.d/myserver chmod -R 777 /etc/init.d/myserver 

第3步:

 $ update-rc.d myserver defaults update-rc.d: warning: /etc/init.d/myserver missing LSB information update-rc.d: see  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作为守护程序并使其易于自动化

希望它有所帮助。