はじめに
備忘録&初心者向けの記事です!!
systemdのmulti-user.targetって何なんやろなって思っていたところ、CentOS6以前に利用されていたSysVinitが関係しているらしかったので、調べてみました。
実行環境
[root@tabi ~]# cat /etc/redhat-release
Rocky Linux release 8.4 (Green Obsidian)
システムについて
1. 電源を入れる
2. BIOS/UEFIの起動
3. ブートローダーの読み込み
4. カーネルの読み込み
5. プロセス実行 ←ココ!!!
6. ログイン可能
- 5のプロセス実行でSysVinitが動作している
SysVinitの動き
- Unix系OSで使われてきたOS起動の仕組み
- 最初にinitプロセスを起動する
PID=1
-
/etc/inittab
ファイルを読み込む - システム初期化シェルを実行
- rcスクリプトの実行
- デフォルトのランレベルに基づいて実行
ランレベル(RHEL系)
- シャットダウン(システムの停止)
- シングルユーザモード
- rootのみログインできる状態
- システムメンテナンス等に利用される
- マルチユーザモード
- NFSは利用できない
- 通常のマルチユーザモード(テキストログイン)
- 未使用
- グラフィカルログインによるマルチユーザモード
- システムの再起動
SysVinitとsystemd
- SysVinitではランレベルがあった
- systemdにUnitの概念が採用され、SysVinit時に利用されていたランレベルの機能はターゲットに置き換えられた
-
runlevelx.target
はシンボリックリンクとなっている
[root@tabi ~]# ls -al /usr/lib/systemd/system/runlevel0.target
lrwxrwxrwx. 1 root root 15 8月 11 2021 /usr/lib/systemd/system/runlevel0.target -> poweroff.target
- 2, 3, 4のリンク先は全部同じ
root@tabi ~]# ls -al /usr/lib/systemd/system/runlevel2.target
lrwxrwxrwx. 1 root root 17 8月 11 2021 /usr/lib/systemd/system/runlevel2.target -> multi-user.target
[root@tabi ~]# ls -al /usr/lib/systemd/system/runlevel3.target
lrwxrwxrwx. 1 root root 17 8月 11 2021 /usr/lib/systemd/system/runlevel3.target -> multi-user.target
[root@tabi ~]# ls -al /usr/lib/systemd/system/runlevel4.target
lrwxrwxrwx. 1 root root 17 8月 11 2021 /usr/lib/systemd/system/runlevel4.target -> multi-user.target
-
/etc/inittab
は利用されなくなった
ランレベルとターゲットの対応
- poweroff
/usr/lib/systemd/systemd/runlevel0.target
/usr/lib/systemd/systemd/poweroff.target
- rescue
/usr/lib/systemd/systemd/runlevel1.target
/usr/lib/systemd/systemd/rescue.target
- multi-user
/usr/lib/systemd/systemd/runlevel2.target
/usr/lib/systemd/systemd/multi-user.target
- multi-user
/usr/lib/systemd/systemd/runlevel3.target
/usr/lib/systemd/systemd/multi-user.target
- multi-user
/usr/lib/systemd/systemd/runlevel4.target
/usr/lib/systemd/systemd/multi-user.target
- graphical
/usr/lib/systemd/systemd/runlevel5.target
/usr/lib/systemd/systemd/graphical.target
- reboot
/usr/lib/systemd/systemd/runlevel6.target
/usr/lib/systemd/systemd/reboot.target
systemdの動き
- systemdは
/etc/systemd/default.target
を読みに行く-
/etc/systemd/default.target
のシンボリックリンクが/usr/lib/systemd/system/multi-user.target
となっているため、今回はmulti-user
-
- [root@tabi ~]# ls -al /etc/systemd/system/default.target
lrwxrwxrwx. 1 root root 41 10月 1 2021 /etc/systemd/system/default.target -> /usr/lib/systemd/system/multi-user.target
終わりに
割と大雑把にしか調べてないので、気になるところとかあればコメントいただけると幸いです。