用户工具

站点工具


jaysnote:systemd

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
jaysnote:systemd [2019/01/24 21:08]
jaylee
jaysnote:systemd [2019/01/29 12:47] (当前版本)
jaylee
行 2: 行 2:
  
 # systemd # systemd
 +
 +* [Systemd](https://​www.ibm.com/​developerworks/​cn/​linux/​1407_liuming_init3/​index.html)
 +
 +* [system V与systemd](https://​blog.csdn.net/​qinhan728/​article/​details/​48792691)
  
 ## 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通过`system.conf` ​解析配置文件,如果作为用户进程启动,从`user.conf`解析配置文件,​更多信息通过`systemd-system.conf` ​了解
  
 ## systemd vs sysv init ## systemd vs sysv init
  
-[Systemd](https://​www.ibm.com/​developerworks/​cn/​linux/​1407_liuming_init3/​index.html)+系统同时存在sysV init脚本使能和systemd service,那么到底是生谁效的?
  
-* [system V与systemd](https://​blog.csdn.net/​qinhan728/​article/​details/​48792691) +    如果同时存在systemd 单元文件和sysVinit脚本,亦或者upstart配置文件,理论上systemd>​sysv ​init>​upstart.
- +
-* 系统同时存在sysV init脚本使能和systemd service那么到底是生效了? +
- +
-systemd如何控制sysV ​init脚本?+
  
 * 如下路径的unit 关系,哪些unit是使能的?​ * 如下路径的unit 关系,哪些unit是使能的?​
行 32: 行 32:
     WantedBy=multi-user.target     WantedBy=multi-user.target
     ```     ```
- 
-    ​ 
  
     ```bash     ```bash
行 39: 行 37:
     /​etc/​systemd/​system     /​etc/​systemd/​system
     ├── multi-user.target.wants     ├── multi-user.target.wants
-    │   ├── cron.service -> /​lib/​systemd/​system/​cron.service 
-    │   ├── redis-server.service -> /​lib/​systemd/​system/​redis-server.service 
-    │   ├── remote-fs.target -> /​lib/​systemd/​system/​remote-fs.target 
-    │   ├── rsync.service -> /​lib/​systemd/​system/​rsync.service 
-    │   ├── rsyslog.service -> /​lib/​systemd/​system/​rsyslog.service 
-    │   ├── ssh.service -> /​lib/​systemd/​system/​ssh.service 
-    │   ├── sudo.service -> /​lib/​systemd/​system/​sudo.service 
-    │   ├── systemd-networkd.service -> /​lib/​systemd/​system/​systemd-networkd.service 
-    │   ├── systemd-resolved.service -> /​lib/​systemd/​system/​systemd-resolved.service 
     │   ├── watchdog.service -> /​lib/​systemd/​system/​watchdog.service     │   ├── watchdog.service -> /​lib/​systemd/​system/​watchdog.service
-    │   └── wpa_supplicant.service -> /​lib/​systemd/​system/​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 
 +    /​lib/​systemd/​system/​supervisor.service 
 +    /​etc/​systemd/​system/​multi-user.target.wants/​supervisor.service #​软连接 
 +    ``` 
 + 
 +    如果同时存在`supervisor.service` 和对应软连接,此时启动由systemd控制,并且状态为`enable`。 
 + 
 +    ```bash 
 +    $ systemctl list-unit-files |grep supervisor 
 +    supervisor.service ​                          ​enabled 
 +    ``` 
 + 
 +    如果存在`superviosr.service`不存在对应的软连接,此时启动有systemd控制,状态为`disable`,​开机不启动supervisor服务。 
 + 
 +    ```bash 
 +    $ systemctl list-unit-files |grep supervisor 
 +    supervisor.service ​                          ​disabled 
 +    ``` 
 + 
 +    ``` 
 +    /​etc/​init.d/​supervisor  
 +    /​etc/​rc5.d/​S01supervisor 
 +    ``` 
 + 
 +    如果同时存在`supervisor`和`S01supervisor` ​ 并且不存在如上的systemd 单元文件,那么此时启动由sysVinit控制
  
 如上问题还是只有从`man systemctl` 当中找答案哦。 如上问题还是只有从`man systemctl` 当中找答案哦。
jaysnote/systemd.txt · 最后更改: 2019/01/29 12:47 由 jaylee