这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 | |||
jaysnote:systemd [2019/01/24 21:08] jaylee |
jaysnote:systemd [2019/01/29 12:47] jaylee |
||
---|---|---|---|
行 2: | 行 2: | ||
# systemd | # systemd | ||
+ | |||
+ | * [Systemd](https:// | ||
+ | |||
+ | * [system V与systemd](https:// | ||
## man systemd | ## man systemd | ||
- | systemd 是linux操作系统的系统和服务管理器,在boot启动后的第一个进程(PID=1),systemd扮演初始化系统,其启动和维护用户空间服务。 | + | systemd 是linux操作系统的系统和服务管理器,作为boot启动后的第一个进程(PID=1),systemd扮演初始化系统,以及启动和维护用户空间服务。 |
- | 为了兼容SysV,如果systemd以初始化被调用并且进程id不是1,它将执行`telinit` | + | 为了兼容SysV,如果systemd初始化被调用并且进程id不是1,它将执行`telinit`,并且将同步参数到该应用,所以在正常系统登录状态下的init和telinit是等同的。更多信息通过`man telinit` 了解。 |
- | 当做为系统实例启动,systemd从`system.conf` 配置文件开始解释,否则从`user.conf`, | + | 当作为系统实例启动,systemd通过`system.conf` |
## systemd vs sysv init | ## systemd vs sysv init | ||
- | * [Systemd](https:// | + | * 系统同时存在sysV init脚本使能和systemd service,那么到底是生谁效的? |
- | * [system V与systemd](https:// | + | 如果同时存在systemd 单元文件和sysVinit脚本,亦或者upstart配置文件,理论上systemd> |
- | + | ||
- | * 系统同时存在sysV init脚本使能和systemd service,那么到底是生效了? | + | |
- | + | ||
- | * systemd如何控制sysV | + | |
* 如下路径的unit 关系,哪些unit是使能的? | * 如下路径的unit 关系,哪些unit是使能的? | ||
行 32: | 行 32: | ||
WantedBy=multi-user.target | WantedBy=multi-user.target | ||
``` | ``` | ||
- | |||
- | | ||
```bash | ```bash | ||
行 39: | 行 37: | ||
/ | / | ||
├── multi-user.target.wants | ├── multi-user.target.wants | ||
- | │ ├── cron.service -> / | ||
- | │ ├── redis-server.service -> / | ||
- | │ ├── remote-fs.target -> / | ||
- | │ ├── rsync.service -> / | ||
- | │ ├── rsyslog.service -> / | ||
- | │ ├── ssh.service -> / | ||
- | │ ├── sudo.service -> / | ||
- | │ ├── systemd-networkd.service -> / | ||
- | │ ├── systemd-resolved.service -> / | ||
│ ├── watchdog.service -> / | │ ├── watchdog.service -> / | ||
- | │ └── wpa_supplicant.service -> / | ||
``` | ``` | ||
- | 可以通过`systemctl list-unit-files |grep enable `查找所有使能的unit文件,同时可以通过`systemctl preset-all `复位所有使能的unitfile。 | + | 可以通过`systemctl list-unit-files |grep enable `查找所有使能的unit文件,同时可以通过`systemctl preset-all `复位所有使能的unit file。 |
+ | |||
+ | * systemd如何控制sysV init脚本? | ||
+ | |||
+ | ```bash | ||
+ | / | ||
+ | / | ||
+ | ``` | ||
+ | |||
+ | 如果同时存在`supervisor.service` 和对应软连接,此时启动由systemd控制,并且状态为`enable`。 | ||
+ | |||
+ | ```bash | ||
+ | $ systemctl list-unit-files |grep supervisor | ||
+ | supervisor.service | ||
+ | ``` | ||
+ | |||
+ | 如果存在`superviosr.service`不存在对应的软连接,此时启动有systemd控制,状态为`disable`, | ||
+ | |||
+ | ```bash | ||
+ | $ systemctl list-unit-files |grep supervisor | ||
+ | supervisor.service | ||
+ | ``` | ||
+ | |||
+ | ``` | ||
+ | / | ||
+ | / | ||
+ | ``` | ||
+ | |||
+ | 如果同时存在`supervisor`和`S01supervisor` | ||
如上问题还是只有从`man systemctl` 当中找答案哦。 | 如上问题还是只有从`man systemctl` 当中找答案哦。 |