Article^ Parent
Linux 初始化系统简介
Date: | 2017-10-02 00:00:00 |
Description: | Linux 几种初始化系统简介。 |
Keywords: | Linux, 初始化, sysvinit, upstart, systemd |
Category: | engineering_technology/computer/software/os/linux |
Tag: | linux, init |
Link: | https://www.diewuxi.com/blog/article/56.html |
Changelog
* 2017-10-02
* Done
sysvinit
/etc/inittab file definition
initdefault default level
<定义级别>
<组合键定义>
<电源 fail/restore>
<getty 控制台>
运行级别:
级别 功能
----- ------
0 关机
1 单用户
2
3
4
5
6 重启
S
s
overview process
* /etc/inittab
* /etc/rc.d/rc.sysinit(udev, selinux, 内核参数(/etc/sysctl.conf), 时钟, keymaps, 交换分区, hostname, 分区, 磁盘, 文件系统, clear)
* /etc/rc.d/rc, `/etc/rc.d/rc{<X>}.d/*`
* /etc/rc.local
* Display manager
rc.d
soft link
/etc/rc.d/rc{X}.d/* ----------> /etc/init.d/*
S<><>...
K<><>...
start/stop some service
tools
- halt, init, killall, last, lastb, mesg, pidof
- poweroff, runlevel, sulogin, telinit, utmplp, wall
- reboot
- shutdown
UpStart
sysvinit 启动频繁(串行慢),硬件繁多(一次加载很多服务)
UpStart 事件机制,动态启动和停止服务。
Job
task job system job event
service job session job |
abstract job V
job
waiting
strting
pre-start
spawned
状态 post-start
(状态即将发生变化时产生 event) running
pre-stop
stopping
killed
post-stop
start
started ===> 引起init发送事件
stopping
stoped
Event
- Singnls 非阻塞
- Methods 阻塞
Hooks 阻塞
init (发出)--> event (触发)--> job (触发)--> event (触发)--> job ... event (触发)--> job
Job 配置
/etc/init/*
expect block: fork 相关,派生次数
exec, script
start on/stop on
会话
tools
Systemd
其中很多概念来自于 OSX launchd, 兼容 Upstart, sysvinit
- 更少的进程
- 更多的并行
- 按需启动
- 自动挂载
- 状态快照,快照恢复
- 日志服务
- journald 替换了 syslog
Unit
类型
- service
- socket
- device
- mount
- automount
- swap
- target
- timer
- snapshot
依赖: require 语句
- 事务
- target 和 运行级别可等效
并发启动原理
- socket 依赖解除
- D-Bus 依赖解除
- 文件系统依赖解除
配置文件
[Unit]
...
[Service]
...
[Install]
...
工具
systemctl
Last modified: 2017-10-02
Comments [0]
There is no comments now.