在 Debian 系统中,dmesg 显示的是内核环形缓冲区(kernel ring buffer)的内容,默认不会自动长期保存。下面按常见需求给你几种保存方式。
sudo dmesg > dmesg.log
或带时间戳:
sudo dmesg -T > dmesg.log
Debian 使用 systemd,内核日志通常由 systemd-journald 接管。
journalctl -k
sudo journalctl -k > kernel.log
默认 journal 可能存在内存中,修改配置:
sudo nano /etc/systemd/journald.conf
修改或添加:
Storage=persistent
然后:
sudo mkdir -p /var/log/journal
sudo systemctl restart systemd-journald
之后:
journalctl -k --boot=0
Debian 通常已安装 rsyslog。
sudo apt install rsyslog
编辑:
sudo nano /etc/rsyslog.conf
添加:
kern.* /var/log/kern.log
重启:
sudo systemctl restart rsyslog
查看:
tail -f /var/log/kern.log
创建脚本:
sudo nano /usr/local/bin/save-dmesg.sh
内容:
#!/bin/bash
dmesg -T > /var/log/dmesg.$(date +%F-%T).log
赋予权限:
sudo chmod +x /usr/local/bin/save-dmesg.sh
加入 systemd 服务或 rc.local。
| 场景 | 推荐方式 |
|---|---|
| 临时排查 | dmesg -T > file |
| 长期审计 | systemd-journald |
| 兼容老系统 | rsyslog |
| 重启对比 | journalctl -k -b |
如果你愿意,可以告诉我:
cat /etc/debian_version)我可以给你最合适的具体配置。