CentOS7で変わったinit廃止とsystemd導入|ランレベルとターゲットの対応関係を解説

宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)CentOS7, Linuxtips > CentOS7で変わったinit廃止とsystemd導入|ランレベルとターゲットの対応関係を解説
「CentOS7からinitがなくなってsystemdになったと聞いたが、何が変わったのか分からない」
「ランレベルとsystemdのターゲットの対応が知りたい」

CentOS7では、従来のinitに代わってsystemdがサービス管理の仕組みとして採用されました。この変更はLinuxの起動・停止・サービス管理の根幹に関わるため、CentOS6以前に慣れた方には戸惑いが生じやすい変更です。

この記事では、initとsystemdの違い、ランレベルとsystemdターゲットの対応関係、CentOS7での確認方法を解説します。

【この記事でわかること】
・CentOS7からinitが廃止され、systemdが採用された
・systemdは並列処理が可能なため、起動・停止が高速化された
・ランレベルの代わりに「ターゲット」という概念が導入された
・ランレベル3→multi-user.target、ランレベル5→graphical.target に対応
systemctl isolate ターゲット名 でランレベルの切り替えが行える

「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

initとは何か・なぜ廃止されたか

従来のCentOS(6以前)では、デーモンやアプリケーションなどのプロセスを起動する仕組みに init(SysVinit) を採用していました。

initのメリットは、ランレベルと呼ばれる値によってシステムの状態を変更できるシンプルな仕組みにあります。しかし、以下のデメリットも存在していました。

・デーモンやアプリケーション数が増加すると、起動・停止順序の管理が複雑になる
・initからの起動は並列処理されないため、数が増えるとOSの起動時間が長くなる
・プロセスの親子関係が崩れた場合、子プロセスの挙動を適切に制御できない

systemdとは何か・initとの違い

こうしたinitの課題を解決するため、CentOS7からは systemd が採用されました。systemdの主なメリットは以下の通りです。

・従来必要だったアプリケーションの起動・停止スクリプトが不要になった
・起動処理を並列処理できるため、OSの起動・停止が高速化された
・親子関係にあるプロセスの起動と停止制御を適切に行える
・ジャーナルログ(journald)による統合的なログ管理が可能

ランレベルとsystemdターゲットの対応表

CentOS7では、ランレベルの代わりに「ターゲット」が導入されています。ターゲットとは、systemdにおける複数のサービス(デーモン)などの制御対象をまとめたものです。

状態 CentOS6のランレベル CentOS7のsystemdターゲット
システム停止 0 systemctl isolate poweroff.target
シングルユーザーモード 1 systemctl isolate rescue.target
マルチユーザーモード(CUI) 3 systemctl isolate multi-user.target
グラフィカルログイン(GUI) 5 systemctl isolate graphical.target
OSの再起動 6 systemctl isolate reboot.target
緊急モード - systemctl isolate emergency.target

runlevelターゲットのリンクを確認する

CentOS7で定義されているターゲットが、従来のランレベルのどれに相当しているかは以下のコマンドで確認できます。

# runlevelターゲットのシンボリックリンクを確認する [root@server ~]# ls -l /lib/systemd/system/runlevel*target lrwxrwxrwx. 1 root root 15 2月 23 14:36 /lib/systemd/system/runlevel0.target -> poweroff.target lrwxrwxrwx. 1 root root 13 2月 23 14:36 /lib/systemd/system/runlevel1.target -> rescue.target lrwxrwxrwx. 1 root root 17 2月 23 14:36 /lib/systemd/system/runlevel2.target -> multi-user.target lrwxrwxrwx. 1 root root 17 2月 23 14:36 /lib/systemd/system/runlevel3.target -> multi-user.target lrwxrwxrwx. 1 root root 17 2月 23 14:36 /lib/systemd/system/runlevel4.target -> multi-user.target lrwxrwxrwx. 1 root root 16 2月 23 14:36 /lib/systemd/system/runlevel5.target -> graphical.target lrwxrwxrwx. 1 root root 13 2月 23 14:36 /lib/systemd/system/runlevel6.target -> reboot.target

runlevel3.targetmulti-user.target に、runlevel5.targetgraphical.target にリンクされています。

デフォルトターゲットを確認・変更する

1. デフォルトターゲットを確認する

# デフォルトターゲットを確認する [root@server ~]# systemctl get-default multi-user.target

2. デフォルトターゲットを変更する

サーバー用途では multi-user.target、GUI環境では graphical.target が一般的です。

# デフォルトターゲットをCUI(マルチユーザーモード)に設定する [root@server ~]# systemctl set-default multi-user.target # デフォルトターゲットをGUI(グラフィカルログイン)に設定する [root@server ~]# systemctl set-default graphical.target

まとめ

やりたいこと コマンド
runlevelとターゲットの対応を確認する ls -l /lib/systemd/system/runlevel*target
デフォルトターゲットを確認する systemctl get-default
デフォルトターゲットを変更する systemctl set-default multi-user.target
今すぐランレベルを切り替える systemctl isolate multi-user.target

systemdを使いこなして、CentOS7以降のLinuxサーバーを安全に運用するための「型」を身につけたいですか?

initからsystemdへの移行を正しく理解することは、現代のLinuxサーバー運用の基本スキルです。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。

「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。