/var/cache/apt/archives/ 中空间不足

/var/cache/apt/archives/ 中空间不足
  • 具有持久性的 Debian 10 桌面
root@debian:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            3.8G     0  3.8G   0% /dev
tmpfs           767M   19M  749M   3% /run
/dev/sdb1       2.9G  2.9G     0 100% /run/live/persistence/sdb1
/dev/loop0      2.6G  2.6G     0 100% /run/live/rootfs/filesystem.squashfs
tmpfs           3.8G     0  3.8G   0% /run/live/overlay
/dev/sdb3       4.9G  4.6G   32M 100% /run/live/persistence/sdb3
overlay         4.9G  4.6G   32M 100% /
tmpfs           3.8G     0  3.8G   0% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           3.8G     0  3.8G   0% /sys/fs/cgroup
tmpfs           3.8G   56K  3.8G   1% /tmp
tmpfs           767M  6.8M  761M   1% /run/user/1000
tmpfs           767M  8.0K  767M   1% /run/user/0
/dev/sda2       239G  229G   10G  96% /media/root/741229F01229B7CE
/dev/sdb4       2.0G   61M  2.0G   3% /media/root/cache-apt
  • apt-get update执行时没有任何错误

  • 此系统上的 Firefox-esr 出现了一些问题。

  • sudo apt install -y python3-venv

    Depends: python3-distutils (>= 3.7.2-1~) but it is not going to be installed
    
  1. debian 要求安装 firefox-esr 或 chromium。这会导致 venv 安装出现问题。
  2. 修复损坏的 Firefox-esr:
 :~# apt --fix-broken install
The following packages will be upgraded:
firefox-esr
1 upgraded, 0 newly installed, 0 to remove and 7 not upgraded.
66 not fully installed or removed.
Need to get 56.0 MB of archives.
After this operation, 19.5 kB of additional disk space will be used.
E: You don't have enough free space in /var/cache/apt/archives/.
  • 尝试适当的清洁选项
sudo apt-get autoclean
sudo apt-get autoremove 
sudo apt-get clean
  • 尝试重新路由存储.debs 的位置:

关联:重新路由 .debs 的存储位置

mkdir /media/apt-mount/
mount /dev/sdb4 /media/root/cache-apt/
sudo mv -i /var/cache/apt /media/apt-mount/
ln -s /media/apt-mount/apt/ /var/cache/apt

apt-get update 仍可执行,且无任何错误消息

apt --fix-broken install 仍然导致

E: You don't have enough free space in /var/cache/apt/archives/.

如何修复可用空间不足的错误?

答案1

您可以尝试使用dpkg类似以下命令清除已删除的带有残留数据的软件包

sudo dpkg -P $(dpkg -l | awk '$1=="rc"{print $2}' | xargs)

这也能正确清除旧内核。

该命令的解释awk是,它查找第一列为rc并打印第二列。

答案2

您始终可以手动清除 /var/cache/apt/archives 的内容。它只是旧的下载包文件。如果您不介意重新安装时必须再次下载它们,您可以将它们全部删除:

find /var/cache/apt/archives -name \*.deb -delete

为了防止目录再次填满,您可以通过设置来禁用存储下载的包文件

Dir::Cache::pkgcache ''

在 apt.conf 中。请参阅man apt.conf。或者,创建一个夜间 cron 作业来清理目录,如上所述。

相关内容