在 Debian 系统中,定位故障主要依赖 系统日志、服务日志和内核日志。下面从常用日志位置、关键命令、实战排查思路三个方面说明。
/var/log/
常见文件:
| 文件 | 作用 |
|---|---|
/var/log/syslog |
系统通用日志(服务、网络、应用) |
/var/log/messages |
部分系统消息(有些版本可能没有) |
/var/log/kern.log |
内核日志 |
/var/log/dmesg |
内核启动信息 |
/var/log/auth.log |
认证、SSH、sudo 相关 |
/var/log/boot.log |
启动日志 |
/var/log/daemon.log |
守护进程日志 |
Debian 默认使用 rsyslog 或 systemd-journald
journalctl
journalctl -f
journalctl -b
journalctl -b -1
journalctl -u nginx
journalctl -u ssh
journalctl -u docker
journalctl --since "2025-01-01 10:00" --until "2025-01-01 12:00"
journalctl -p err
journalctl -xb
重点看:
failederrortimeoutdependency常见原因:
systemctl status 服务名
journalctl -u 服务名 --no-pager
示例:
systemctl status ssh
journalctl -u ssh
常见错误:
journalctl -u NetworkManager
journalctl -u networking
或:
dmesg | grep eth
dmesg | grep link
dmesg | grep -i error
dmesg | grep -i ext4
查看磁盘空间:
df -h
du -sh /*
less /var/log/auth.log
常见:
dmesg
journalctl -k
关注:
# 1. 看系统整体状态
systemctl --failed
# 2. 看最近错误
journalctl -p err -xb
# 3. 看具体服务
systemctl status xxx
# 4. 查看对应日志
journalctl -u xxx
# 5. 看硬件/内核
dmesg | tail -50
默认 journal 可能只存内存中,建议开启:
mkdir -p /var/log/journal
systemctl restart systemd-journald
journalctl | grep -i "failed"
journalctl | grep -i "error"
journalctl -b > boot.log
如果你有具体故障场景(如:无法上网、SSH 连不上、系统卡死、Docker 起不来),可以直接贴日志,我可以帮你精准分析。