我尝试在 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 级。