劣化状態を示す systemctl ステータスを修正する方法

Lie Hua Zhuang Taiwo Shisu Systemctl Sutetasuwo Xiu Zhengsuru Fang Fa



劣化した Linux のシステム状態です。システムは実行中ですが、一部のサービスのロードに失敗したことを示します。この状態は、systemd を init システムとして使用するすべての Linux ディストリビューションで発生する可能性があります。

このチュートリアルでは、systemctl を使用してシステム状態を表示する方法と、劣化が表示された場合にそれを修正する方法について説明します。

systemctl ステータスがシステム状態の低下を示しているのはなぜですか?

システムctl 持っています 状態 サービス名が指定されていない場合は、サービスまたはシステム全体の実行時ステータスをチェックするオプション。







システムの動作ステータスを確認するために使用される代替方法は、次のように知られています。 システムが実行中です 。このオプションはシステム状態をチェックし、終了コードに基づいて文字列を返します。たとえば、システムが完全に動作している場合、出力は次のようになります。 ランニング 終了コード 0 。 0 より大きい終了コードは、システムにトラブルシューティングが必要であることを示します。



システムの現在の状態を確認するには、 システム制御ステータス 指示。



システム制御ステータス





または、 システムが実行中です systemctl のオプション。

systemctl はシステムが実行中です



上記のコマンドは、システム状態が低下していることを示しています。これは、システムは動作していますが、1 つ以上のサービスのロードに失敗していることを意味します。

上記のコマンドで表示できるその他の一般的な状態を以下の表に示します。

初期化 Basic.target 実行レベルに達するか、メンテナンス状態になるときの起動前のシステム状態
起動 起動後のシステム状態(rescue.target 実行レベルに達するか、ジョブ キューがアイドル状態になる場合)
停止 システムがシャットダウンしています
ランニング 完全に動作しているシステム状態
劣化した 動作可能であるが、1 つ以上のサービスのロードに失敗したシステム状態
メンテナンス 救助または緊急ターゲットが有効になっています
オフライン 互換性のないサービス マネージャーが PID 1 として実行されているため、システム マネージャーが実行されていません。
未知 リソースの制限により状態を判断できません

システムの劣化状態を修正するにはどうすればよいですか?

前述したように、劣化状態は 1 つ以上のサービスのロードに失敗したことを示します。 systemctl を使用して、失敗したサービスを特定することからトラブルシューティング プロセスを開始します。

systemctl リストユニット - 州 =失敗しました

次のステップは、 リセット失敗 オプション付き システムctl それを修正するコマンド。

systemctl のリセットに失敗しました

リセット失敗 このオプションは基本的に、異常な操作により実行に失敗したサービスをリセットします。ただし、このコマンドは、失敗したすべてのサービスが有効になることを保証するものではありません。 /lib/system/system に存在するサービス ファイルの構成が正しくないために、サービスが失敗する可能性があります。 /etc/systemd/システム ディレクトリ。

失敗したサービスの詳細については、ログ メッセージを参照してください。サービスのログ メッセージにアクセスするには、 ジャーナルctl 指示、 -で フラグとサービス名。

ジャーナルctl -で [ サービス名

ログの詳細な説明を取得するには、 -バツ オプション付き -それは 。の -バツ フラグは説明のヘルプ テキストを表示します。 -それは オプションを指定すると、最新のエントリが最初に表示されます。

ジャーナルctl -で [ サービス名 -車

結論

低下とは、システムは実行されているが、1 つ以上のサービスのロードに失敗したことを示すシステム状態です。このシステム状態は、次のコマンドを使用して取得できます。 システム制御ステータス または systemctl はシステムが実行中です コマンド。の systemctl のリセットに失敗しました コマンドは、劣化エラーなどの一部の問題を解決する可能性がありますが、問題の解決を保証するものではありません。前述のアプローチで問題を解決できない場合は、次のコマンドを使用してログを調べて問題を特定します。 ジャーナルctl 指示。