如何排查 apt update 空间不足的问题
在运行 `apt update` 时,遇到 "No space left on device" 错误通常是由于设备上的存储空间已满。下面我们整理了一个排查空间占用以及释放空间的流程,帮助您解决该问题。
此外,这个问题也会导致在docker 容器内的环境出现apt update 更行问题,表现为签名错误。At least one invalid signature was encountere。
1. 检查磁盘空间使用情况
首先,通过以下命令查看系统中每个挂载点的磁盘空间使用情况:
df -h
这个命令将显示文件系统、已用空间、可用空间和使用率。特别需要关注的是 `/` 分区,因为这是 apt 常常使用的分区。
2. 查找 / 分区下的大文件
要专门查找 `/` 分区中的大文件,可以使用以下命令,仅搜索当前文件系统,不遍历其他挂载点:
sudo find / -xdev -type f -size +1G
此命令会列出 `/` 分区下所有大于 1GB 的文件,帮助你快速定位占用空间过大的文件。
3. 清理不必要的文件
以下是一些常见的可以清理的文件和目录:
3.1 清理 APT 缓存
使用以下命令清理 APT 包管理器的缓存,释放空间:
sudo apt-get clean
3.2 清理日志文件
系统日志文件可能会占用大量空间,检查 `/var/log` 下的日志文件并清理较大的日志文件:
sudo du -sh /var/log/*
sudo truncate -s 0 /var/log/syslog
3.3 清理 Docker 缓存
如果你使用 Docker,可能会有大量未使用的镜像和缓存文件。使用以下命令清理:
docker system prune -a
注意:该命令会删除未使用的镜像和停止的容器。
4. 删除不必要的临时文件
系统中的临时文件可以通过以下命令清理:
sudo rm -rf /tmp/*
5. 删除 .docker_temp_* 文件
如果遇到 `.docker_temp_*` 文件(如 `/home/ligq/.docker_temp_146141370`),可以安全删除这些 Docker 产生的临时文件,特别是在它们未被使用的情况下。使用以下命令:
sudo rm /home/ligq/.docker_temp_146141370