Debian 11 (bullseye) - サービスの管理!
Updated:
Debian GNU/Linux 11 (bullseye) でのサービスの管理についての記録です。
以前古いバージョンでの作業時に残していた記録を参考に作業を行い、今回更新した作業記録を貼付する形式の内容となっています。
(当然ながら、興味がなければスルーしてください)
0. 前提条件
- Debian GNU/Linux 11 (bullseye) での作業を想定。
- SystemD の簡単な使用法の説明と SysVinit の導入を行う。
(当方、普段は SystemD でサービスの管理を行うが、有事の際に備えてsysv-rc-conf
コマンドも使用できるよう準備しておく(RedHat 系ディストリビューションのサービス管理ツールchkconfig
にあたるもの)) - root ユーザでの作業を想定。
1. SystemD の使用方法
以下は vsftpd サーバの例。(vsftpd.service
が正式なサービス名だが .service
は省略可能)
$ systemctl start vsftpd # <= vsftpd サービスの起動
$ systemctl stop vsftpd # <= vsftpd サービスの停止
$ systemctl status vsftpd # <= vsftpd サービスの状況確認
$ systemctl enable vsftpd # <= vsftpd サービスの自動起動設定
$ systemctl disble vsftpd # <= vsftpd サービスの自動起動解除
$ systemctl is-enabled vsftpd # <= vsftpd サービスが自動起動設定されているか
$ systemctl list-unit-files -t service | grep vsftpd # <= vsftpd 起動設定の確認
$ systemctl -t service # <= 起動中サービス一覧の確認
$ systemctl -t service --all # <= 全サービス一覧の確認
$ systemctl poweroff # <= システム Shutdown 後電源 OFF
$ systemctl halt # <= システム Shutdown 後 Halt
$ systemctl reboot # <= システム Shutdown 後リブート
SystemD 未対応のサービスの場合でも自動で従来の SysVinit にサービスの管理を移譲しますが、 systemctl list-unit-files
での確認はできないので注意。
2. sysv-rc-conf のインストール
# apt -y install sysv-rc-conf
3. sysv-rc-conf でサービス一覧表示
sysv-rc-conf
でサービスの一覧を表示するには以下のようにする。
# sysv-rc-conf --list
apparmor S:on
chrony 0:off 1:off 2:on 3:on 4:on 5:on 6:off
clamav-daemo 0:off 1:off 2:on 3:on 4:on 5:on 6:off
clamav-fresh 0:off 1:off 2:on 3:on 4:on 5:on 6:off
cron 2:on 3:on 4:on 5:on
dbus 2:on 3:on 4:on 5:on
:
====< 途中省略 >====
:
sudo 2:on 3:on 4:on 5:on
udev 0:off 6:off S:on
ufw 1:off S:on
unattended-u 0:off 2:on 3:on 4:on 5:on 6:off
4. sysv-rc-conf でのサービス自動起動設定
sysv-rc-conf
でサービスの自動起動を有効化・無効化するには以下のようにする。
# sysv-rc-conf acpid off # acpid の自動起動無効化する場合
# sysv-rc-conf acpid on # acpid の自動起動有効化する場合
5. 一覧形式での自動起動設定
sysv-rc-conf
をオプション無しで実行すると以下のような画面になる。(ある程度のサイズのコンソール画面が必要)
-
でサービス停止、=
, +
でサービス開始、スペースでランレベル別に ON/OFF できる。
┌ SysV Runlevel Config -: stop service =/+: start service h: help q: qu$ ┐
│ │
│ service 1 2 3 4 5 0 6 S │
│ --------------------------------------------------------------------------$ │
│ chrony [ ] [X] [X] [X] [X] [ ] [ ] [ ] │
│ clamav-da$ [ ] [X] [X] [X] [X] [ ] [ ] [ ] │
│ clamav-fr$ [ ] [X] [X] [X] [X] [ ] [ ] [ ] │
│ cron [ ] [X] [X] [X] [X] [ ] [ ] [ ] │
│ dbus [ ] [X] [X] [X] [X] [ ] [ ] [ ] │
│ exim4 [ ] [X] [X] [X] [X] [ ] [ ] [ ] │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────────────────┐
│ Use the arrow keys or mouse to move around. ^n: next pg ^p: prev $ │
│ space: toggle service on / off │
└─────────────────────────────────────────────────────────────────────────────
6. insserv コマンドの利用
sysv-rc-conf
をインストールして使用しなくても、デフォルトで用意されている insserv
コマンドを使用することも可能である。※しかし、当記事執筆時点では、エラーとなる。当項最後を参照
以下のコマンドでサービスの一覧(終了・起動時のランレベル等)を表示する。(-s
は --showall
でもよい)
# insserv -s
K:01:0 1 6:chrony
K:03:0 1 6:rsyslog
K:02:0 6:networking
K:04:0 6:hwclock.sh
K:01:0 6:unattended-upgrades
:
====< 途中省略 >====
:
S:01:2 3 4 5:console-setup.sh
S:03:S:x11-common
S:03:S:procps
S:02:S:keyboard-setup.sh
S:05:S:kmod
S:02:2 3 4 5:sudo
サービスの自動起動を無効化するには以下のようにする。(-r
は --remove
でもよい)
# insserv -r hoge
サービスの自動起動を有効化するには以下のようにする。(-d
は --default
でもよい)
# insserv -d hoge
210830 時点では、以下のようなエラーとなる。(未調査)
$ insserv -s
insserv: FATAL: service mountkernfs has to exist for service udev
insserv: FATAL: service urandom has to exist for service networking
insserv: FATAL: service mountdevsubfs has to exist for service lvm2
insserv: exiting now!
以上。
Comments