一、Systemd
二、systemctl
三、service的unit文件格式
systemd与systemctl
一、Systemd:
POST-->Boot sequence(BIOS)-->Boot loader(MBR)-->kernel(ramdisk)-->rootfs(swtich-root)-->/sbin/init
所有用户空间的进程,都由init负责,当需要调用特权指令的时候,才会切换到内核
init
CentOS 5:SysV init //真正的bell实验室
CentOS 6:Upstart //引用ubuntu的二次发行版
CentOS 7:Systemd //模仿MAC OS的
Systemd的新特性:
1.系统引导时实现服务并行启动
2.按需激活进程//开机后进入需要启动的程序,会进入半激活状态,第一次访问的时候会直接执行,
//例如http会占用80端口,直到有用户访问
3.系统状态快照 //用户空间,可以回滚到
4.基于依赖关系定义服务控制逻辑
核心概念:unit
由其相关的配置文件进程标识和识别和配置
文件中主要包含了系统服务,监听的socket,保存的快照以及其他与init相关的信息
这些配置文件保存在:
/usr/lib/systemd/system/ //每一个文件都可以被称为一个unit
/run/systemd/system
/etc/systemd/system
[root@MT ~]# systemctl disable named
Removed symlink /etc/systemd/system/multi-user.target.wants/named.service.
[root@MT ~]# systemctl enable named
Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.
unit类别:/usr/lib/systemd/system
*.service 用于定义系统服务;类似于service start|stop|restart等的脚本,相当于以前的/etc/init.d/* *.target 用于模拟实现"运行级别",因为CentOS7默认是没有运行级别的,主要是为了兼容 *.device 用于定义内核识别的设备, //之前是udev根据/sys目录下内核所探测到的输出的信息创建的/dev, //CentOS7设备主要由systemd[主打]和udev创建,systemd用于识别硬件 ,基于*.device识别 *.mount 定义fs挂载点, *.socket 用于标识进程间通信用到的socket文件&#x