Linuxシステムで問題が発生した際、特に起動時のエラーを特定するために「起動ログ」を確認することが重要です。Ubuntuでは、journalctl
コマンドを使用して起動ログを簡単に確認できます。本記事では、Ubuntuでの起動ログの確認方法を詳しく解説します。
1. 起動ログとは?
起動ログは、システム起動中に実行されるサービスやプロセスに関する詳細情報を記録したものです。これには、以下のような情報が含まれます。
- システムのカーネルメッセージ
- サービスの起動状況
- エラーや警告メッセージ
これらの情報を確認することで、トラブルの原因を特定し、適切な対処が可能になります。
2. 起動ログの確認コマンド
2.1 基本コマンド:journalctl
Ubuntuでは、journalctl
を使ってログを確認できます。以下が起動ログを確認するための主なコマンドです:
-
直近の起動ログを確認
journalctl -b
このコマンドで、現在の起動に関するログを表示します。
-
前回の起動ログを確認
journalctl -b -1
直前の起動に関するログを確認したい場合に使用します。
-
特定の起動ログを確認 起動回数を指定してログを表示:
journalctl -b -<起動回数>
例:
-2
は2回前の起動ログを表示します。
2.2 特定の時間範囲を指定
特定の期間のログだけを確認したい場合:
journalctl --since "2024-11-26 08:00" --until "2024-11-26 09:00"
3. 特定のサービスの起動ログを確認
起動時に特定のサービスに問題がある場合、以下のコマンドで該当サービスのログを確認できます:
-
サービス名でフィルタリング 例: Apache(
apache2
)のログを確認:journalctl -u apache2
-
特定の期間で絞り込む サービスログに期間を指定:
journalctl -u apache2 --since "1 hour ago"
4. リアルタイムでログを確認
リアルタイムでログを監視する場合:
journalctl -f
これは、サービスが起動中に発生するメッセージをリアルタイムで表示します。
5. 起動ログのエラー部分を効率的に確認
起動時のエラーだけを探す場合、grep
を組み合わせると便利です:
journalctl -b | grep -i error
6. システム全体のログ場所
Ubuntuではjournalctl
が主流ですが、システム全体のログは/var/log
ディレクトリにも保存されています。主なログファイル:
- カーネルログ:
/var/log/kern.log
- システムログ:
/var/log/syslog
- ブートログ:
/var/log/boot.log
以下のように表示可能です:
7. ログの保存期間を変更(オプション)
デフォルトでは、journalctl
のログは一定期間後に削除されます。長期間保存したい場合、以下の設定を行います:
-
設定ファイルを編集
sudo nano /etc/systemd/journald.conf
-
保存期間を変更
SystemMaxUse=
を設定(例: 100MBまで保存):SystemMaxUse=100M
-
設定を反映
sudo systemctl restart systemd-journald
8. 起動ログが確認できない場合の対処法
-
journalctl
が機能しない場合 古いLinuxディストリビューションやカスタム設定ではjournalctl
が利用できないことがあります。その場合は、dmesg
を使用:dmesg
-
ログが保存されていない場合 一部のシステムでは、メモリ内のログが起動後に消えることがあります。この場合、永続的なログ保存を有効にする必要があります。
9. まとめ
起動ログはシステム管理やトラブルシューティングにおいて非常に重要です。journalctl
コマンドを活用することで、効率的にログを確認でき、エラーの原因を特定しやすくなります。ぜひ、本記事を参考に、Ubuntuのログ管理をマスターしてください!