在磁盘空间非常有限的嵌入式系统上,我的文件夹中/var/cache/apt
充满了大约 700MB 的文件srcpkgcache.bin.*
和几个大*.bin
文件。
表演sudo apt-get clean
并没有带来明显的区别。
手动删除这些文件是否安全*.bin*
?
答案1
不是。这些文件可帮助您的系统确定哪些可用,哪些不可用。清空该目录将导致 apt-get 系统崩溃。以下是一些提示。
首先,自动清洁
添加
DPkg::Post-Invoke { "apt-get clean"; };
到 的末尾/etc/apt/apt.conf
。这将使 apt 和 dpkg 进程花费更长时间,但会使你的缓存目录始终保持干净。
接下来,删除档案
首先删除并禁用所有源存档(您不使用的)。在嵌入式系统上,您可能不需要它们。接下来删除所有未使用的存档。apt-cache policy
如果您不确定,您可以运行以找出包来自哪个存储库。
更多删除档案
有些 PPA 包含大量软件包,而您只需要 1 或 2 个,这很可怕。请尝试禁用这些 PPA,然后手动安装 deb 文件。在这种情况下,您可以节省空间,但会失去自动更新。请记住,dpkg 将处理依赖项,因此您仍然可以安装 thing-with-tons-of-deps.deb,然后运行apt-get -f install
以获取依赖项。
完全极端 答案 1
因为我们讨论的是嵌入式系统,所以 90% 的主要存储库对你没有任何用处。为了解决这个问题,你可以运行自己的 apt-get 存储库服务器请参阅此链接。这并不容易,而且这只是一台机器的 PIA。但如果您有几台这样的机器,那就完全值得了。(您的 apt repo 服务器可以只托管您实际使用的软件包子集。您不需要镜像整个东西)
完全极端答案 2
如果空间真的是个大问题,那么您可以完全禁用 apt,然后恢复通过 dpkg 手动安装。我不得不在几个嵌入式系统上这样做。这很有效,但对管理员来说却是一场噩梦。
答案2
当然,您可以删除pkgcache.bin
和srcpkgcache.bin
,什么也不会发生。只需运行apt-get update
即可重新创建它们。
答案3
保留pkgcache.bin
和srcpkgcache.bin
,您可以安全地删除其他内容。不要触碰目录!
答案4
当然,您可以为此创建一个 NFS 共享(网络文件系统)。将这些文件保留在服务器上,仅当您想要更新/安装软件包时才挂载共享。在嵌入式环境中,安装通常是相对静态的。
sshfs 是另一个不错的选择,设置起来更容易(基本上只需要标准的 SSH),但开销更大(速度更慢)。