导读:不知道在使用哪个初始化系统?以下是方法。
本文字数: 1598,阅读时长大约: 2分钟
不知道在使用哪个初始化系统?以下是方法。
每个主流 Linux 发行版(包括 Ubuntu、Fedora、openSUSE 和 Arch)默认都使用 systemd。
但是有 itsfoss.com,例如使用轻量级 runit 来获得更好性能的 Void Linux 或主要使用 sysvinit 的 Devuan。
当你尝试遵循某些教程或文档并且其中包含特定于 systemd 或某些其他初始化服务的命令时,就会出现问题。
这时,你必须检查你的 Linux 系统使用的是 systemd 还是其他系统。
一种方法是检查 PID 为 1 的进程(毕竟,初始化系统是 Linux 系统上运行的第一个进程)。
ps 1
但它的输出可能会产生误导,因为它经常显示/sbin/init
,这只是实际的初始化进程的软链接。
如果你 linuxhandbook.com,就可以获取初始化系统信息。有两种方法:
◈ 使用stat
命令
◈ 使用readlink
命令
那么让我们从第一个开始。
这些方法在 6 个初始化系统中进行了测试:Systemd、OpenRC、SysVinit、Busybox、runit 和 s6。
方法 1:使用 stat 命令检查 systemd 是否正在使用
以下是如何使用stat
命令来了解你正在使用的初始化系统:
stat /sbin/init
如果你使用的是 systemd 支持的发行版,那么它将显示以下输出:
但是,如果你使用 systemd 之外的其他任何东西,它将显示初始化系统的名称,但是如果你使用的是 SysVinit,它只会显示init
而不是sysvinit
:
SysVinit only displays "init" instead of sysvinit
方法 2:使用 readlink 命令检查初始化系统
与之前的方法不同,当你使用readlink
命令时,它只会打印初始化系统的名称。
因此,如果你想知道你是否正在使用 Systemd,只需使用以下命令:
readlink /sbin/init
如果你使用 wiki.gentoo.org,那么它将显示以下输出:
但如果你使用 SysVinit,那么它会显示以下输出:
我为你写的小“脚本”
另一种方法是检查/run/systemd/system
目录是否存在。
好吧,最简单的找出方法是在终端中 itsfoss.com,它将检查你是否正在运行由 systemd 驱动的发行版:
if [ -d /run/systemd/system ]; then echo "System is running systemd"; else echo "System is not running systemd"; fi
有关 systemd 的更多信息
当你知道你正在使用 systemd 支持的发行版,你就可以 linuxhandbook.com。
当然你也可以从头开始 linuxhandbook.com。
我希望本指南对你有所帮助。
(题图:DA/02d49f79-0ec4-4e49-ae72-e3d46877dfa6)
via:
作者: 选题: 译者: 校对:
本文由 原创编译, 荣誉推出
LCTT 译者 :geekpi
翻译: 2083.5 篇
贡献: 3735 天
2013-10-25
2024-01-16
https://linux.cn/lctt/geekpi
欢迎遵照 CC-BY-SA 协议规定转载,
如需转载,请在文章下留言 “ 转载:公众号名称”,
我们将为您添加白名单,授权“ 转载文章时可以修改”。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.