我开始使用 Amazon Linux AMI。它似乎有/etc/systemd/system/文件夹,但我无法使用systemctl开始停止我添加到/etc/systemd/system/文件夹的服务。
$ systemctl
bash: systemctl: command not found
我开始使用 Amazon Linux AMI。它似乎有/etc/systemd/system/文件夹,但我无法使用systemctl开始停止我添加到/etc/systemd/system/文件夹的服务。
$ systemctl
bash: systemctl: command not found
Amazon Linux v 2.0 支持 systemd 并默认安装:
遗憾的是,只有 amazon linux v2 支持 systemd。Amazon linux v1.0 没有 https://aws.amazon.com/amazon-linux-2/
Amazon Linux 最终基于旧版本的 CentOS/RHEL,不支持 systemd。
https://forums.aws.amazon.com/message.jspa?messageID=731256
因此,即使“Amazon Linux 2”默认情况下应该有这个命令,它的 docker 镜像 -
amazonlinux:2
- 没有。要在那里安装它,请使用以下指令:如果您需要一个可怕的 hack 来填补脚本中的空白,那么一个简单的函数可能对您有用。它仅涵盖必需品,并且很容易损坏。
有了它,您可以执行stop、start、restart、status和is-active请求,例如
systemctl start docker
. 显然输出不会匹配systemctl
,尽管is-active
在我的系统上提供了相同的文本输出。您可以通过将整个函数定义放入 if 块中来扩展它,以测试操作系统类型或
systemctl
必要时是否存在。如果您想使用
sudo systemctl enable httpd
,,只需使用sudo chkconfig httpd on
这是参考, AWSEC2
经过探索,我发现
Amazon Linux AMI release 2018.03
Amazon Linux 的版本不支持systemctl
. 但这并不意味着init.d
不能将服务配置为在启动时自动启动。chkconfig
可用于实现用例。配置我的
init.d
服务,其名称是ingester
:列出所有服务:
这是手册页:
chkconfig