为什么在Ubuntu中不再提供chkconfig?

我无法在Ubuntu 12.10中使用chkconfig工具

这是将服务配置为自动启动的非常有用的工具。 为什么它不再可用?

sysv-rc-conf是Ubuntu的替代选项。

用法几乎相同。

安装:

sudo apt-get install sysv-rc-conf 

配置apache2以在启动时启动

 sysv-rc-conf apache2 on 

等效的chkconfig命令

 chkconfig apache2 enable 

要检查运行级别, apache2配置为启动

 sysv-rc-conf --list apache2 

等效的chkconfig命令

 chkconfig --list apache2 

相当于chkconfigUpstartupdate-rc.d 。 有关如何在LD James的答案中链接的UbuntuBootupHowto中使用它的一些信息。

不可否认,这个工具不是很友好; 它倾向于暴露SysV init的丑陋腹部,其中包括血腥的运行级别和优先级的blackmagic。 我几乎从未设法让它在第一时间做我想做的事。 chkconfig做了很棒的工作,抽象了所有这些数字,并提供了一个简单,可用的界面,被所有人所喜爱。 尽管如此,猪总是口红。

这是一个勇敢的新世界,我建议你花一些时间来学习Upstart如何工作,这样你就可以使用它来连接新工作。 对于仍然为您提供SysV init脚本的现有包/应用程序, update-rc.d应该允许您执行chkconfig所做的所有操作,除了一个用例。 update-rc.d没有提供干净的方法来查看给定服务的当前状态,即没有相应的chkconfig --list 。 对于这种特殊情况,我建议使用ls -l /etc/rc*.d/*${service_name}

HTH

更新:2013年6月12日 https://askubuntu.com/a/161893/111294上的答案指向一个更可口的替代品–sysv-rc-conf

更新:2013年7月28日嗯……似乎OP已在这里回答( https://askubuntu.com/a/277732/111294 )建议sysv-rc-conf 。 看不出我错过了什么,现在已经投了那个答案。

chkconfig是一个redhat-ism。 在Ubuntu中,我们使用upstart而不是redhat使用的sysvinit。

在13.10,上述“解决方案”都没有奏效。 执行sysv-rc-conf,update-rc.d。 纳达。 sysv-rc-conf说蓝牙已经关闭但它仍在运行。 MEH

说它已被转换为暴发户,但没有关于如何禁用守护进程,其中up​​start的配置等等,等等。

所以,挖掘一下,你可以编辑/etc/init/bluetooth.conf并只是评论一下,大概只需要以下内容(虽然我评论了任何看似相关的内容):

#exec / usr / sbin / bluetoothd

这可能会随着升级而中断,但至少血腥的东西已经暂停了一段时间。

从12.04开始,可以使用sudo apt-get install chkconfig

我建议使用Upstart 。

Jobservicejobs-admin是一个基于GUI的工具,用于处理一些新手脚本(如果这是您的偏好)。 它可以从软件中心安装,也可以从终端运行sudo apt-get install jobservice jobs-admin

如果我记得,似乎没有一种简单的方法可以从GUI添加新作业。

否则从Debian软件包池安装chkconfig:

https://packages.debian.org/sid/chkconfig

为什么在Ubuntu中不再提供chkconfig?

嗯,背后有一些历史。 chkconfig与UNIX System V或SysV(发音为“System Five”)连接。

从那时起,Ubuntu切换到Upstart ,然后再次切换到systemd

systemd使用systemctl ,它反映了什么是chkconfigSysV


从手册页:

systemctl可用于内省和控制“systemd”系统和服务管理器的状态。 有关此工具管理的基本概念和function的介绍,请参阅systemd(1)。