APT包管理清理
sudo apt-get clean删除/var/cache/apt/archives/目录下所有已下载的软件包文件(.deb格式),释放磁盘空间;sudo apt-get autoclean则仅删除不再需要的旧版本软件包(如已更新软件包的旧版本),避免缓存过度膨胀。sudo apt-get autoremove删除已安装但不再被任何软件包依赖的“孤儿”依赖包;sudo apt-get autoremove --purge进一步删除这些包的配置文件,彻底释放空间;sudo deborphan | xargs sudo apt-get remove --purge通过deborphan工具找出并删除无用的库文件(无其他包依赖的库)。sudo rm /var/log/apt/history.log删除APT操作历史记录(如安装、升级日志);sudo rm /var/lib/apt/lists/*清理APT的软件包列表缓存(从软件源下载的包信息),减少不必要的磁盘占用。临时文件与缓存清理
sudo rm -rf /tmp/*删除/tmp目录下的所有临时文件(重启后该目录会自动重建),避免临时文件堆积占用空间。sudo sync && echo 3 > /proc/sys/vm/drop_caches清理页面缓存(加速文件读取的缓存)、目录项缓存(加速文件名查找)和inode缓存(加速文件元数据访问)。注意:清理后系统需重新加载常用数据到内存,可能短暂影响性能,建议在低峰时段操作。rm -rf ~/.cache/*删除当前用户的缓存文件(如浏览器缓存、应用临时文件),释放用户目录空间。日志文件管理
du -sh /var/log/*查看/var/log目录下各日志文件大小,sudo rm /var/log/syslog(或auth.log、kern.log等)删除特定大日志文件;sudo > /var/log/syslog清空日志文件内容(保留inode,避免影响正在运行的服务)。logrotate是Debian默认的日志轮转工具,通过编辑/etc/logrotate.conf(全局配置)或/etc/logrotate.d/下的服务配置(如/etc/logrotate.d/apache2),设置日志保留天数(rotate 7保留7天)、压缩选项(compress)等。手动触发轮转可使用sudo logrotate -f /etc/logrotate.conf。systemd,journalctl --disk-usage查看日志磁盘使用量;journalctl --vacuum-time=3d删除3天前的日志,journalctl --vacuum-size=500M限制日志总大小不超过500MB。修改/etc/systemd/journald.conf(如SystemMaxUse=16M)可永久调整日志保留策略,修改后需sudo systemctl daemon-reload && sudo systemctl restart systemd-journald生效。旧内核与孤立软件包清理
dpkg --list | grep linux-image列出所有已安装的内核版本,sudo apt-get remove --purge linux-image-x.x.x-x-generic(替换x.x.x-x为旧内核版本号)删除旧内核(保留当前正在使用的内核,避免系统无法启动)。dpkg --list | grep "^rc"列出状态为“rc”(未配置,已卸载但保留配置文件)的软件包,xargs sudo dpkg --purge彻底删除其配置文件;sudo systemctl disable <service-name>禁用不需要的系统服务(如蓝牙、打印服务),减少后台进程对资源的占用。自动化与定期维护
#!/bin/bash
sudo apt-get clean
sudo apt-get autoclean
sudo apt-get autoremove --purge -y
sudo rm -rf /tmp/*
sudo journalctl --vacuum-time=3d
赋予执行权限(chmod +x cleanup.sh)后,可手动或通过cron定时运行。cron设置定期清理任务,例如每周日凌晨2点执行清理脚本:编辑crontab(sudo crontab -e),添加0 2 * * 0 /path/to/cleanup.sh。也可利用systemd的tmpfiles.d配置(如/etc/tmpfiles.d/cleanup.conf)定义自动清理规则(如删除/var/tmp中超过30天的文件)。