/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 作業來清理上述目錄。

相關內容