将 update-rc.d redis_6379 默认转换为 chkconfig 命令

将 update-rc.d redis_6379 默认转换为 chkconfig 命令

我尝试在 CentOS 上运行以下命令,当然我得到命令未找到:

$ update-rc.d redis_6379 defaults

然后我如何使用 执行等效操作chkconfig

答案1

最终编辑:

好吧,为了结束(并且有帮助),我正在更新这篇文章并添加一些注释。尽管这篇文章中的命令最初的形式是“工作”,但根据我天真的理解,它们似乎已被弃用。

正如@jayhendren 所指出的,替换命令是:

~$ [sudo] systemctl enable redis_6379
~$ [sudo] systemctl start redis_6379

现在,这可能对您有用,无需任何进一步的步骤,但如果您正在运行 SELinux 并且没有注意,请做好遭受挫败感的准备(至少,如果您像我一样并且总是忘记 SELinux 在你所做的一切...)。

无论如何,对我来说,在让这两个命令正常工作之前,我执行了:

~$ sudo setenforce 0 // turn off selinux
...
/* run the two commands */
/* i also added (maybe unnecessary): */
...
~$ sudo systemctl reload-daemon // akin to chkconfig --add i think
...
~$ sudo setenforce 1 // don't forget to fire'er back up again

**optional: verify selinux is doin' its thang**

~$ sudo getenforce // should return 'Enforcing' if run after the last step

希望这个技巧能让未来的我免于一个小时的麻烦。

忍者编辑:

on忘记了示例命令中的单词

原帖:

@jordanm 指出需要两个命令,但我只能在他的回复中找到一个(尽管我知道我错过了明显的)......无论如何,我不确定是否有必要,但我也运行了这个命令:

~$ [sudo] chkconfig --add redis_6379

之后,我在@jordanm的回复中运行了命令:

~$ [sudo] chkconfig redis_6379 on
~$ [sudo] service redis_6379 start

到目前为止一切似乎都在工作(centOS 7)......

答案2

为了在不同的系统上使用等效命令,了解该命令的作用非常重要。以下是 update-rc.d 联机帮助页中对“默认值”的描述:

   If  defaults is used then update-rc.d will make links to start the ser
   vice in runlevels 2345 and to stop the service in  runlevels  016.

为了在 中复制这一点chkconfig,需要两个命令:

chkconfig redis_6379 on

默认情况下,chkconfig 采用级别 2345。任何未指定为on, 的运行级别将被标记为off。这将是 016 级。

相关内容