温馨提示×

如何清理Debian旧消息

小樊
39
2026-07-12 13:14:43
栏目: 智能运维

在 Debian 系统中,“旧消息”可能指不同类型的日志、通知或缓存消息。以下是几种常见场景的清理方法:


一、清理系统日志(旧消息最常见来源)

1. 使用 journalctl(systemd 日志)

Debian 默认使用 systemd,日志由 journald 管理。

查看当前日志占用

journalctl --disk-usage

按时间清理(例如保留 7 天)

sudo journalctl --vacuum-time=7d

按大小清理(例如限制为 200M)

sudo journalctl --vacuum-size=200M

永久限制日志大小(可选)

编辑:

sudo nano /etc/systemd/journald.conf

修改或添加:

SystemMaxUse=200M
RuntimeMaxUse=50M

重启服务:

sudo systemctl restart systemd-journald

二、清理 /var/log 下的旧日志

1. 手动清理旧日志

sudo du -sh /var/log/*

常见可清理的:

sudo rm /var/log/*.log.*
sudo rm /var/log/syslog.*
sudo rm /var/log/kern.log.*

⚠️ 不要直接删除正在写入的日志文件(如 syslog),建议用 truncate:

sudo truncate -s 0 /var/log/syslog

2. 使用 logrotate(推荐)

Debian 默认已安装。

查看配置:

cat /etc/logrotate.conf
ls /etc/logrotate.d/

可手动触发:

sudo logrotate -f /etc/logrotate.conf

三、清理 apt / dpkg 消息和缓存

1. 清理 apt 缓存

sudo apt clean
sudo apt autoclean

2. 删除旧内核(常见于升级后)

dpkg --list | grep linux-image
sudo apt remove --purge linux-image-旧版本

或自动删除无用包:

sudo apt autoremove

四、清理用户消息(终端 / mail)

1. 查看当前用户消息

mail

2. 删除所有邮件消息

echo 'd *' | mail -N

或:

rm -f ~/mbox

五、清理 GUI 桌面通知(如 GNOME)

GNOME 通知历史

rm -rf ~/.cache/gnome-shell/notifications/*

或重启 shell:

killall -3 gnome-shell

六、如果你是看到“Message from syslogd”的旧提示

可能是终端广播消息,清理方式:

sudo dmesg -c

或关闭终端消息:

sudo mesg n

总结速查表

类型 命令
systemd 日志 journalctl --vacuum-time=7d
/var/log truncate -s 0 /var/log/syslog
apt 缓存 apt clean && apt autoremove
用户 mail `echo ‘d *’
内核消息 dmesg -c

如果你指的是 具体某类“旧消息”(如:MOTD、wall 消息、cron 邮件、桌面通知、Docker 日志等),可以告诉我,我可以给你更精确的清理方案。

0