Linux環境でsystemctlやserviceコマンドが入っていない場合どうやってインストールする‌​か


Dockerを使用してローカル環境を構築しています。  
amazonlinuxコンテナを使用しているのですが、  
systemctlやserviceコマンドが見つかりませんというエラーがでました。  
調べたところパスが通っていないということではなく、  
インストールされていないようでした。

下記のリンクを参考にするとDockerの中ではsystemdは動かさないのが普通とのことだったので  
コマンド自体は必要ないのですが、インストールする方法が分からないので質問させていただきます。  
[teratail - systemctlコマンドがない＞＜](https://teratail.com/questions/5969 "teratail
- systemctlコマンドがない＞＜")

systemctlやserviceコマンドは通常どうやってインストールするのでしょうか？

[code]

    yum install -y systemctl service
    
[/code]

上記コマンドを打ってもコマンドをインストールすることができませんでしたので、  
ご存知の方ご教授お願いします。




systemctlコマンドはsystemdの制御に、serviceコマンドは旧来のinitシステムなどでサービスの操作に使うコマンドなので、それらのシステムと一緒にインストールされるものです。よってコマンドだけ単独でインストールすることはありませんし、入れても正しく動かないでしょう。

これらのコマンドが存在していなければ、そのコマンドを使わない構成*1になっているか、システムが正しくインストールされていないかのどちらかだと思います。

*1: 例えば旧来のinitを使うシステムにsystemctlは存在しません。initもsystemdも使わないコンテナイメージではどちらのコマンドも存在しません。

もちろん後からsystemdに切り替えることも可能でしょうが、システム全体に関わるプログラムですから、よほどの理由がなければそのまま使う方が無難です。




systemctlコマンドはsystemdの制御に、serviceコマンドは旧来のinitシステムなどでサービスの操作に使うコマンドなので、それらのシステムと一緒にインストールされるものです。よってコマンドだけ単独でインストールすることはありませんし、入れても正しく動かないでしょう。

これらのコマンドが存在していなければ、そのコマンドを使わない構成*1になっているか、システムが正しくインストールされていないかのどちらかだと思います。

*1: 例えば旧来のinitを使うシステムにsystemctlは存在しません。initもsystemdも使わないコンテナイメージではどちらのコマンドも存在しません。

もちろん後からsystemdに切り替えることも可能でしょうが、システム全体に関わるプログラムですから、よほどの理由がなければそのまま使う方が無難です。

