麒麟OS根分区日志占满导致卡顿、报错、更新失败等问题,需分层清理:先用麒麟管家安全删除/var/log/历史文本日志;再用journalctl --vacuum-size=300M压缩journald日志;最后手动清理归档日志和残留大文件,并验证空间与配置。

麒麟OS系统根分区空间被日志文件占满时,桌面卡顿、软件商店报错#0007、系统更新失败甚至无法登录图形界面,这些问题往往不是硬盘真的装满了,而是/var/log/下的文本日志和/var/log/journal/中的journald二进制日志失控膨胀所致,必须按日志类型分层处理才能安全释放空间。
用麒麟管家快速清理历史文本日志
这是最安全的起步操作,专为普通用户设计,能自动识别/var/log/中已轮转但未删除的历史日志(如syslog.1、kern.log.2、auth.log.3),不会触碰当前正在写入的syslog或journald主日志文件。
点击左下角“开始菜单”,在搜索框中输入“麒麟管家”并启动程序。
在主界面左侧导航栏中,点击“垃圾清理”模块→点击“开始扫描”,等待系统完成识别(通常需40–90秒)。
扫描完成后,【务必只勾选高亮显示的 /var/log/ 下带编号的历史日志(如 syslog.1、kern.log.2)和 /tmp 目录下的残留项】;不要全选,否则可能误删正在轮转中的日志配置或服务依赖的临时套接字。
点击“一键清理”,确认弹窗后执行删除——该操作不可逆,且不会影响当前运行中的服务日志写入。
终端压缩journald二进制日志
journald默认无大小限制,一台运行半年的麒麟系统其/var/log/journal/目录常达4–12GB,且无法通过ls直观判断体积,必须用专用命令强制收缩。
按下Ctrl+Alt+T打开终端→输入su并回车→输入root密码获取管理员权限。
执行:journalctl --vacuum-size=300M。
这一步会立即丢弃最旧的日志条目,保留最近的有效记录,压缩后体积严格控制在300MB以内,不影响故障排查所需的近期日志。
若需长期约束,编辑配置:nano /etc/systemd/journald.conf,取消注释并修改两行:SystemMaxUse=500M 和 MaxRetentionSec=3month,保存后执行 systemctl restart systemd-journald。
手动清理残留大日志与归档包
有些日志被logrotate压缩归档为.gz文件,麒麟管家不扫描这类文件,它们常静默占用数百MB至数GB空间。
方法一:查找并删除旧归档日志
在终端中执行:find /var/log -name "*.log.*.gz" -mtime +30 -delete,仅删30天前的压缩日志归档。
方法二:定位单个超大日志文件
执行:ls -Sh /var/log/*.log | head -n 5,查看体积最大的5个活跃日志;若发现某syslog或daemon.log超过1GB,可先清空其内容:truncate -s 0 /var/log/syslog(注意:此操作清空文件但保留inode,比rm更安全)。
方法三:检查升级残留包
执行:ls -lh /var/log/installer/,若存在kylin-desktop-*.iso或upgrade-*.tar.gz等大文件,确认非当前升级所需后,用rm -f直接删除。
验证清理效果并防止复发
第一步:检查根分区剩余空间
执行:df -h /,重点关注“Use%”列是否回落至85%以下。
第二步:确认日志路径真实体积
执行:du -sh /var/log/journal/ /var/log/*.log* | sort -hr,核对各目录实际占用是否符合预期。
第三步:启用自动轮转保护
执行:sudo systemctl enable systemd-journald确保服务开机自启;再运行:sudo systemd-tmpfiles --create激活系统级临时文件策略,防止/tmp和/var/log/tmp类路径再次失控。










