Cách kiểm tra systemd system.journal từ một hệ thống khác


23

Tôi có lỗi linux arch trên một thiết bị. Thiết bị không có bất kỳ màn hình nào, nó không phản hồi với mạng. Vì vậy, tôi lấy thẻ SD của nó, chèn nó vào máy tính để bàn Ubuntu, xem system.journal mới ở đó và ... Làm thế nào để xem những gì bên trong?

Từ tài liệu Arch Linux tôi biết rằng tôi có thể làm:

 strings /mnt/arch/var/log/journal/.../system.journal | grep -i message

Nhưng nó thực sự cơ bản. Câu hỏi là:

Có cách nào thuận tiện hơn để kiểm tra system.journal từ một hệ thống khác, hơn là sử dụng chuỗi ? Ví dụ tôi có thể chỉ định tệp để đọc cho tạp chí không?


Thế còn nhật ký --file = file_to_examine thì sao?
Taliezin

Câu trả lời:


24

Đầu tiên, khả năng sử dụng stringsbắt nguồn từ một sự trùng hợp đơn thuần trong tạp chí đó không nén các trường nhỏ (dưới 64KiB trong triển khai hiện tại). Đây không phải là một cách được hỗ trợ để đọc các tạp chí và trong archwiki nó thực sự nên được đánh dấu như vậy. Nó là một phương pháp phục hồi cuối cùng.

Bây giờ đến câu hỏi. Từ tạp chí (1) :

-D TRỰC TIẾP, --directory = TRỰC TIẾP

Lấy một đường dẫn thư mục làm đối số. Nếu được chỉ định, tạp chí sẽ hoạt động trên thư mục nhật ký được chỉ định DIR thay vì đường dẫn nhật ký hệ thống và thời gian chạy mặc định.

Vì vậy, giả sử rằng các rootfs của hệ thống bị hỏng được gắn bên dưới $DEST, hãy sử dụng journalctl -D $DEST/var/log/journalđể xem nhật ký hệ thống của nó.

Để hoàn thiện: để xem một tệp cụ thể, hãy sử dụng journalctl --file, vd journalctl --file /var/log/journal/$(cat /etc/machine-id)/system.journal. Tuy nhiên, vì các tệp nhật ký được xoay theo định kỳ, biểu mẫu này không thực sự có thể sử dụng để xem các tạp chí hoàn chỉnh.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.