使用“systemctl”命令快速解决问题并引入一些有效的替代方法
系统控制
作为 Linux 生态系统中的一个重要实用程序,当您尝试运行 系统控制
命令。这可能不是所有 Linux 发行版的情况,但是当您使用不支持的旧版 Linux 发行版时,您可能会遇到此错误 系统控制
命令。
您遇到的问题是一个非常常见的问题,可以轻松解决。所以,完全不用担心,只需阅读完整的教程即可找到快速简便的修复方法。
我们将尝试先了解问题,然后再解决问题。
洞察力 系统控制
和 系统
由于错误是参考 系统控制
命令,了解此命令的基础知识以更好地了解此错误的修复程序会很好。
系统控制
是 Linux 提供的一种命令行实用程序,用于监视和控制另一个名为“系统
'.它还检查和控制系统管理器以及“系统
' 公用事业。
一般语法:
systemctl [选项] [名称]
系统
是一组守护进程、库和实用程序,用于控制系统启动时运行的程序。 系统
还设法启动一项重要工作,例如启动系统活动日志。
此实用程序用作大多数(如果不是全部)基于 Linux 的操作系统的中央管理实用程序。
错误的根本原因
此错误的最可能原因可能是您使用的是较旧版本的 Linux 发行版。许多旧版本使用 系统初始化
而不是 系统
公用事业。
系统
以前的 Linux 版本中没有实用程序,因为它是 Linux 提供的实用程序篮子中的最新成员。 系统控制
与功能和监控兼容 系统
实用程序,将无法使用以前的配置,如 系统V
在里面
或者 暴发户
.
如果您不使用 系统
,那么这个错误是意料之中的。就这么简单明了。
您可能会通过以下方式遇到此错误。
gaurav@ubuntu:~$ sudo systemctl start ufw [sudo] gaurav 密码: sudo: systemctl: 命令未找到 gaurav@ubuntu:~$
在这里,我们尝试启动 Ubuntu 防火墙(飞翔
) 使用 系统控制
命令并遇到“systemctl: command not found”错误。
那么,如果您不希望更改当前使用其他中央管理实用程序的 Linux 发行版而不是 系统
?好吧,我们确实为您提供了一个快速修复程序,它可以让您保留当前的 Linux 发行版并立即修复您的错误。
现在让我们观察修复。
修复“systemctl: command not found”错误
最后,在分析问题的原因和基本事实之后,让我们现在看看问题的解决方案。
修复 1:更换 系统控制
和 服务
命令
有问题的错误的一个简单修复是使用 服务
命令而不是导致的错误 系统控制
命令。
服务
命令有助于运行 系统初始化
旧版 Linux 发行版使用的脚本。如果您不想安装 系统
实用程序,此修复程序肯定对您有用。
您可以使用 服务
命令。
这 服务
命令和 系统控制
命令功能相同,唯一的区别是命令与负责系统正常运行的实用程序的兼容性。
让我们看看 服务
带插图的命令。
一般语法:
须藤服务 [service_name] [动作]
在上面的语法中, [行动]
空间可能包括诸如 开始
, 停止
, 重新开始
或者 地位
.
我们将运行相同的命令来启动 飞翔
服务使用 服务
命令。
须藤服务 ufw 开始
输出:
gaurav@ubuntu:~$ sudo service ufw start gaurav@ubuntu:~$ sudo service ufw status ● ufw.service - 简单的防火墙加载:加载(/lib/systemd/system/ufw.service;启用;供应商预设:启用活动:自 2020 年 9 月 28 日星期一 11:22:34 IST 起处于活动状态(退出);1 小时 5 分钟前 文档:man:ufw(8) 进程:333 ExecStart=/lib/ufw/ufw-init start quiet(代码=退出,状态=0/SU Main PID: 333 (code=exited, status=0/SUCCESS) Sep 28 11:22:34 ubuntu systemd[1]: Started Uncomplicated firewall. Warning: Journal has been rotation since unit is started. Log output is不完整
在这里, 服务
使用命令而不是 系统控制
命令,结果非常好。
让我们再看一个例子 服务
命令以正确理解它。
须藤服务 apache2 启动
输出:
gaurav@ubuntu:~$ sudo service apache2 status ● apache2.service - Apache HTTP Server 加载:已加载(/lib/systemd/system/apache2.service;已启用;供应商预设:Drop-In:/lib/systemd/system/ apache2.service.d └─apache2-systemd.conf Active: active (running) from Mon 2020-09-28 11:22:47 IST; 1h 16min ago Process: 1172 ExecStart=/usr/sbin/apachectl start (code= exited, status=0/SUCCE Main PID: 1248 (apache2) Tasks: 55 (limit: 4456) CGroup: /system.slice/apache2.service ├─1248 /usr/sbin/apache2 -k start ├─1249 /usr/ sbin/apache2 -k start └─1250 /usr/sbin/apache2 -k start Sep 28 11:22:43 ubuntu systemd[1]:启动 Apache HTTP 服务器... Sep 28 11:22:47 ubuntu apachectl[1172 ]: AH00112: 警告: DocumentRoot [/var/www Sep 28 11:22:47 ubuntu apachectl[1172]: AH00558: apache2: 无法可靠地检测 Sep 28 11:22:47 ubuntu systemd[1]: 启动 Apache HTTP服务器。gaurav@ubuntu:~$
我们使用了 服务
命令启动 apache2 实用程序。使用 地位
选项与 服务
命令将显示服务的当前状态。我们将获得它是正在运行还是已死(不活动)的详细信息。
现在让我们使用 停止
停止使用 apache2 服务的操作 服务
命令。
gaurav@ubuntu:~$ sudo service apache2 stop gaurav@ubuntu:~$ sudo service apache2 status lines 1--1...skiping... ● apache2.service - Apache HTTP 服务器已加载:已加载 (/lib/systemd/ system/apache2.service; enabled; vendor preset: enabled) Drop-In: /lib/systemd/system/apache2.service.d └─apache2-systemd.conf Active: 从 Mon 2020-09-28 12 起不活动 (dead) :42:06 IST; 1s前进程:4928 ExecStop=/usr/sbin/apachectl stop (code=exited, status=0/SUCCESS) Process: 1172 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Main PID : 1248 (code=exited, status=0/SUCCESS) Sep 28 11:22:43 ubuntu systemd[1]: 启动 Apache HTTP Server... Sep 28 11:22:47 ubuntu apachectl[1172]: AH00112: 警告: DocumentRoot [/var/www/html] 不存在 Sep 28 11:22:47 ubuntu apachectl[1172]: AH00558: apache2: 无法可靠地确定服务器的完全限定域名,使用 ::1。设置 'S Sep 28 11:22:47 ubuntu systemd[1]: Started The Apache HTTP Server。
从上面解释的详细示例中,我们可以得出结论,我们可以使用此命令代替 系统控制
命令来控制和监视 Linux 发行版下的其他守护程序和服务。
修复 2:检查 系统
包裹
有时可能只有 系统
包安装可能会解决问题。首先,您需要检查安装状态 系统
在您的系统上打包。
使用以下命令检查系统上的包。
须藤 dpkg -l | grep systemd
如果 系统
utilty 已安装,您将获得类似如下所示的输出。
gaurav@ubuntu:~$ sudo dpkg -l | gaurav 的 grep systemd [sudo] 密码:ii dbus-user-session 1.12.2-1ubuntu1.2 amd64 简单的进程间消息系统(systemd --user 集成)ii libnss-systemd:amd64 237-3ubuntu10.42 amd64 nss 模块提供动态用户和组名解析 ii libpam-systemd:amd64 237-3ubuntu10.42 amd64 系统和服务管理器 - PAM 模块 ii libsystemd0:amd64 237-3ubuntu10.42 amd64 systemd 实用程序库 ii libsystemd0:i386 237-3ubuntu1086237-3ubuntu 实用程序库 i ii networkd-dispatcher 1.7-0ubuntu3.3 用于 systemd-networkd 连接状态更改的所有 Dispatcher 服务 ri python3-systemd 234-1build1 amd64 systemd 的 Python 3 绑定 ii systemd 237-3ubuntu10.42 amd64 系统和服务管理器 ii systemd-sysv 23 3ubuntu10.42 amd64 系统和服务管理器 - SysV 链接 gaurav@ubuntu:~$
如果您得到与此类似的输出,则意味着 系统
安装在您的系统上。
如果没有安装,可以通过以下方式安装。
sudo apt-get 更新
sudo apt-get 安装 systemd
如果已安装但错误仍然存在,请尝试使用以下命令重新安装它。
sudo apt-get install --reinstall systemd
这将通过安装来解决您的问题 系统
公用事业。
结论
我们在本教程中学会了修复“systemctl: command not found”。我们可以安全地得出结论,使用 服务
命令而不是 系统控制
是个好主意,可以很好地解决问题。我们可以很容易地使用 服务
命令在理解教程中显示的说明性示例后。