返回博客
Ubuntu 服务器系统空间清理指南
```bash # 清理 apt 缓存 sudo apt clean # 清理已下载但未安装的包 sudo apt autoclean # 清理不再需要的依赖 sudo apt autoremove ```
Ubuntu 系统空间清理指南
当 Ubuntu 系统空间不足时,可以通过以下方法进行清理:
1. 清理包管理器缓存
# 清理 apt 缓存
sudo apt clean
# 清理已下载但未安装的包
sudo apt autoclean
# 清理不再需要的依赖
sudo apt autoremove
2. 删除不需要的软件包
# 查看已安装的软件包大小
dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -nr | head -20
# 卸载不需要的软件
sudo apt remove 软件包名称
3. 清理临时文件
# 清理 /tmp 目录
sudo rm -rf /tmp/*
# 清理用户临时目录(重点)
rm -rf ~/.cache/*
4. 清理日志文件
# 查看日志文件大小
sudo du -h /var/log
# 清空特定日志文件
sudo truncate -s 0 /var/log/*.log
# 清理旧的日志归档
sudo find /var/log -name "*.gz" -delete
5. 查找并删除大文件
# 查找系统中大于 100MB 的文件
sudo find / -type f -size +100M -exec ls -lh {} \; 2>/dev/null
# 查找主目录中大于 50MB 的文件
find ~ -type f -size +50M -exec ls -lh {} \;
6. 清理旧的内核文件
# 查看已安装的内核
dpkg --list | grep linux-image
# 移除旧内核(保留当前和上一个版本)
sudo apt remove linux-image-旧版本号
7. 检查磁盘使用情况
# 查看整体磁盘使用情况
df -h
# 查看目录大小
sudo du -h --max-depth=1 /
预防措施
- 定期清理系统
- 使用
logrotate管理日志文件 - 监控磁盘使用情况
- 考虑使用符号链接将大目录移动到其他分区
关于删除日志文件的建议
不建议直接删除所有日志文件,因为日志文件包含重要的系统信息,对于排查问题、监控系统状态和安全审计都非常重要。
安全的日志管理方法
1. 清理旧日志
# 清理压缩的旧日志
sudo find /var/log -name "*.gz" -delete
# 清理特定时间之前的日志
sudo find /var/log -type f -mtime +30 -delete
2. 清空日志文件(保留文件结构)
# 清空日志文件但保留文件本身
sudo truncate -s 0 /var/log/*.log
sudo truncate -s 0 /var/log/**/*.log 2>/dev/null
3. 使用日志轮转工具
Ubuntu 默认使用 logrotate 管理日志,可以配置日志轮转策略:
# 查看当前配置
cat /etc/logrotate.conf
4. 清理特定服务的日志
如果某个服务的日志特别大,可以单独清理:
# 例如清理 Docker 日志
sudo journalctl --vacuum-time=1d
注意事项
- 不要删除正在写入的日志文件 - 这可能导致服务异常
- 保留关键日志 - 如安全相关的日志
- 定期检查 - 监控日志大小,避免空间被日志占满
- 备份重要日志 - 在清理前备份重要的系统日志
正确的日志管理策略应该是:定期轮转、压缩旧日志、设置合理的保留期限,而不是简单地删除所有日志文件。