システムとは何ですか
systemd は、Linux システムのブート プロセスとシステム サービスを管理するための init システムです。これは、最新の Linux ディストリビューションで広く使用されている init システムであり、オペレーティング システムのさまざまなコンポーネントの起動と管理を担当します。
systemd は、システムの起動速度を向上させ、リソース管理を最適化し、より強力なサービス管理機能を提供するように設計されています。これには、並列起動、サービスのオンデマンド起動、ソケットベースのアクティブ化、ロギングとトレースの改善など、いくつかの新しい概念と機能が導入されています。
systemd の主な機能とコンポーネントをいくつか示します。
-
単位: systemd は単位を使用してシステム コンポーネントとサービスを表します。各ユニットは、サービス、ソケット、デバイスなどの特定のシステム リソースまたは機能を表します。各ユニットには、そのプロパティと依存関係を定義する対応する構成ファイルがあります。
-
systemd スイート: systemd には、システムの管理と操作のためのツールとサービスのセットが含まれています。重要なコンポーネントには、systemd コマンドライン ツール (systemctl、journalctl など)、systemd ジャーナリング システム (ジャーナル)、systemd ネットワーク管理 (systemd-networkd) などが含まれます。
-
並列起動: systemd は並列起動を実装しています。これにより、複数のシステム サービスを同時に起動でき、システムの起動速度が向上します。
-
依存関係と順序制御: ユニット間の依存関係を通じて、systemd は、サービスが依存する他のサービスの開始後にサービスが開始されることを保証できます。これにより、起動順序とサービス間の関連付けをより正確に制御できるようになります。
-
ソケットのアクティベーション: systemd はソケットベースのアクティベーションをサポートしており、サービスを継続的に実行するのではなく、必要に応じてリクエスターが動的に開始できるようにします。
-
ログとトレース: systemd は、journalctl ツールを使用してシステム ログを記録および管理します。強力なログ フィルタリングとクエリ機能をサポートしており、システム ログの表示と分析が容易になります。
systemd の導入により、従来の SysV init システムが改善され、より高速で、より柔軟で、より信頼性の高いシステム初期化機能とサービス管理機能が提供されます。これは、Ubuntu、Fedora、CentOS などの多くの主流 Linux ディストリビューションのデフォルトの init システムになっています。
systemd関連ツール
以下は、systemd 関連ツールの簡単な説明と使用法です。
-
systemd: systemd はシステムを初期化するためのメイン コマンドで、システム サービス、管理ユニットなどの開始と管理に使用されます。コマンドを使用して、システム サービスを開始、停止、再起動、有効化、無効化、および管理できます
systemctl
。 -
systemd-analyze: システムの起動時間とパフォーマンスを分析するためのツール。
systemd-analyze blame
このコマンドを使用して、各ユニットの起動時間を表示したり、systemd-analyze plot
起動パフォーマンス グラフを生成したりできます。 -
systemd-ask-password: ユーザーと対話してパスワードまたはその他の認証情報を取得するためのツール。
systemd-ask-password
このコマンドを使用してパスワードまたはその他の認証情報を要求し、その結果を他のコマンドまたはサービスに渡すことができます。 -
systemd-cat: 標準入力またはファイルの内容を systemd ジャーナルに出力するコマンド。メッセージは、リダイレクトまたはパイプを使用してジャーナルに送信できます
echo "Hello" | systemd-cat
。 -
systemd-cgls: cgroups 階層を表示するコマンド。
systemd-cgls
このコマンドを使用すると、現在のシステム内の cgroup とその階層関係を一覧表示できます。 -
systemd-cgtop: 実行中の cgroup のプロセスとリソースの使用状況を表示するコマンド。このコマンドを使用して
systemd-cgtop
、cgroup 内のプロセス リソースをリアルタイムで監視します。 -
systemd-delta: ファイルとユニット間の差異を比較して表示するツール。
systemd-delta
このコマンドを使用して、システム構成ファイルとユニットファイルへの変更を比較できます。 -
systemd-tty-ask-password-agent: tty 端末でユーザーにパスワードを要求するためのシステム パスワード エージェント。
systemd-ask-password
パスワード入力を安全に処理するためにコマンドとともに使用されます。 -
systemd-detect-virt: 現在のシステムが仮想化環境で実行されているかどうかを検出するツール。このコマンドを使用すると、
systemd-detect-virt
システムが仮想マシンまたはコンテナーで実行されているかどうかを検出できます。 -
systemd-escape: systemd 構成ファイルで使用する文字列をエスケープするために使用されます。コマンドを使用すると、
systemd-escape
特殊文字を設定ファイルでの使用に適した形式に変換できます。 -
systemd-hwdb: systemd のハードウェア データベースを管理およびクエリするためのハードウェア データベース ツール。これは、デバイスとドライバーの照合と識別に使用されます。
-
systemd-id128: 128 ビットの一意識別子 (UUID) を生成または操作するためのツール。
-
systemd-inhibit: システムの動作を防止または遅延させるツール。
systemd-inhibit
このコマンドを使用して、休止状態、シャットダウン、再起動などを防ぐことができます。 -
systemd-machine-id-setup: マシン ID を生成または設定するためのツール。
systemd-machine-id-setup
このコマンドを使用して、新しいマシン ID を生成したり、既存のマシン ID を設定したりできます。 -
systemd-mount: ファイルシステムをマウントおよびアンマウントするためのツール。
systemd-mount
このコマンドを使用して、ファイルシステムをマウントまたはアンマウントできますsystemd-mount /dev/sdb1 /mnt
。 -
systemd-notify: systemd にステータス通知を送信するツール。
systemd-notify
コマンドを使用して、カスタム ステータスと通知をsystemd に送信できます。 -
systemd-path: システム ファイル パスをクエリするためのツール。
systemd-path
このコマンドを使用して、構成ファイル パス、ユニット ファイル パスなどのさまざまなシステム パスを取得できます。 -
systemd-resolve: システム DNS 解決およびドメイン名解決のためのツール。
systemd-resolve
コマンドを使用して、DNS 情報のクエリ、ドメイン名の解決などを行うことができます。 -
systemd-run: 新しいサービス ユニット ファイルを作成せずにアドホック タスクを実行するコマンド。
systemd-run
コマンドを使用すると、新しいサービス ユニット ファイルを作成せずにアドホック タスクを実行できますsystemd-run --unit=my-service /usr/bin/my-command
。 -
systemd-socket-activate: 必要に応じてソケットを動的にアクティブ化するツール。
systemd-socket-activate
コマンドを使用してソケットユニットを起動および管理できます。 -
systemd-stdio-bridge: 標準入出力間でデータを転送するためのツール。あるプログラムの標準出力から別のプログラムの標準入力にデータを渡すことができます。
-
systemd-sysusers: システム ユーザーとグループを管理および作成するためのツール。
systemd-sysusers
コマンドを使用して、システム ユーザーとグループを作成、変更、削除できます。 -
systemd-tmpfiles: 一時ファイルとディレクトリを管理するためのツール。
systemd-tmpfiles
このコマンドを使用すると、一時ファイルとディレクトリを作成、クリーンアップ、および保守できます。 -
systemd-umount: ファイルシステムをアンマウントするためのツール。
systemd-umount
コマンドを使用して、マウントされたファイルシステムをアンマウントできますsystemd-umount /mnt
。
これらのツールはすべて、システムの管理と運用に関して異なる機能と目的を持っています。対応するコマンドと適切なパラメーターを使用してターミナルでこれらのツールを起動し、各ツールの特定の使用法に必要なパラメーターとオプションを提供できます。詳細な情報や使用例については、個々のツールのマニュアル ページまたはコマンド ヘルプ ( や など) を使用できman systemd-analyze
ますsystemd-ask-password --help
。
環境
OS: unbuntu 20.04