未找到命令:Amazon Linux 2018.03上的systemctl

Jas*_*son 15 amazon-web-services amazon-linux

我正在关注此Amazon AWS指南以安装SSL证书.我使用Amazon Linux AMI 2018.03在AWS EC2上运行Apache.本指南的第一步是运行:

sudo systemctl is-enabled httpd
Run Code Online (Sandbox Code Playgroud)

我得到"bash:systemctl:command not found".我怀疑也许我在运行亚马逊Linux,而不是亚马逊Linux 2.

Vin*_*Odh 18

  1. 首先检查您使用该命令运行的Amazon linux版本 cat /etc/os-release
    1. 如果它是Amazon Linux Version 2,那么它确实支持systemd并默认安装.
    2. 如果它是亚马逊linux版本1,那么它不支持导致亚马逊Linux最终基于旧版本的CentOS/RHEL.

如果它是版本1(amazon linux),你只需要切换到支持的任何其他Linux发行版systemd.你不能systemd像包一样安装yum

在此输入图像描述

  • NAME="Amazon Linux AMI" VERSION="2018.03" ID="amzn" ID_LIKE="rhel fedora" VERSION_ID="2018.03" PRETTY_NAME="Amazon Linux AMI 2018.03" ANSI_COLOR="0;33" CPE_NAME="cpe:/o :amazon:linux:2018.03:ga" HOME_URL="http://aws.amazon.com/amazon-linux-ami/" (6认同)
  • @Jason我确认* Amazon Linux AMI 2018.03 *是不带`systemd`的“ Amazon Linux版本1” [公告:Amazon Linux 2018.03现在可用](https://forums.aws.amazon.com/ ann.jspa?annID = 5653)。因此,这就是您遇到问题的原因。 (3认同)
  • 据我所知,我建议切换到Linux的任何其他发行版taht支持systemd,如果操作系统是强制要求的话.因为我不认为你可以在你的操作系统上安装它作为一个包 (2认同)

Jam*_*yda 15

sudo service nginx status
Run Code Online (Sandbox Code Playgroud)

只需使用服务命令

在较早版本的 RHELservice中,请按照此处文档中的说明使用该命令。

# service service_name start
Run Code Online (Sandbox Code Playgroud)

因此,在您的情况下:

# service iptables start
Run Code Online (Sandbox Code Playgroud)

您可以替换startrestart, stop, status

列出所有服务:

# service --status-all
Run Code Online (Sandbox Code Playgroud)