LoginSignup
0
1

More than 1 year has passed since last update.

systemdについて

Last updated at Posted at 2022-09-29

環境

Ubuntu20.4

起動プロセス

現在のLinuxOSの起動プロセス(init)にはsystemdが使われています。旧バージョンのLinuxでは、SystemV(SysV) が使われていました。systemdが採用されるようになったのは、CentOS7/RHEL7からです。Ubuntuでは、15.04からです。自分が使っている環境はUbuntu20.4であるため、SystemVではなく、systemdが動いているはずです。本当に、systemdが動いているのかについては、次のコマンドで確認することができます。つぎのコマンドを実行して、systemdが存在していれば、systemdが動いていることになります。

$ls -l /usr/lib | grep systemd
$ls -l /etc | grep systemd

systemdが存在していなければ、System Vが動いているはずです。System Vが動いてることを確認するには、次のコマンドを実行します。inittabが存在していれば、System Vが動いていることになります。

$ls -l /etc | grep inittab

自分の環境であるUbuntu20.4では、確かにsystemdが存在しており、inittabは存在していませんでした。System Vのときは、サービスを管理するコマンドに、serviceコマンドが使われていました。systemdになってからは、systemctlコマンドが使われるようになっています。しかし、systemdであっても、serviceコマンドは使えるようになっています。サービスの一覧を確認するコマンドを、serviceとsystemctlの両方で実行してみます。共に、問題なく実行されます。

$service --status-all
$systemctl list-units --type service --all

systemdになって、serviceコマンドを、即使えないようにするのではなく、systemctlコマンドのラッパーとして残存させているためです。過去にserviceコマンドを使っていた人であれば、systemctlコマンドに慣れるまでの間、serviceコマンドを使うことができるようにしています。systemdの仕組みがまだよくわかっていないという人も、serviceコマンドの方が使いやすいと思います。

systemdによって、レガシーとなったコマンドはserviceコマンドだけではありません。サービスを有効/無効にするコマンドとして、CentOS/RHEL系のOSでは、chkconfigコマンドが使われていましたが、このコマンドも、systemdによって、systemctlコマンドに統一されています。systemdによって、chkconfigコマンドでやっていたことが、systemctlコマンドでできるようになったということです。

Ubuntuでは、chkconfigコマンドが存在していないため、代わりに、sysv-rc-confコマンドが使われていたと思います。sysv-rc-confコマンドも同じように、systemctlコマンドに置き換わったということです。そして、sysv-rc-confコマンドもまた、systemctlのラッパーとして残存しています。

(参考)
Ubuntuではsysv-rc-confコマンドの他にも、似たようなツールは色々とあるようです。
https://server-setting.info/debian/debian-like-chkconfig.html

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1