31874


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

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

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

[code]

    yum install -y systemctl service
    
[/code]

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


CC BY-SA 3.0
2017-01-15T12:41:22.070
31871
2021-07-10T07:50:35.763
2017-01-15T16:02:32.823
7918
7918
question
linux systemd
Linux環境でsystemctlやserviceコマンドが入っていない場合どうやってインストールする‌​か


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

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

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

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


CC BY-SA 3.0
2017-01-16T01:49:13.757
31874
2017-01-16T01:54:37.583
2017-01-16T01:54:37.583
8000
8000
31871
answer


serviceコマンド は sysvinit-utils パッケージの一部です。

[code]

    apt-get install sysvinit-utils
    
[/code]

もしかしたら, すでにインストール済みで /usr/sbin/service があるかもしれません。  
PATHを追加したら、うまくいくかもしれません。

[code]

    PATH=$PATH:/usr/sbin
    
[/code]


CC BY-SA 4.0
2018-06-02T05:12:49.597
44465
2021-07-10T07:50:35.763
2021-07-10T07:50:35.763
3060
28743
31871
answer