Ubuntu Server如何统一开机启动管理(获取开机启动列表及某服务开机启动状态)?
系统环境:阿里云ECS
系统版本:Ubuntu 14.04.3
问题: UbuntuSever下如何统一管理服务开机启动
Linux下有几种通用的开机启动方式(我理解的其实原理都类似)不过管理起来不太方便
/etc/rc.local
/etc/rcN.d/script_filenalme # N 为启动级别
所以,除此以外各个发行版还有自己的管理工具或者脚本
# CentOS & Redhat
chkconfig srvice_name {on|off} # CentOS6.x 以下版本
systemctl enable service_name # CentOS7.x 以上版本
# ubuntu (Debain未查) 查到有以下2中方式
update-rc.d service_name defaults;
sysv-rc-conf --level 345 service_name on;
疑惑的是,两种方式貌似都管理了一部分服务,但是在各自的方式中查不到,如:
默认开机启动的服务,使用
sysv-rc-conf
查不到:sysv-rc-conf --list | grep 'ssh\|cron' # 结果只输出了服务名,没有显示在各个运行级别的状态
使用
update-rc.d
开启cron,提示不存在shell> update-rc.d cron defaults update-rc.d: warning: /etc/init.d/cron missing LSB information update-rc.d: see <http://wiki.debian.org/LSBInitScripts> System start/stop links for /etc/init.d/cron already exist.
在当前运行级别下也查不到默认开启启动的服务
ll /etc/rc$(runlevel|awk '{print $NF}').d/S*|grep 'cron\|ssh' # 内容为空
使用
sysv-rc-config
命令查看,确实有类似ssh,cron
等默认开机启动服务没有勾选sysv-rc-config
有没有哪位大神熟悉UbuntuServer的,给指点下,上面这些问题原因是什么,再UbuntuServer下如何统一管理服务开机
搞明白了,感觉有点乱~,我理解的大概如下:
Ubuntu自己搞了一种开机自启动管理机制叫UpStart
, 同时之前的System-V init
的机制也并未完全废弃,两种方式并存导致我之前疑惑,
判断依据
区分某一种服务是那种方式启动,可以查看 /etc/init/service_name.conf
(下面内容直接从原文粘过来改了)
在
/etc/init
底下找不到該 .conf ,就歸sysvinit
管。执行命令
initctl list
若是由upstart
啟動的服務,便會列出其狀態。
上链接,感兴趣的自己去看下吧
参考地址:UpStart
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
initctl