Linuxとコマンドラインの基礎
systemd を使うLinuxで、サービス license.service に対する「systemctl start license.service」と「systemctl enable license.service」の違いとして、正しいものはどれか。
- Astart は次にコンピュータを起動したときから自動で動くように設定し、enable は今すぐサービスを起動する
- Bstart は今すぐサービスを起動し、enable はコンピュータの起動時に自動で起動するように設定する
- Cstart は root だけが使えるサービスとして起動し、enable は一般の利用者にもサービスの操作を許可する
答えと解説を見る
正解:B. start は今すぐサービスを起動し、enable はコンピュータの起動時に自動で起動するように設定する
systemctl start は、そのサービスを今すぐ起動しますが、再起動した後まで起動の状態は残りません。systemctl enable は、システムの起動時にそのサービスが自動で起動されるように設定するもので、enable だけでは今は起動しません。両方を一度に行うには systemctl enable --now を使い、止めるのは stop、自動起動の設定を外すのは disable です。サービスが動いているかどうかや、直近のログは systemctl status で確かめられます。
- A. start と enable の働きが逆です。start がすぐに起動し、enable が起動時の自動起動を設定します。
- B. 正しい。start は今すぐ起動、enable は起動時の自動起動の設定です。
- C. start と enable は、誰がサービスを操作できるかを決めるものではありません。