1. 不能获取锁异常(Could not get lock)
原因:系统中已有apt或apt-get进程在运行(如未正常结束的安装/卸载操作),导致锁文件无法释放。
解决方法:手动终止冲突进程,再执行清理命令。具体步骤:
sudo killall apt apt-get # 杀死所有apt相关进程
sudo rm /var/lib/apt/lists/lock # 删除锁文件(谨慎操作,确保无进程运行)
sudo rm /var/cache/apt/archives/lock
sudo apt clean # 重新清理缓存
2. 删除文件后空间未释放
原因:已删除的文件仍被某个进程占用(如日志文件、数据库文件),文件系统未刷新;或/tmp、/var/tmp等临时目录未清理。
解决方法:
sudo lsof | grep deleted # 列出被删除但仍被占用的文件及进程
sudo kill -9 <PID> # 终止对应进程
sudo sync; sudo echo 3 | sudo tee /proc/sys/vm/drop_caches
sudo rm -rf /tmp/* /var/tmp/*
3. 磁盘空间不足
原因:缓存文件、旧内核、孤立软件包、日志文件或大文件占用过多空间。
解决方法:
sudo apt clean
sudo apt autoremove --purge -y
dpkg --list | grep linux-image # 列出已安装的内核
sudo apt remove --purge <旧内核版本号> # 删除旧内核
sudo journalctl --vacuum-time=3d # 按时间清理
sudo journalctl --vacuum-size=100M # 按大小清理
4. 误删重要文件
原因:使用rm -rf命令时路径错误,或未确认文件用途导致系统/应用关键文件被删除。
解决方法:
/etc、/home目录):sudo tar -czvf /backup/etc_backup.tar.gz /etc
rm -rf,优先用find命令精准删除(如删除大于100MB的日志文件):sudo find /var/log -type f -size +100M -delete
5. 清理命令使用不当
误区:混淆apt clean、apt autoclean、apt autoremove的功能,或过度清理(如删除/etc下的配置文件)。
正确用法:
apt clean:删除/var/cache/apt/archives/下的所有包文件(彻底清理缓存)。apt autoclean:删除/var/cache/apt/archives/下旧版本的包文件(仅保留最新版本)。apt autoremove:删除不再被任何软件包依赖的孤立包(避免残留无用依赖)。/etc、/usr、/lib等系统目录下的文件,除非明确知道其用途。6. 忽略依赖关系
原因:卸载软件时未使用--purge选项,导致配置文件残留;或未使用autoremove删除不再需要的依赖。
解决方法:
sudo apt purge <package_name>
sudo apt autoremove --purge -y
sudo deborphan | xargs sudo apt purge -y # 使用deborphan查找孤立包
7. 日志文件过大
原因:系统日志(如/var/log/syslog、/var/log/auth.log)或应用日志(如Apache的access.log)长期未清理,占用大量磁盘空间。
解决方法:
logrotate工具自动管理日志(默认已配置,可修改/etc/logrotate.conf调整保留策略)。sudo rm /var/log/*.gz # 删除压缩的旧日志
sudo journalctl --vacuum-time=7d # 清理7天前的systemd日志
8. 过度清理
误区:删除所有缓存文件(如/var/cache/apt/archives/)或临时文件,导致系统需要重新下载包,降低后续安装效率。
正确做法:
/tmp、/var/tmp)和过期日志。