doc: update systemd.md. 748ed480f4

This commit is contained in:
jaywcjlove
2022-11-09 08:45:55 +00:00
parent cb55498bf5
commit b73ae59857

View File

@ -40,7 +40,7 @@
<p>最常用的 <a href="https://systemd.io/">Systemd</a> 命令备忘单快速参考</p>
</div></header><div class="menu-tocs"><div class="menu-btn"><svg aria-hidden="true" fill="currentColor" height="1em" width="1em" viewBox="0 0 16 16" version="1.1" data-view-component="true">
<path fill-rule="evenodd" d="M2 4a1 1 0 100-2 1 1 0 000 2zm3.75-1.5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zm0 5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zm0 5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zM3 8a1 1 0 11-2 0 1 1 0 012 0zm-1 6a1 1 0 100-2 1 1 0 000 2z"></path>
</svg></div><div class="menu-modal"><a aria-hidden="true" class="leve2 tocs-link" href="#命令">命令</a><a aria-hidden="true" class="leve3 tocs-link" href="#查看系统信息">查看系统信息</a><a aria-hidden="true" class="leve3 tocs-link" href="#使用服务">使用服务</a><a aria-hidden="true" class="leve3 tocs-link" href="#改变系统状态">改变系统状态</a><a aria-hidden="true" class="leve3 tocs-link" href="#查看日志消息">查看日志消息</a><a aria-hidden="true" class="leve2 tocs-link" href="#另见">另见</a></div></div><div class="h1wrap-body"><div class="wrap h2body-exist"><div class="wrap-header h2wrap"><h2 id="命令"><a aria-hidden="true" tabindex="-1" href="#命令"><span class="icon icon-link"></span></a>命令</h2><div class="wrap-body">
</svg></div><div class="menu-modal"><a aria-hidden="true" class="leve2 tocs-link" href="#命令">命令</a><a aria-hidden="true" class="leve3 tocs-link" href="#查看系统信息">查看系统信息</a><a aria-hidden="true" class="leve3 tocs-link" href="#改变系统状态">改变系统状态</a><a aria-hidden="true" class="leve3 tocs-link" href="#使用服务">使用服务</a><a aria-hidden="true" class="leve3 tocs-link" href="#查看日志消息">查看日志消息</a><a aria-hidden="true" class="leve3 tocs-link" href="#sysvinit-到-systemd">SysVinit 到 Systemd</a><a aria-hidden="true" class="leve3 tocs-link" href="#目标运行级别">目标运行级别</a><a aria-hidden="true" class="leve3 tocs-link" href="#更改运行级别">更改运行级别</a><a aria-hidden="true" class="leve2 tocs-link" href="#另见">另见</a></div></div><div class="h1wrap-body"><div class="wrap h2body-exist"><div class="wrap-header h2wrap"><h2 id="命令"><a aria-hidden="true" tabindex="-1" href="#命令"><span class="icon icon-link"></span></a>命令</h2><div class="wrap-body">
</div></div><div class="h2wrap-body"><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="查看系统信息"><a aria-hidden="true" tabindex="-1" href="#查看系统信息"><span class="icon icon-link"></span></a>查看系统信息</h3><div class="wrap-body">
@ -75,7 +75,35 @@
<table class="style-list"><thead><tr><th align="left">:-</th><th>-</th></tr></thead><tbody><tr><td align="left"><code>systemctl list-dependencies</code></td><td>显示单元的依赖关系</td></tr><tr><td align="left"><code>systemctl list-sockets</code></td><td>列出套接字和激活的内容</td></tr><tr><td align="left"><code>systemctl list-jobs</code></td><td>查看活动的 systemd 作业</td></tr><tr><td align="left"><code>systemctl list-unit-files</code></td><td>查看单元文件及其状态</td></tr><tr><td align="left"><code>systemctl list-units</code></td><td>显示单位是否已加载/活动</td></tr><tr><td align="left"><code>systemctl get-default</code></td><td>列出默认目标如运行级别</td></tr></tbody></table>
<table class="style-list"><thead><tr><th align="left">:-</th><th>-</th></tr></thead><tbody><tr><td align="left"><code>systemctl list-dependencies</code></td><td>显示单元的依赖关系</td></tr><tr><td align="left"><code>systemctl list-sockets</code></td><td>列出套接字和激活的内容</td></tr><tr><td align="left"><code>systemctl list-jobs</code></td><td>查看活动的 systemd 作业</td></tr><tr><td align="left"><code>systemctl list-unit-files</code></td><td>查看单元文件及其状态</td></tr><tr><td align="left"><code>systemctl list-units</code></td><td>显示单位是否已加载/活动</td></tr><tr><td align="left"><code>systemctl get-default</code></td><td>列出默认目标(如运行级别)</td></tr></tbody></table>
<!--rehype:className=style-list-->
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="改变系统状态"><a aria-hidden="true" tabindex="-1" href="#改变系统状态"><span class="icon icon-link"></span></a>改变系统状态</h3><div class="wrap-body">
<table class="style-list"><thead><tr><th align="left">:-</th><th>-</th></tr></thead><tbody><tr><td align="left"><code>systemctl reboot</code></td><td>重启系统(reboot.target)</td></tr><tr><td align="left"><code>systemctl poweroff</code></td><td>关闭系统(poweroff.target)</td></tr><tr><td align="left"><code>systemctl emergency</code></td><td>进入紧急模式(emergency.target)</td></tr><tr><td align="left"><code>systemctl default</code></td><td>返回默认目标(multi-user.target)</td></tr></tbody></table>
<!--rehype:className=style-list-->
</div></div></div><div class="wrap h3body-not-exist row-span-2"><div class="wrap-header h3wrap"><h3 id="使用服务"><a aria-hidden="true" tabindex="-1" href="#使用服务"><span class="icon icon-link"></span></a>使用服务</h3><div class="wrap-body">
<!--rehype:wrap-class=row-span-2-->
@ -144,9 +172,10 @@
<table class="style-list"><thead><tr><th align="left">:-</th><th>-</th></tr></thead><tbody><tr><td align="left"><code>systemctl stop service</code></td><td><red>停止</red>正在运行的服务</td></tr><tr><td align="left"><code>systemctl start service</code></td><td>启动服务</td></tr><tr><td align="left"><code>systemctl restart service</code></td><td>重新启动正在运行的服务</td></tr><tr><td align="left"><code>systemctl reload service</code></td><td>重新加载服务中的所有配置文件</td></tr><tr><td align="left"><code>systemctl daemon-reload</code></td><td>必须运行以重新加载更改的单元文件</td></tr><tr><td align="left"><code>systemctl status</code></td><td>service 查看服务是否正在运行/启用</td></tr><tr><td align="left"><code>systemctl --failed</code></td><td>显示未能运行的服务</td></tr><tr><td align="left"><code>systemctl reset-failed</code></td><td>将任何单位从失败状态重置</td></tr><tr><td align="left"><code>systemctl enable service</code></td><td>使服务在启动时启动</td></tr><tr><td align="left"><code>systemctl disable service</code></td><td>禁用服务 - 不会在启动时启动</td></tr><tr><td align="left"><code>systemctl show service</code></td><td>显示服务或其他单元的属性</td></tr><tr><td align="left"><code>systemctl edit service</code></td><td>创建片段以放入单元文件</td></tr><tr><td align="left"><code>systemctl edit --full service</code></td><td>编辑整个单元文件以进行服务</td></tr><tr><td align="left"><code>systemctl -H host status network</code></td><td>远程运行任何 systemctl 命令</td></tr></tbody></table>
<table class="style-list"><thead><tr><th align="left">:-</th><th>-</th></tr></thead><tbody><tr><td align="left"><code>systemctl stop service</code></td><td><red>停止</red>正在运行的服务</td></tr><tr><td align="left"><code>systemctl start service</code></td><td>启动服务</td></tr><tr><td align="left"><code>systemctl restart service</code></td><td>重新启动正在运行的服务</td></tr><tr><td align="left"><code>systemctl reload service</code></td><td>重新加载服务中的所有配置文件</td></tr><tr><td align="left"><code>systemctl daemon-reload</code></td><td>必须运行以重新加载更改的单元文件</td></tr><tr><td align="left"><code>systemctl status</code></td><td>service 查看服务是否正在运行/启用</td></tr><tr><td align="left"><code>systemctl --failed</code></td><td>显示未能运行的服务</td></tr><tr><td align="left"><code>systemctl reset-failed</code></td><td>将任何单位从失败状态重置</td></tr><tr><td align="left"><code>systemctl enable service</code></td><td>使服务在启动时启动</td></tr><tr><td align="left"><code>systemctl disable service</code></td><td>禁用服务 - 不会在启动时启动</td></tr><tr><td align="left"><code>systemctl show service</code></td><td>显示服务(或其他单元)的属性</td></tr><tr><td align="left"><code>systemctl edit service</code></td><td>创建片段以放入单元文件</td></tr><tr><td align="left"><code>systemctl edit --full service</code></td><td>编辑整个单元文件以进行服务</td></tr><tr><td align="left"><code>systemctl -H host status network</code></td><td>远程运行任何 systemctl 命令</td></tr></tbody></table>
<!--rehype:className=style-list-->
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="改变系统状态"><a aria-hidden="true" tabindex="-1" href="#改变系统状态"><span class="icon icon-link"></span></a>改变系统状态</h3><div class="wrap-body">
</div></div></div><div class="wrap h3body-not-exist col-span-2"><div class="wrap-header h3wrap"><h3 id="查看日志消息"><a aria-hidden="true" tabindex="-1" href="#查看日志消息"><span class="icon icon-link"></span></a>查看日志消息</h3><div class="wrap-body">
<!--rehype:wrap-class=col-span-2-->
@ -172,9 +201,9 @@
<table class="style-list"><thead><tr><th align="left">:-</th><th>-</th></tr></thead><tbody><tr><td align="left"><code>systemctl reboot</code></td><td>重启系统reboot.target</td></tr><tr><td align="left"><code>systemctl poweroff</code></td><td>关闭系统poweroff.target</td></tr><tr><td align="left"><code>systemctl emergency</code></td><td>进入紧急模式emergency.target</td></tr><tr><td align="left"><code>systemctl default</code></td><td>返回默认目标multi-user.target</td></tr></tbody></table>
<!--rehype:className=style-list-->
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="查看日志消息"><a aria-hidden="true" tabindex="-1" href="#查看日志消息"><span class="icon icon-link"></span></a>查看日志消息</h3><div class="wrap-body">
<table><thead><tr><th align="left">:-</th><th>-</th></tr></thead><tbody><tr><td align="left"><code>journalctl</code></td><td>显示所有收集的日志消息</td></tr><tr><td align="left"><code>journalctl -u network.service</code></td><td>查看网络服务消息</td></tr><tr><td align="left"><code>journalctl -f</code></td><td>关注出现的消息</td></tr><tr><td align="left"><code>journalctl -k</code></td><td>仅显示内核消息</td></tr></tbody></table>
</div></div></div><div class="wrap h3body-not-exist col-span-3"><div class="wrap-header h3wrap"><h3 id="sysvinit-到-systemd"><a aria-hidden="true" tabindex="-1" href="#sysvinit-到-systemd"><span class="icon icon-link"></span></a>SysVinit 到 Systemd</h3><div class="wrap-body">
<!--rehype:wrap-class=col-span-3-->
@ -200,12 +229,136 @@
<table class="style-list"><thead><tr><th align="left">:-</th><th>-</th></tr></thead><tbody><tr><td align="left"><code>journalctl</code></td><td>显示所有收集的日志消息</td></tr><tr><td align="left"><code>journalctl -u network.service</code></td><td>查看网络服务消息</td></tr><tr><td align="left"><code>journalctl -f</code></td><td>关注出现的消息</td></tr><tr><td align="left"><code>journalctl -k</code></td><td>仅显示内核消息</td></tr></tbody></table>
<!--rehype:className=style-list-->
<table class="show-header"><thead><tr><th align="left">SysVinit</th><th>Systemd</th><th>说明</th></tr></thead><tbody><tr><td align="left"><code>service SERVICE_NAME start</code></td><td><code>systemctl start SERVICE_NAME</code></td><td>用于启动服务(不重启持久)</td></tr><tr><td align="left"><code>service SERVICE_NAME stop</code></td><td><code>systemctl stop SERVICE_NAME</code></td><td>用于停止服务(不永久重启)</td></tr><tr><td align="left"><code>service SERVICE_NAME restart</code></td><td><code>systemctl restart SERVICE_NAME</code></td><td>用于停止然后启动服务</td></tr><tr><td align="left"><code>service SERVICE_NAME reload</code></td><td><code>systemctl reload SERVICE_NAME</code></td><td>重新加载配置文件而不中断挂起的操作</td></tr><tr><td align="left"><code>service SERVICE_NAME condrestart</code></td><td><code>systemctl condrestart SERVICE_NAME</code></td><td>如果服务已在运行,则重新启动</td></tr><tr><td align="left"><code>service SERVICE_NAME status</code></td><td><code>systemctl status SERVICE_NAME</code></td><td>判断服务当前是否正在运行</td></tr><tr><td align="left"><code>chkconfig SERVICE_NAME on</code></td><td><code>systemctl enable SERVICE_NAME</code></td><td>打开服务,以便在下次启动时启动,或其他触发器</td></tr><tr><td align="left"><code>chkconfig SERVICE_NAME off</code></td><td><code>systemctl disable SERVICE_NAME</code></td><td>为下次重新启动或任何其他触发器关闭服务</td></tr><tr><td align="left"><code>chkconfig SERVICE_NAME</code></td><td><code>systemctl is-enabled SERVICE_NAME</code></td><td>用于检查服务是否配置为在当前环境中启动</td></tr><tr><td align="left"><code>chkconfig list</code></td><td><code>systemctl list-unit-files type=service</code> (or) <br><code>ls /etc/systemd/system/*.wants/</code></td><td>打印一个服务表,列出每个配置的运行级别打开或关闭</td></tr><tr><td align="left"><code>chkconfig list | grep 5:on</code></td><td><code>systemctl list-dependencies graphical.target</code></td><td>打印启动到图形模式时将启动的服务表</td></tr><tr><td align="left"><code>chkconfig SERVICE_NAME list</code></td><td><code>ls /etc/systemd/system/*.wants/SERVICE_NAME.service</code></td><td>用于列出此服务配置为打开或关闭的级别</td></tr><tr><td align="left"><code>chkconfig SERVICE_NAME add</code></td><td><code>systemctl daemon-reload</code></td><td>在创建新服务文件或修改任何配置时使用</td></tr></tbody></table>
<!--rehype:className=show-header-->
</div></div></div><div class="wrap h3body-not-exist col-span-3"><div class="wrap-header h3wrap"><h3 id="目标运行级别"><a aria-hidden="true" tabindex="-1" href="#目标运行级别"><span class="icon icon-link"></span></a>目标运行级别</h3><div class="wrap-body">
<!--rehype:wrap-class=col-span-3-->
<table class="show-header"><thead><tr><th align="left">SysVinit</th><th>Systemd</th><th>说明</th></tr></thead><tbody><tr><td align="left"><code>0</code></td><td><code>runlevel0.target</code>, <code>poweroff.target</code></td><td>停止系统</td></tr><tr><td align="left"><code>1</code>, <code>s</code>, <code>single</code></td><td><code>runlevel1.target</code>, <code>rescue.target</code></td><td>单用户模式</td></tr><tr><td align="left"><code>2</code>, <code>4</code></td><td><code>runlevel2.target</code>, <code>runlevel4.target</code>, <code>multi-user.target</code></td><td>用户定义/站点特定的运行级别。 默认情况下,与 3 相同</td></tr><tr><td align="left"><code>3</code></td><td><code>runlevel3.target</code>, <code>multi-user.target</code></td><td>多用户,非图形。 用户通常可以通过多个控制台或通过网络登录</td></tr><tr><td align="left"><code>5</code></td><td><code>runlevel5.target</code>, <code>graphical.target</code></td><td>多用户,图形。 通常具有运行级别 3 的所有服务以及图形登录</td></tr><tr><td align="left"><code>6</code></td><td><code>runlevel6.target</code>, <code>reboot.target</code></td><td>重启</td></tr><tr><td align="left"><code>emergency</code></td><td><code>emergency.target</code></td><td>应急外壳</td></tr></tbody></table>
<!--rehype:className=show-header-->
</div></div></div><div class="wrap h3body-not-exist col-span-3"><div class="wrap-header h3wrap"><h3 id="更改运行级别"><a aria-hidden="true" tabindex="-1" href="#更改运行级别"><span class="icon icon-link"></span></a>更改运行级别</h3><div class="wrap-body">
<!--rehype:wrap-class=col-span-3-->
<table class="show-header"><thead><tr><th align="left">SysVinit</th><th>Systemd</th><th>说明</th></tr></thead><tbody><tr><td align="left"><code>telinit 3</code></td><td><code>systemctl isolate multi-user.target</code> <br>OR <code>systemctl isolate runlevel3.target</code><br>OR <code>telinit 3</code></td><td>更改为多用户运行级别</td></tr><tr><td align="left"><code>sed s/^id:.*:initdefault:/id:3:initdefault:/</code></td><td><code>ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target</code></td><td>设置为在下次重新启动时使用多用户运行级别</td></tr></tbody></table>
<!--rehype:className=show-header-->
</div></div></div></div></div><div class="wrap h2body-not-exist"><div class="wrap-header h2wrap"><h2 id="另见"><a aria-hidden="true" tabindex="-1" href="#另见"><span class="icon icon-link"></span></a>另见</h2><div class="wrap-body">
<ul>
<li><a href="https://systemd.io/">Systemd 官网</a> <em>(systemd.io)</em></li>
<li><a href="https://access.redhat.com/sites/default/files/attachments/12052018_systemd_6.pdf">Systemd Cheat Sheet</a> <em>(access.redhat.com)</em></li>
<li><a href="https://www.linuxtrainingacademy.com/systemd-cheat-sheet/">Systemd Cheat Sheet</a> <em>(linuxtrainingacademy.com)</em></li>
</ul>
</div></div><div class="h2wrap-body"></div></div></div></div><footer class="footer-wrap"><footer class="max-container">© 2022 Kenny Wang, All rights reserved.</footer></footer><script>
if(('onhashchange' in window) && ((typeof document.documentMode==='undefined') || document.documentMode==8)) {