最近のガイドで、Linuxの新規ユーザーが一般的なシステム問題を診断・修正するのに役立つ4つの必須systemdツールが紹介されている。主なディストリビューションで広く使われるinitシステムであるsystemdは、サービス管理、ログ閲覧、ブート時間分析、クラッシュ調査のためのビルトイン・ユーティリティを提供する。これらのツールは、推測不要の構造化された問題解決アプローチを提供する。
Ubuntu、Fedora、DebianなどのディストリビューションでLinuxシステムのコアマネージャーとして機能するsystemdは、サービスとプロセスを効率的に管理する。Linuxコミュニティでは依然として議論の的となっている—包括性で称賛される一方、一部からは批判される—が、これらのツールによりトラブルシューティングが容易になる。 最初のツールであるsystemctlは、サービスを監視・制御する。SSHのようなサービスの状態を確認するにはsystemctl status sshを使用し、Active (running)、Inactive (dead)、Failedなどの行を確認でき、主なPIDとエラー詳細が含まれる。一般的な操作として、sudo systemctl start sshで開始、sudo systemctl stop sshで停止、sudo systemctl restart sshで再起動、sudo systemctl disable sshで無効化してブート時間を最適化する。 Journalctlは、クラッシュしたアプリケーションのエラーを捕捉する中央集権的で暗号化されたログを取得する。journalctlを実行するとエントリが表示されるが、フィルタで使い勝手が向上:-xで説明的なカタログ情報を追加、-eで最新ログを表示、特定ユニット向けにjournalctl -u ssh、時間枠としてjournalctl --since '2 hours ago'など。これにより、散在する従来のログファイルを統一ビューに置き換える。 ブートが遅い場合、systemd-analyzeでボトルネックを特定する。systemd-analyze blameで起動時間を基にサービスをリストし、数分かかるモデムマネージャーなどの原因を明らかにする。systemd-analyze critical-chainで依存関係を可視化し、一つのサービスの遅延がデスクトップまでのチェーンに及ぼす影響を示す。 アプリケーションが完全に失敗した場合、coredumpctlでコアダンプを調べる。coredumpctl listで最近のクラッシュとPIDを表示、coredumpctl info <PID>でシグナル(例: 無効メモリアクセス時のSIGSEGV)やスタックトレースなどの詳細を提供し、詳細な調査を支援する。 これらのユーティリティにより、基本的な再起動を超え、接続失敗やアプリケーションクラッシュなどの問題に対する精密診断が可能になる。