故障systemのroot filesystemを/mntへread-only mountした。
/mnt/var/log/journal内のjournalだけを現在systemのjournalと混ぜずに読む。
適切なコマンドはどれか。
journalctl --directory=DIRは指定directoryのjournal fileを読み、rescue環境やcopyの解析に使える。
詳細解説
journalctl --directory=/mnt/var/log/journal指定directoryのjournal fileを読み取る。
正しい。directory optionは指定場所にあるjournal fileだけをopenし、rescue copyの解析に適する。
journalctl --root=/mnt/var/log/journal--rootはroot directoryを取り、journal data directoryそのものではない。
誤り。rootには/mntのようなroot filesystemの上位を指定し、journal data directory自体を渡す用途と異なる。
journalctl --file=/mnt/var/log/journal--fileは個別file/glob用でdirectory指定ではない。
誤り。file optionには具体的なjournal fileまたはglobを渡し、directoryをそのまま指定しない。
journalctl --vacuum-dir=/mnt/var/log/journalそのような読取optionではなく、vacuumとも目的が異なる。
誤り。vacuum-dirという表示optionはなく、rescue dataを削除せず読む要件にも反する。
実際に確かめる
一時的な検証環境で実行できる例です。
journalctl --help 2>&1 | grep -E -- '--directory| -D' | head -n 1期待される結果
-Dまたは--directoryのhelp行理解のポイント
- directoryを直接指定
- read-only解析
- current journalと分離
確認時の注意
- 確認環境: journalctl helpの読取のみ
基礎のおさらい
forensic read
original mediaをread-onlyでmountし、copyやdirectory指定で解析して証拠dataを変更しない。
journal file検証
journalctl --verifyでfile内部の整合性を確認できるが、内容表示のdirectory指定とは別操作である。