systemdのターゲット(target)
目次
systemdの「ターゲット」の概要と説明
Linuxシステムで使用される init システムである systemd には、従来のランレベルに相当する概念として ターゲット (target) があります。ターゲットは、システムの状態や特定の機能を表現するために使用される systemd の単位 (ユニット) です。systemd では、これらのターゲットを切り替えることによって、システムの実行モードやサービスの状態を変更することができます。
ターゲットとは?
ターゲットは、複数のユニット(サービスやマウントポイント、デバイスなど)をグループ化し、システムの特定の状態や実行モードを表現する役割を持ちます。例えば、multi-user.target は複数のユーザーで同時にシステムを使用できる通常の運用状態を表します。また、graphical.target は GUI(グラフィカルユーザーインターフェース)環境が提供される実行状態を示します。
従来のランレベルとターゲットの違い
従来の Linux システムでは、ランレベル によってシステムの実行モードが管理されていました。ランレベルは、システムの起動プロセスや運用状態(シングルユーザーモード、マルチユーザーモードなど)を制御するための数値(0-6)で表現されていました。
systemd では、これに代わるものとしてターゲットが使用されています。ターゲットは、数値で表現されるランレベルとは異なり、システムの状態をより柔軟に設定・管理できるように設計されています。例えば、ターゲットは従来のランレベルを表現するだけでなく、カスタムの状態やサービスのグループを定義することも可能です。
主なターゲットの種類
systemd には、さまざまなターゲットがデフォルトで用意されています。以下は、一般的に使用されるターゲットの例です。
- default.target: システム起動時に指定されたデフォルトのターゲット。通常は multi-user.target または graphical.target にリンクされています。
- multi-user.target: 複数のユーザーが同時にシステムを使用できるマルチユーザーモードを提供します。従来のランレベル 3 に相当します。
- graphical.target: グラフィカルユーザーインターフェース (GUI) が利用できる状態を表し、multi-user.target を含みます。従来のランレベル 5 に相当します。
- rescue.target: システムを最小限のサービスで起動し、管理者がシステム修復などの作業を行うための救援モードです。従来のランレベル 1(シングルユーザーモード)に相当します。
- emergency.target: 最小限のシステム状態で起動し、管理者がシステムの修復を行うための緊急モードです。システムに対して最も制限されたアクセスが提供されます。
- shutdown.target: システムを停止するためのターゲットです。システムのシャットダウンプロセスを実行します。
- poweroff.target: システムを完全に電源オフ状態にするためのターゲットです。
- reboot.target: システムを再起動するためのターゲットです。
ターゲットの役割
ターゲットは、複数のユニットをグループ化して、特定の目的を達成するためのシステムの状態を定義します。例えば、graphical.target は multi-user.target を含んでおり、さらに GUI を起動するためのサービスも含んでいます。これにより、システム管理者は、ターゲットを切り替えるだけで、システム全体の動作モードを簡単に変更することができます。
ターゲットの切り替え
systemd では、systemctl コマンドを使用してターゲットを切り替えることができます。システムを特定のターゲットに変更することで、実行するサービスや提供する機能を簡単に調整できます。
まとめ
systemd におけるターゲットは、システムの実行モードやサービスの状態を制御するための重要な仕組みです。従来のランレベルと比較して、ターゲットはより柔軟で細かい制御を提供します。システム管理者は、ターゲットを利用してシステムの状態を効率的に管理し、必要に応じてシステムの運用モードを変更することができます。