在 Ubuntu 环境中发生计划外的系统重启的情况下,访问设备的唯一方式是通过远程终端。
您会关注哪些因素来确定问题的根源?
如果重启与应用程序故障有关,我怎么知道?
如果出现应用程序问题,需要调查哪些事项?
这是我在面试时被问到的一道家庭作业问题,我想知道我是否走在正确的轨道上。虽然我很高兴得到答案,但我更希望只是提示一下要研究哪些命令或流程,因为我想学习如何自己做这件事。以下是我目前所拥有的:
使用 SSH 访问 Ubuntu:
ssh remote_username@remote_host //(i.e: ssh [email protected])
调查系统日志
sudo cat /var/log/*.log
或者使用 tail 仅获取给定日志中的最后几行
sudo tail var/log/*.log
我能否只查看“syslog”(syslogd)以了解重启前发生的事情?建议使用“dmesg”检查内核环吗?
应用程序崩溃检查
这就是我被困住的地方。我觉得我需要使用 Apport 来调试导致崩溃的应用程序(回答问题 3),但我不知道如何找出导致崩溃的应用程序。
答案1
我可能想得太多了。我只需要读取崩溃日志/var/crash
并/var/log/
。如果我远程执行此操作并想保留日志记录,我只需将它们复制到我使用运行安全外壳的机器上的文件夹中即可scp
。
scp /var/crash/*.crash [username]@[host]:Desktop/crash_report.txt