docs: update docs
更新文档,添加系统启动相关的文档 Log:
This commit is contained in:
48
docs/deepin进阶教程/3.系统初始化/3.7.定制Systemd.md
Normal file
48
docs/deepin进阶教程/3.系统初始化/3.7.定制Systemd.md
Normal file
@@ -0,0 +1,48 @@
|
||||
# 3.7. 定制Systemd
|
||||
|
||||
## 3.7.1. 套接字激活
|
||||
|
||||
套接字激活是指,当一个服务需要监听一个端口时,它不会直接监听,而是由systemd来监听,然后将连接转发给服务。这样做的好处是,当服务不需要监听端口时,systemd就不会监听,从而节省了资源。
|
||||
|
||||
使用默认安装,通过 systemd 启动的过程中,在 network.target 启动后,很多网络服务 (参见 第 6 章 网络应用)作为后台守护进程(daemon)启动。 "sshd" 也不列外。让我们修改为按需启动"sshd" 作为一个定制化的例子。
|
||||
|
||||
首先,禁用系统安装的服务单元。
|
||||
|
||||
```Shell
|
||||
sudo systemctl stop sshd.service
|
||||
sudo systemctl mask sshd.service
|
||||
```
|
||||
传统 Unix 服务的按需套接字激活(on-demand socket activation)系统由 inetd (或 xinetd)超级服务来提供。在 systemd 下, 相同功能能够通过增加*.socket 和 *.service 单元配置文件来启用。
|
||||
|
||||
sshd.socket 用来定义一个监听的套接字
|
||||
|
||||
```
|
||||
[Unit]
|
||||
Description=SSH Socket for Per-Connection Servers
|
||||
|
||||
[Socket]
|
||||
ListenStream=22
|
||||
Accept=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=sockets.target
|
||||
```
|
||||
|
||||
sshd@.service 作为 sshd.socket 匹配的服务文件
|
||||
|
||||
```
|
||||
[Unit]
|
||||
Description=SSH Per-Connection Server
|
||||
|
||||
[Service]
|
||||
ExecStart=-/usr/sbin/sshd -i
|
||||
StandardInput=socket
|
||||
```
|
||||
|
||||
这里,sshd.socket 用来定义一个监听的套接字,sshd@.service 作为 sshd.socket 匹配的服务文件。sshd.socket 会监听 22 端口,当有连接请求时,sshd@.service 会被启动。
|
||||
|
||||
现在,启用这两个单元文件。
|
||||
|
||||
```Shell
|
||||
sudo systemctl deamon-reload
|
||||
```
|
||||
Reference in New Issue
Block a user