介绍:
update-rc.d
是Linux系统中用于管理系统启动和服务管理的一个目录结构和一系列脚本集合,尤其是在使用SysV风格的init系统中(如较旧版的Ubuntu、Debian、CentOS等)。它帮助管理服务的启动、停止以及运行级别的关联,即决定服务在系统启动或切换到不同运行级别时自动启动还是关闭。
/etc/init.d/
目录下包含了服务的启动脚本,而/etc/rc?.d/
(其中?代表运行级别,如rc0.d、rc1.d、rc2.d等)包含了符号链接到/init.d/
中服务脚本的符号链接,这些链接带有S(Start)或K(Kill)前缀,后跟数字表示启动和停止的顺序。
systemctl
是Systemd系统管理器的控制命令行界面,它在许多现代Linux发行版中(如Ubuntu、Fedora、Debian、CentOS7及以上版本等)替代了传统的SysV init系统,用于管理系统启动、服务、系统状态、日志等。systemctl提供了统一、强大且灵活的方式来管理服务和系统任务。
服务单元(unit)可以是服务、挂载点、路径、socket、timer等。服务通常对应/usr/lib/systemd/或/etc/systemd/下的.service文件。
update-rc.d使用:
update-rc.d
脚本本身不是直接执行的命令,而是通过各种命令来操作/etc/init.d/
和/rc?.d/
目录的链接。
#假定现有脚本my.sh
#启用自启动
update-rc.d my.sh defaults #defaults表示默认级别
update-rc.d my.sh defaults 90 10 #90表示启动顺序为90,10表示停止顺序为10
#禁用自启动
update-rc.d my.sh remove
update-rc.d -f my.sh remove
systemctl使用:
常见的命令
- 启动服务:systemctl start 服务名
- 停止服务:systemctl stop 服务名
- 重启服务:systemctl restart 服务名
- 状态查询:systemctl status 服务名
- 启用(开机启动时自动启动):systemctl enable 服务名
- 禁用(开机时不启动):systemctl disable 服务名
- 重载入配置:systemctl daemon-reload 服务名
- 掩藏日志: journalctl -u 服务名
#systemctl [命令] [服务单元] [选项...]
#假定现有服务my.service
# 启动my.service服务
systemctl start my.service
# 查看my.service状态
systemctl status my.service
# 开机时自动启动my.service
systemctl enable my.service
# 禁用开机启动
systemctl disable my.service