问题描述
在磁盘空间非常有限的嵌入式系统上,我的文件夹 /var/cache/apt
充满了大约 700MB 的 srcpkgcache.bin.*
和几个大的 *.bin
文件。
执行 sudo apt-get clean
没有明显的区别。
手动删除这些 *.bin*
文件是否安全?
最佳办法
并不真地。这些文件帮助您的系统确定哪些可用,哪些不可用。清空该目录将导致 apt-get 系统损坏。这里有一些提示。
一、自动清洗
添加一个
DPkg::Post-Invoke { "apt-get clean"; };
到 /etc/apt/apt.conf
的结尾。它会使 apt 和 dpkg 进程花费更长的时间,但会让您的缓存目录始终保持干净。
接下来,删除档案
首先删除并禁用所有源存档(您不使用的)。在嵌入式系统上,您可能不需要它们。接下来删除所有未使用的档案。如果您不确定,可以运行 apt-cache policy
来确定软件包来自哪个 repo。
更多 删除档案
当您只需要 1 或 2 个时,某些 PPA 会因为其中包含大量软件包而感到恐惧。尝试禁用这些 PPA 并仅手动安装 deb 文件。在这些情况下你节省了空间,但你失去了自动更新。请记住 dpkg 将处理依赖项,因此您仍然可以安装 thing-with-tons-of-deps.deb 然后运行 apt-get -f install
来获取依赖项。
完全极端的答案 1
因为我们谈论的是嵌入式系统,所以 90% 的主要回购协议对您没有任何好处。为此,您可以运行自己的 apt-get 存储库服务器 See this link 。这并不容易,而且它只是一台机器的 PIA。但是,如果您有几台这样的机器,那就完全值得了。 (你 apt repo 服务器可以只托管你实际使用的包的一个子集。你不需要镜像整个东西)
完全极端的答案 2
如果空间真的是个大问题,那么您可以一起禁用 apt 并恢复为通过 dpkg 手动安装。我不得不在几个嵌入式系统上这样做。它有效,但这是管理员的噩梦。
次佳办法
您当然可以删除 pkgcache.bin
和 srcpkgcache.bin
,没有任何反应。只需运行 apt-get update
到 re-create 即可。