#CentOs7とCentOs6以前の比較表
あまりにも今までのchkconfigや/etc/init.dと差ができているのでまとめてみた。
##サービス回り
内容 | 6以前 | 7 | 備考 |
---|---|---|---|
サービスの表示 | ls /etc/init.d | systemctl list-unit-files --type service | |
サービスの状態表示 | service --status-all | systemctl list-units --type service | |
サービスの起動 | service サービス名 start | systemctl start サービス名 | |
サービスの停止 | service サービス名 stop | systemctl stop サービス名 | |
サービスの再起動 | service サービス名 restart | systemctl restart サービス名 | |
設定反映 | service サービス名 reload | systemctl reload サービス名 | |
強制終了 | kill -9 PID | systemctl kill -s 9 サービス名 |
##自動起動まわり
内容 | 6以前 | 7 | 備考 |
---|---|---|---|
定義表示 | ls /etc/init.d | systemctl list-unit-files --type service | |
自動起動の表示 | chkconfig --list | systemctl list-unit-files --type service または systemctl is-enabled サービス名 | |
自動起動への定義登録 | chkconfig --add サービス名 | systemctl daemon-reload | |
自動起動のオン | chkconfig サービス名 on | systemctl enable httpd サービス名 | 6までは「--level 345」といったオプションでランレベルを指定できていたが7ではなくなった。7では「/usr/lib/systemd/system/サービス名ファイル」の[Install]セクションにあるWantedByを編集し、再度登録し直すか、/etc/systemd/system/ターゲット名/フォルダにシンボリックリンクを貼ればいいようだが後者は強引なので前者がいいだろう。ターゲット名とランレベルのマッピングについては別表 |
自動起動のオフ | chkconfig サービス名 off | systemctl disable httpd サービス名 |
##標準ランレベルの設定
処理内容 | 6まで | 7 |
---|---|---|
現在の標準モード取得 | systemctl get-default | |
起動モードの変更 | telinit ランレベル | systemctl isolate ターゲット名 |
標準起動モードの変更 | /etc/inittabの編集 | sudo systemctl set-default ターゲット名 |
/etc/systemd/system/default.target -> /lib/systemd/system/graphical.target
実際は上記のようなことをしている
##ランレベルとターゲットのマッピング
6までのランレベル | 内容 | 7のtarget名 |
---|---|---|
0 | システム停止 | poweroff.target |
1 | シングルユーザモード | rescue.target |
3 | マルチユーザモード | multi-user.target |
5 | グラフィカルモード | graphical.target |
6 | 再起動 | reboot.target |
lrwxrwxrwx. 1 root root 15 6月 16 11:42 /lib/systemd/system/runlevel0.target -> poweroff.target
lrwxrwxrwx. 1 root root 13 6月 16 11:42 /lib/systemd/system/runlevel1.target -> rescue.target
lrwxrwxrwx. 1 root root 17 6月 16 11:42 /lib/systemd/system/runlevel2.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 6月 16 11:42 /lib/systemd/system/runlevel3.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 6月 16 11:42 /lib/systemd/system/runlevel4.target -> multi-user.target
lrwxrwxrwx. 1 root root 16 6月 16 11:42 /lib/systemd/system/runlevel5.target -> graphical.target
lrwxrwxrwx. 1 root root 13 6月 16 11:42 /lib/systemd/system/runlevel6.target -> reboot.target
実際は上記のようなことをしている
##実体
今迄は/etc/init.d/に起動シェルの実体があり、自動起動の設定をするとランレベル5だと
/etc/rc5.d/などにシンボリックリンクが貼られていたが
7からは以下のようになる
●ユニットファイル格納場所
/usr/lib/systemd/system/
●自動起動シンボリックリンク先
(今までのランレベル3なら)
/etc/systemd/system/multi-user.target.wants/
尚、グラフィカルでもランレベル3しか設定していないものなどが動いているからくりは下記のようにターゲットファイルから呼び出しているため。
/usr/lib/systemd/system/graphical.target
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
[Unit]
Description=Graphical Interface
Documentation=man:systemd.special(7)
Requires=multi-user.target
Wants=display-manager.service
Conflicts=rescue.service rescue.target
After=multi-user.target rescue.service rescue.target display-manager.service
AllowIsolate=yes