传统:SysV init
红帽6、Ubuntu6:采用Upstart
红帽7:采用全新的Systemd
SysV init运行级别,主题思想是串行的启动所有将来需要用到的服务(所以计算机没有利用多CPU并且多核的配置所以启动慢、启动所有服务所以浪费资源)
Upstart
Systemd的中心思想是尽可能启动更少的服务,尽可能并行启动服务。
其管理的核心是用一个配置文件来定义一个单元,这些单元配置文件保存在/usr/lib/systemd/system(安装软件时产生的单元配置文件,优先级最低)、/run/systemd/system(运行时产生的一些配置文件,优先级次之)、/etc/systemd/system(系统管理员制定的单元配置文件,优先级最高)三个目录下。
systemd单元具备不同的类型,类型不同配置文件的扩展名也不同,功能(启动的服务、监听的网络端口、系统运行状态快照等)也不同。
序号 | 单元类型 | 文件扩展名 | 说明 |
1 | 服务单元 | service | 定义一个系统服务 |
2 | 目标单元 | target | |
3 | 自动挂载单元 | automount | 定义一个文件系统自动挂载点 |
4 | 设备单元 | device | |
5 | 挂载单元 | mount | |
6 | 目录单元 | path | |
7 | 快照单元 | snapshot | |
8 | 套接口单元 | socket | |
9 | 交换单元 | swap | |
10 | 计时器单元 | timer | Systemd专用的计时器 |
不加--level,在默认情况下,chkconfig会自启动2345这四个级别
chkconfig --list 用什么代替了???
CentOS7中systemctl命令详解:https://github.com/xiayulei/notebook/issues/33
centos6中设置服务自启动的三种方式:
将脚本ln -s 建立启动软连接值/etc/rc.d/rc[0-6].d/目录,K开头的脚本文件代表运行级别加载时需要关闭的,S开头的代表需要执行;多用于自定义脚本
chkconfig;多用于系统已存在的服务
伪图形:一是直接在命令行中输入ntsysv,二是使用setup命令;多用于系统已存在的服务
Systemd单元的配置文件格式,man systems.unit