systemctl: Linux を 12 ステップで完全に制御する

Linuxを使いこなすためのsystemctl 12コマンド

systemctl: Linux を使いこなすための 12 個のコマンド 🚀

systemctl コマンドには、見落とされがちな機能がいくつかあります。 Linux では、サービスを開始および停止するだけでなく、インストールされているサービスを一覧表示し、そのステータスを確認することもできます。簡単にレビューしてみましょう! 🚀

Systemctl コマンドとは何ですか?

systemctl コマンドは、systemd init システムの中央管理ツールであり、主にサービスを開始および停止するために使用されるツールとして知られています。しかし、彼の マニュアルページ 1600行以上あります。 📖

systemctl は単なるサービスランチャーではなく管理ツールであるため、これを使用してシステムと systemd サービスに関する有用な情報にアクセスできます。 💻

ほとんどの Linux ディストリビューションは systemd を採用していますが、従来の SystemV init システムを維持することを選択したものもあります。ディストリビューションがどれを使用しているかわからない場合は、簡単に調べることができます。 stat コマンドを使用して init ファイルを確認します。

統計 /sbin/init 
stat コマンドを使用して、Linux インストールで SystemV または systemd が使用されているかどうかを確認します。

/sbin/init 実行可能ファイルは、SystemV ベースのディストリビューションで最初に起動されるプロセスです。 systemd ベースのディストリビューションでは、その名前のシンボリック リンクは systemd を指します。

出力の最初の行を見ると、この Ubuntu テスト マシンでは、/sbin/init がファイル /lib/systemd/systemd へのシンボリック リンクであることが分かります。明らかに、この Linux インストールでは systemd が使用されています。 SystemV ベースのディストリビューションの場合、この行には「File: /sbin/init」のみが含まれます。

systemctl によるサービスの照会

サービスはユニット ファイルで定義され、systemctl オプション全体に「ユニット」という単語が散在しています。たとえば、list-units コマンドで –type オプションを使用してサービスのリストを取得できます。

システムctl リスト-units --type=サービス
実行中のサービスと停止中のサービスを表示する、systemctl list-units コマンドの出力。

出力は less ファイル ビューアーに表示されるため、移動したり / キーを使用して検索したりできます。

  • ユニット: ユニットファイルの名前。
  • 運ぶ: サービス ユニット ファイルが構文エラーなしでメモリに読み込まれた場合、この列には「loaded」が含まれます。これはサービスがアクティブであることを意味するものではありません。
  • 資産: サービスがアクティブかどうかの概要。アクティブなサービスが実行されていない可能性があります。
  • サブ: サービスが実行中かどうかのより詳細な表示。たとえば、アクティブなサービスがタイマーにスケジュールされ、最後の実行が終了している可能性があります。
  • 説明: サービスを識別または説明するためのテキスト行。

表示にはアクティブなサービスのみが含まれます。すべてのサービスを表示するには、–all オプションを含める必要があります。

システムctl リスト-ユニット --all --type=サービス
すべてのサービスを表示する systemctl list-units コマンドの出力。

すべてを表示するのが大変な場合は、--state オプションを使用して出力をフィルタリングできます。

システムctl リスト-units --type=サービス --state=実行中
実行中のサービスのみを表示するようにフィルタリングされた、systemctl list-units コマンドの出力。

状態オプションは、実行中、停止、有効、無効、失敗を受け入れます。

失敗したサービスに焦点を当てるには、–failed オプションを使用します。

システムctl リスト-units --失敗
失敗したサービスのみを表示するようにフィルタリングされた、systemctl list-units コマンドの出力。失敗したサービスはありません。

このコンピューターには故障したドライブはありません。

失敗したサービスが見つかった場合は、list-dependencies オプションを使用して、満たされていない依存関係を確認します。

システムctl リスト-dependencies sshd.service
sshd サービスの依存関係を示す systemctl list-dependencies コマンドの出力。

依存関係には、そのステータスを表す色分けされた円があります。可能性があります:

  • ホワイトサークル: 非アクティブまたはメンテナンス中
  • グリーンドット: 資産。
  • ホワイトポイント: 非アクティブ化します。
  • レッドドット: 失敗またはエラーです。

単一のサービスが有効になっているかどうかを確認するには、is-enabled コマンドを使用して、サービスのユニット ファイルの名前を指定します。

システムctl es-htg-example.service を有効にしました
systemctl is-enabled を使用して、特定のサービスが有効になっているかどうかを確認します。

systemctl によるサービス制御

systemctl を使用してサービスを管理するのは非常に簡単で、これまで見てきたコマンドの形式に従います。最大の違いは、サービス状態を変更するには sudo を使用する必要があることです。これまではサービスの状況のみを報告していたため、そのようなことはしていませんでした。

サービスを開始するには、start コマンドに続けてサービス名を指定します。

 システムctl 始める htg-例。サービス
systemctl start コマンドを使用してサービスを開始します。

すべてがうまくいけば、コマンド プロンプトに自動的に戻ります。確実に確認したい場合は、status コマンドで確認できます。

 システムctl 状態 htg-例。サービス
systemctl status コマンドを使用してサービスのステータスを確認します。

サービスを停止するのは、開始するのと同じくらい簡単です。

 システムctl 停止 htg-例。サービス
systemctl stop コマンドを使用してサービスを停止します。

サービスを停止してから開始するという 2 段階のプロセスを実行せずに、サービスを再起動できます。彼 再起動コマンド すべてあなたに代わって行います。

 システムctl 再起動 htg-例。サービス
systemctl restart コマンドを使用してサービスを再起動します。

起動時にサービスを開始する場合は、そのサービスを有効にする必要があります。

 システムctl 有効にする htg-例。サービス
systemctl enable コマンドを使用してサービスを有効にします。

これは起動時にサービスを開始するようにマークするだけで、すぐに開始するわけではないことに注意してください。それがご希望であれば、--now オプションを追加しました。

 システムctl 有効にする - 今 htg-例。サービス
systemctl enable --now コマンドを使用して、サービスを同時に有効化および開始します。

起動時にサービスを開始する必要がなくなった場合は、無効にします。

 システムctl 無効にする htg-例。サービス
systemctl disable コマンドを使用してサービスを無効にします。

systemd の別の部分である journalctl コマンドを使用して、サービスに関連するエントリを検索できます。 -u (ユニット) オプションを使用すると、関心のあるサービスを指定できます。 -S (以降) オプションを使用すると、指定した時間以降に発生したエントリを表示できます。

ジャーナルctl -S "08:00:00" -または htg-例。サービス
journalctl コマンドを使用して、特定のサービスに関連するシステム ログ エントリを表示します。

あなたを助けるツール 操作に関する情報を取得する Linux ディストリビューションの内部は、日常的な管理と問題のトラブルシューティングおよび診断の両方にとって非常に貴重になります。 systemctl コマンドは単一のツールではありません。専門的な工具箱のようなもので、使いこなす価値があります。 🔧🛠️

5 1 投票する
記事の評価
購読する
通知する
ゲスト

0 コメント
最古の
最新 最も投票された
オンラインコメント
すべてのコメントを見る