IT

システムの起動とシャットダウン、SysVinit/systemd【LPIC level1】

目次

  • システムの起動とシャットダウン
  • システムの起動
  • システムのシャットダウンと再起動
  • SysVinit
  • ランレベル
  • systmd
  • デーモンプロセス
  • Unit
  • ターゲット
  • systemctlによるサービスの管理

システムの起動とシャットダウン

システムの起動

コンピュータの電源を入れてからOSが起動するまでの流れをブートシーケンスと言います。ブートシーケンスの順番は以下の通りです。

  1. BIOS/UEFI
  2. ブートローダ
  3. カーネル
  4. systemd

詳細につきましては以前記事に書きましたので、以下のリンクからご確認ください。

システムのシャットダウンと再起動

システム上で動作している様々なプログラムを適切に終了しシステムを安全に停止させることをシャットダウンと言います。

システムのシャットダウンや再起動はshoutdownコマンドで操作します。

以下、shoutdownコマンドの主なオプションです。

オプション説明
-hシャットダウンします。
-rシステムの再起動します。
-kシャットダウンはせずに警告メッセージを通知します。
-c実行中のシャットダウンを中止します。

SysVinit

SysVinitでは、システムの起動時やランレベルの変更時にinitが「/etc/inittab」を参照し、ランレベルに応じたスクリプトを実行して各種サービスを順に起動/停止していきます。

ランレベル

ランレベル説明
0システム停止
1/s/Sシングルユーザーモード
(ルートのみ利用可能な状態)
2マルチユーザモード
(テキストログイン、NFSなし)
3マルチユーザーモード
(テキストログイン)
4未使用
5マルチユーザーモード
(GUIログイン)
6システム再起動

ランレベルの確認にはrunlevelコマンドを使います。

systemd

systemdはSysVinitを置き換える新しい仕組みです。

systemdのデーモンプロセス

systemdでは、initプロセスの代わりにsystemdプロセスが起動し、各種サービスを管理します。

systemdでは以下のデーモンプロセスが連携して動作しています。

プロセス名機能
systemdsystemdの本体となるプロセスでinitの代わりに常駐します。
systemd-jounaldsystemdが制御する各サービスが出力するログを扱います。
systemd-logindシステムへのログイン、起動停止、電源ボタン操作などを管理します。
systemd-udevd従来のudevdに替わり、デバイスの動的変更、検出を行います。

Unit

systemdでは、システムの起動処理は多数のUnitと呼ばれる処理単位に分かれています。

以下、主なUnitの種類です。

種類説明
device各種デバイスを管理するUnitです。
mountファイルシステムのマウントを管理するUnitです。
serviceサービスを制御するUnitです。
swapスワップ領域を管理するUnitです。
target複数のサービスを一つのグループにするためのUnitです。

systemdは各種サービスの依存関係や順序を処理できます。

ターゲット

systemdはSysVinitのランレベルに代わりターゲットを使用します。

以下、ランレベルとターゲットの対応です。

ランレベルターゲット
0poweriff.target
1rescue.target
2,3,4multi-user.target
5 graphical.target
6reboot.target

systemctlによるサービスの管理

systemdではサービスを管理するためにsystemctlコマンドを使います。書式は以下の通りです。

systemctl サブコマンド [Unit名]

以下、systemctlの主なサブコマンドです。

サブコマンド用途
disableサービスの自動起動を無効にします。
enableサービスの自動起動を有効にします。
get-deault次回起動時のターゲットを表示します。
haltシステムを停止しhalt状態にします。
is-activeサービスが稼働しているかを表示します。
list-unit-filesすべてのUnit定義ファイルを一覧表示します。
rebootシステムを再起動する。
reloadサービスの設定ファイルを再読み込みする。
restartサービスを再起動する。
set-default次回起動時のターゲットを設定する。
startサービスを起動する。
statusサービスの状態を表示する。
stopサービスを停止する。
poweroffシステムを停止し電源を切断する。

最後まで読んで頂き、ありがとうございました。

他の分野へ移動できる全体ページへは下記リンクから移動できます。