Systemd は、ほとんどの Linux ディストリビューションのデフォルトの init システムです。その人気の主な理由は、その強化されたパフォーマンスと Linux エコシステムにおける積極的な重要性により、Linux システムに不可欠な部分となっています。 Systemd は主にシステムのサービスとプロセスを担当します。その際、さまざまな構成ファイルを変更してサービスを変更することもできます。今日の焦点は、systemd サービスとその変更方法を理解することです。
Systemd サービスを理解する
Systemd は、Linux ディストリビューションのサービス マネージャーとして最もよく説明されています。これは、Linux の初期化システムとして機能するユニット ファイルを提供するソフトウェア スイートです。 Systemd は、並列化とパフォーマンスの向上を提供する従来の SysV init システムの代替として導入されました。
Systemd はユニット ファイルを操作します。ユニット ファイルは、システムによって認識および制御されるリソースです。各ユニット ファイルには、ユニットの内容とその動作を定義する構成命令が含まれています。ユニット ファイルは、Linux の主な 3 つの場所に保存されます。
- /etc/systemd/system/ – この場所には、システム管理者が作成またはカスタマイズしたユニット ファイルが含まれています。 「systemctl enable」コマンドを使用して作成されたユニット ファイルはすべてこの場所に保存されます。
- /run/systemd/system/ – 実行時に作成されるユニット ファイルが含まれます。
- /usr/lib/systemd/system/ – システムのユニット ファイルのコピーが保存されます。ユニット ファイルのインストールが必要なソフトウェアはすべて、この場所に保存されます。
Linux では Systemd が不可欠です。さまざまな機能を提供します。一般的なものには次のようなものがあります。
- システムマネジメント - ユーザーセッション、時刻同期、電源管理など、システムのさまざまな側面を管理するためのさまざまなコマンドと必要なユーティリティが提供されます。
- プロセス管理 – Linux システム内のすべてのプロセスを追跡しながら、サービスがリソースをどのように利用するかを監視および制御して、サービスが他のサービスを犠牲にしてリソースを独占するのを防ぎます。
- ジャーナリング – systemd が果たす重要な役割は、さまざまなサービスやソースからのメッセージをログに記録することです。ユーザーは、収集されたログ メッセージを検索、フィルタリング、および分析できます。
- 並列化 – 最新のハードウェア機能を利用することで、systemd はサービスの並列化を提供し、システムの応答性の向上と起動時間の短縮につながります。
- サービス管理 - systemd は、ユニット ファイルを利用して、サービスの開始、停止、リロードなど、さまざまなシステム サービスに関連するタスクを管理します。
Systemd サービスを変更する方法
Systemd を使用すると、重要なシステム サービスを変更できます。したがって、変更する構成ファイルについては注意する必要があります。それにもかかわらず、systemd サービスを変更するには、その構成ファイルまたは特定のユニット ファイルを開いて変更を適用し、変更を適用するために systemd をリロードする必要があります。
まず、変更するサービスの名前を特定します。そうすれば、投稿で言及されている 3 つの場所からその場所を簡単に知ることができます。たとえば、sshd.service を変更したい場合、それが /etc/systemd/システム/ 位置。次のように「ls」コマンドを使用して確認できます。
$ ls /etc/systemd/system/ | grep sshd
ターゲットのサービスがターゲットの場所に存在することがわかります。
次に、任意のテキスト エディタを使用して systemd サービスを開きます。この場合は nano を使用します。 systemd サービス ユニット ファイルへの絶対パスを必ず指定してください。
サービス構成ファイルがテキスト エディタで開きます。これを変更して、ユニット ファイルに必要な変更を実装します。サービスは INI スタイルの形式に従っていることに注意してください。 [Unit]、[Service]、[Install] などのさまざまなセクションでそのことを確認できます。正しいセクションで変更を修正します。
変更を保存してファイルを終了します。
変更を有効にするには、systemd デーモンをリロードする必要があります。そのためには、次のコマンドを実行します。
$ sudo systemctl デーモン-リロードsystemd デーモンがリロードされたら、変更したサービスを再起動できます。この例では、サービスは sshd.service です。次のように再起動します。
$ sudo systemctl sshd.serviceを再起動します最後に、systemd サービスのステータスをチェックして、エラーなく稼働していることを確認します。 「systemctl」ステータスコマンドを使用します。出力により、サービスがアクティブ (実行中) であることが確認されます。変更にエラーがある場合は、出力にエラーが表示されるので、正しく変更することができます。
これが systemd サービスを変更する方法です。
結論
Linux ディストリビューションは、systemd サービスに依存してシステムとプロセスを処理します。さまざまなユニット ファイルを利用することで、systemd はパフォーマンスを向上させ、Linux にとって理想的な init システムとなるさまざまな目標を達成します。 systemd サービスを変更するには、ターゲット サービスを特定し、テキスト エディタで開き、変更を修正し、ファイルを保存し、デーモンをリロードして、サービスを再起動します。これらすべてはこの投稿で説明されています。