Oracle Linux 7 では、systemd が導入されました (systemd は「ターゲット」を使用します)。ファイル /etc/inittab は、デフォルトの実行レベルを設定するために使用されなくなりました。 Oracle Linux 5/6 で /etc/inittab ファイルを同じ方法で編集しても、Oracle Linux 7 では効果がありません。ターゲット ユニットには .target があります。 拡大。ターゲット ユニットを使用すると、特定の目的に必要なサービスだけでシステムを開始できます。
定義済みの systemd 実行レベル ターゲット ユニットを一覧表示するには:
# find / -name "runlevel*.target" /usr/lib/systemd/system/runlevel4.target /usr/lib/systemd/system/runlevel5.target /usr/lib/systemd/system/runlevel6.target /usr/lib/systemd/system/runlevel1.target /usr/lib/systemd/system/runlevel2.target /usr/lib/systemd/system/runlevel3.target /usr/lib/systemd/system/runlevel0.target
SysV 実行レベルとターゲット ユニットの比較
以下の表は、実行レベルに相当するシステム状態のターゲットを示しています。
実行レベル | 対象ユニット | 説明 |
---|---|---|
0 | runlevel0.target、poweroff.target | シャットダウンして電源を切る |
1 | ランレベル1.ターゲット、レスキュー.ターゲット | レスキュー シェルのセットアップ |
2,3,4 | runlevel[234].target, multi-user.target | 非グラフィカル マルチユーザー シェルのセットアップ |
5 | runlevel5.target、graphical.target | グラフィカルなマルチユーザー シェルのセットアップ |
6 | runlevel6.target、reboot.target | システムをシャットダウンして再起動 |
現在のデフォルト ターゲットを確認するには
# systemctl get-default
デフォルトのターゲット ユニットは /etc/systemd/system/default.target で表されます ファイル。このファイルは、現在設定されているデフォルトのターゲット ユニット ファイルへのシンボリック リンクです。
# ls -l /etc/systemd/system/default.target lrwxrwxrwx. 1 root root 40 Oct 11 02:02 /etc/systemd/system/default.target -> /usr/lib/systemd/system/graphical.target
runlevel コマンドを使用して、SysV ランレベルを表示します。
# runlevel N 5
デフォルトのターゲットを設定
デフォルトのターゲットを設定するには:
# systemctl set-default [new target]
例:
# systemctl set-default multi-user.target rm '/etc/systemd/system/default.target' ln -s '/usr/lib/systemd/system/multi-user.target' '/etc/systemd/system/default.target'デフォルトのターゲット ユニットを変更すると、既存の default.target シンボリック リンクが削除され、新しいデフォルト ターゲット ユニット ファイルを指すシンボリック リンクが再作成されることに注意してください。
確認
ls –l コマンドを使用して、default.target ファイルが multi-user.target ファイルへのシンボリック リンクになっていることを確認します。
# ls -l /etc/systemd/system/default.target lrwxrwxrwx. 1 root root 41 Mar 24 01:53 /etc/systemd/system/default.target -> /usr/lib/systemd/system/multi-user.target
現在のターゲットをデフォルトに設定
デフォルトのターゲット ユニットを設定すると、現在のターゲットは次回の再起動まで変更されません。再起動せずに現在のターゲットユニットをデフォルトに変更するには:
# systemctl default
または
# systemctl isolate default.target