这里会显示出您选择的修订版和当前版本之间的差别。
| 两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
|
jaysnote:systemd [2019/01/24 21:08] jaylee |
jaysnote:systemd [2021/06/22 23:14] (当前版本) |
||
|---|---|---|---|
| 行 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` 当中找答案哦。 | ||