diff --git a/sources/tech/20240103 How to Check if Your Linux System Uses systemd.md b/sources/tech/20240103 How to Check if Your Linux System Uses systemd.md deleted file mode 100644 index 526122c6e2..0000000000 --- a/sources/tech/20240103 How to Check if Your Linux System Uses systemd.md +++ /dev/null @@ -1,135 +0,0 @@ -[#]: subject: "How to Check if Your Linux System Uses systemd" -[#]: via: "https://itsfoss.com/check-if-systemd/" -[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" -[#]: collector: "lujun9972/lctt-scripts-1700446145" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Check if Your Linux System Uses systemd -====== - -Every mainstream Linux distro including Ubuntu, Fedora, openSUSE, and Arch uses systemd by default. - -But there are [many non-systemd distros][1] like Void Linux that uses lightweight runit for better performance or Devuan that uses sysvinit on principal basis. - -The problem comes when you are trying to follow some tutorial or documentation and it has commands specific to systemd or some other init service. - -And this is where you have to check if your Linux system uses systemd or something else. - -One way would to be check the process with PID 1 (after all, an init system is the first process to run on a Linux system). - -``` - - ps 1 - -``` - -But its output could be misleading as often it shows `/sbin/init` which is just a soft link to actual init process. - -If you [follow that symbolic link][2], you can get the init system information. There are two ways of doing that: - - * Using the stat command - * Using the readlink command - - - -So let's start with the first one. - -📋 - -These methods were tested with 6 init systems: Systemd, OpenRC, SysVnint, Busybox, runit, and s6. - -### Method 1: Check if systemd is in use with the stat command - -Here's how you can use the stat command to find out what init system you are using: - -``` - - stat /sbin/init - -``` - -If you are using a systemd-powered distro, then it will show you the following output: - -![][3] - -But if you are using anything else than systemd, it will show the init name unless you are using SysVnit which will only show you `init` instead of `sysvnit`: - -![SysVnit only displays "init" instead of sysvnit][4] - -### Method 2: Check the init system using the readlink command - -Unlike the previous method, when you use the readlink command, it will only print the name of the init system. - -So if you want to know if you are using Systemd or not, simply use the following command: - -``` - - readlink /sbin/init - -``` - -![][5] - -If you are using the [OpenRC init service][6], then it will show the following output: - -![][7] - -But if you are using SysVnit, then, it will show you the following output: - -![][8] - -### Tiny 'script' I wrote for you - -Another way is to check if the `/run/systemd/system` directory exists or not. - -Well, the easiest way to find out is to [use an if-else bash command][9] in your terminal which will check if you are running a systemd-powered distro or not: - -``` - - if [ -d /run/systemd/system ]; then echo "System is running systemd"; else echo "System is not running systemd"; fi - -``` - -![][10] - -### More on systemd - -Once you know you are using the systemd-powered distro, here's how you can [manage services using the systemctl command][11]: - -![][12] - -Want to [create a systemd service][13] from scratch? You can do that too: - -![][12] - -I hope you will find this guide helpful. - --------------------------------------------------------------------------------- - -via: https://itsfoss.com/check-if-systemd/ - -作者:[Sagar Sharma][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://itsfoss.com/author/sagar/ -[b]: https://github.com/lujun9972 -[1]: https://itsfoss.com/systemd-free-distros/ -[2]: https://linuxhandbook.com/follow-symbolic-link/ -[3]: https://itsfoss.com/content/images/2023/12/Use-the-stat-command-to-find-if-you-are-using-systemd-or-not.png -[4]: https://itsfoss.com/content/images/2023/12/Check-if-you-are-using-SysVnit-in-Linux-or-not.png -[5]: https://itsfoss.com/content/images/2023/12/Use-the-readlink-command-to-find-if-you-are-using-systemd-or-not-something-else.png -[6]: https://wiki.gentoo.org/wiki/OpenRC/openrc-init -[7]: https://itsfoss.com/content/images/2023/12/find-if-you-are-using-openrc-as-init-system.png -[8]: https://itsfoss.com/content/images/2023/12/How-to-find-out-if-you-are-using-SysVnit-as-init-system-in-Linux.png -[9]: https://itsfoss.com/bash-if-else/ -[10]: https://itsfoss.com/content/images/2023/12/A-simple-if-else-statement-to-know-if-you-are-using-systemd-distro-or-not.png -[11]: https://linuxhandbook.com/systemctl-commands/ -[12]: https://linuxhandbook.com/content/images/size/w256h256/2021/08/Linux-Handbook-New-Logo.png -[13]: https://linuxhandbook.com/create-systemd-services/ diff --git a/translated/tech/20240103 How to Check if Your Linux System Uses systemd.md b/translated/tech/20240103 How to Check if Your Linux System Uses systemd.md new file mode 100644 index 0000000000..14122a38c6 --- /dev/null +++ b/translated/tech/20240103 How to Check if Your Linux System Uses systemd.md @@ -0,0 +1,135 @@ +[#]: subject: "How to Check if Your Linux System Uses systemd" +[#]: via: "https://itsfoss.com/check-if-systemd/" +[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" +[#]: collector: "lujun9972/lctt-scripts-1700446145" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何检查你的 Linux 系统是否使用 systemd +====== + +每个主流 Linux 发行版(包括 Ubuntu、Fedora、openSUSE 和 Arch)默认都使用 systemd。 + +但是有[许多非 systemd 发行版][1],例如使用轻量级 runit 来获得更好性能的 Void Linux 或主要使用 sysvinit 的 Devuan。 + +当你尝试遵循某些教程或文档并且其中包含特定于 systemd 或某些其他 init 服务的命令时,就会出现问题。 + +这时,你必须检查你的 Linux 系统使用的是 systemd 还是其他系统。 + +一种方法是检查 PID 为 1 的进程(毕竟,init 系统是 Linux 系统上运行的第一个进程)。 + +```` + + ps 1 + +```` + +但它的输出可能会产生误导,因为它经常显示 `/sbin/init`,这只是实际 init 进程的软链接。 + +如果你[跟随该符号链接][2],就可以获取 init 系统信息。有两种方法: + + * 使用 stat 命令 + * 使用 readlink 命令 + + + +那么让我们从第一个开始。 + +📋 + +这些方法在 6 个 init 系统中进行了测试: Systemd、OpenRC、SysVnint、Busybox、runit 和 s6。 + +### 方法 1:使用 stat 命令检查 systemd 是否正在使用 + +以下是如何使用 stat 命令来了解你正在使用的 init 系统: + +``` + + stat /sbin/init + +``` + +如果你使用的是 systemd 支持的发行版,那么它将显示以下输出: + +![][3] + +但是,如果你使用 systemd 之外的其他任何东西,它将显示 init 名称,除非你使用 SysVnit,它只会显示 `init` 而不是 `sysvnit`: + +![SysVnit only displays "init" instead of sysvnit][4] + +### 方法 2:使用 readlink 命令检查 init 系统 + +与之前的方法不同,当你使用 readlink 命令时,它只会打印 init 系统的名称。 + +因此,如果你想知道你是否正在使用 Systemd,只需使用以下命令: + +``` + + readlink /sbin/init + +``` + +![][5] + +如果你使用 [OpenRC init service][6],那么它将显示以下输出: + +![][7] + +但如果你使用 SysVnit,那么它会显示以下输出: + +![][8] + +### 我为你写的小“脚本” + +另一种方法是检查 `/run/systemd/system` 目录是否存在。 + +好吧,最简单的找出方法是在终端中[使用 if-else bash 命令][9],它将检查你是否正在运行由 systemd 驱动的发行版: + +``` + + if [ -d /run/systemd/system ]; then echo "System is running systemd"; else echo "System is not running systemd"; fi + +``` + +![][10] + +### 有关 systemd 的更多信息 + +当你知道你正在使用 systemd 支持的发行版,你就可以[使用 systemctl 命令管理服务][11]: + +![][12] + +想要从头开始[创建一个 systemd 服务][13]? 你也可以那样做: + +![][12] + +我希望本指南对你有所帮助。 + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/check-if-systemd/ + +作者:[Sagar Sharma][a] +选题:[lujun9972][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/sagar/ +[b]: https://github.com/lujun9972 +[1]: https://itsfoss.com/systemd-free-distros/ +[2]: https://linuxhandbook.com/follow-symbolic-link/ +[3]: https://itsfoss.com/content/images/2023/12/Use-the-stat-command-to-find-if-you-are-using-systemd-or-not.png +[4]: https://itsfoss.com/content/images/2023/12/Check-if-you-are-using-SysVnit-in-Linux-or-not.png +[5]: https://itsfoss.com/content/images/2023/12/Use-the-readlink-command-to-find-if-you-are-using-systemd-or-not-something-else.png +[6]: https://wiki.gentoo.org/wiki/OpenRC/openrc-init +[7]: https://itsfoss.com/content/images/2023/12/find-if-you-are-using-openrc-as-init-system.png +[8]: https://itsfoss.com/content/images/2023/12/How-to-find-out-if-you-are-using-SysVnit-as-init-system-in-Linux.png +[9]: https://itsfoss.com/bash-if-else/ +[10]: https://itsfoss.com/content/images/2023/12/A-simple-if-else-statement-to-know-if-you-are-using-systemd-distro-or-not.png +[11]: https://linuxhandbook.com/systemctl-commands/ +[12]: https://linuxhandbook.com/content/images/size/w256h256/2021/08/Linux-Handbook-New-Logo.png +[13]: https://linuxhandbook.com/create-systemd-services/