如何修复“E:您在 /var/cache/apt/archives/ 中没有足够的可用空间。”

Nav*_*pta 11 partition disk-usage kali-linux

E: You don't have enough free space in /var/cache/apt/archives/.
root@kali:~# df -H
Filesystem      Size  Used Avail Use% Mounted on
udev            2.0G     0  2.0G   0% /dev
tmpfs           406M  7.0M  399M   2% /run
/dev/sda6        12G   11G  480M  96% /
tmpfs           2.1G   78M  2.0G   4% /dev/shm
tmpfs           5.3M     0  5.3M   0% /run/lock
tmpfs           2.1G     0  2.1G   0% /sys/fs/cgroup
/dev/sda8        58G  114M   55G   1% /home
tmpfs           406M   37k  406M   1% /run/user/0
Run Code Online (Sandbox Code Playgroud)

小智 31

如果您在 Docker 容器中收到此错误 - 它帮助我做了一个

docker system prune
Run Code Online (Sandbox Code Playgroud)

  • 运行这个,我得到了 22 Gigs (3认同)

小智 11

解决这个问题很大程度上取决于 cruft 的位置。

  1. 从不必要的包和 apt 缓存开始:
sudo apt autoremove && sudo apt autoclean
df -h
Run Code Online (Sandbox Code Playgroud)
  1. 使用du以寻找冗余代码/var/var/log
sudo du -xh --max-depth=1 /var
sudo du -xh --max-depth=1 /var/log
Run Code Online (Sandbox Code Playgroud)

如果 占用了大量空间/var/log,我通常会使用以下命令清理旧日志文件:

# Note, change +30 to the number of days you want to keep.
sudo find /var/log -mtime +30 -type f -delete
Run Code Online (Sandbox Code Playgroud)

其他目录可能需要以不同方式处理。

  1. 最后,检查正在运行的进程是否锁定了待删除的文件。
sudo lsof -nP | grep '(deleted)'
# If your system doesn't have lsof installed:
sudo apt install lsof 
Run Code Online (Sandbox Code Playgroud)

如果有待删除的大文件,您可能需要使用锁重新启动进程或守护进程。


小智 7

不会apt-get clean释放足够的空间,有比调整文件系统大小更快的方法:

mv /var/cache/apt/ /home/
ln -s /home/apt/ /var/cache/apt
Run Code Online (Sandbox Code Playgroud)

事先确保没有 /home/apt 目录。


Ste*_*und 4

我认为 var/cache/apt/archives 有点满了

apt-get clean packages