其实不是这样的。那些文件可以帮助你的系统确定可用和不可用的内容。清空该目录会导致apt-get系统出错。以下是一些建议。
首先,自动清理
添加一个
DPkg::Post-Invoke { "apt-get clean"; };
将代码/etc/apt/apt.conf
的末尾添加上述内容。这样做会使apt和dpkg进程变慢,但会保持缓存目录始终清洁。
接下来,删除存档文件
首先删除并禁用所有未使用的源存档文件。在嵌入式系统中,您可能不需要它们。然后删除所有未使用的存档文件。如果不确定某个软件包来自哪个仓库,可以运行apt-cache policy
来查找。
更多删除存档文件
有些PPA仓库中的软件包数量很大,但您只需要其中的1或2个。尝试禁用这些PPA并手动安装deb文件。这样可以节省空间,但会失去自动更新功能。请记住,dpkg会处理依赖关系,因此您仍然可以安装具有大量依赖项的软件包,然后运行apt-get -f install
来获取依赖项。
极端解决方案1
因为我们正在讨论嵌入式系统,90%的主要仓库对你没有任何帮助。为了解决这个问题,你可以运行自己的apt-get仓库服务器
请参考此链接。这并不容易,对于只有一台机器来说可能会很麻烦。但是如果你有多台这样的机器,那就完全值得。(你的apt仓库服务器可以仅托管你实际使用的软件包的子集。你不需要镜像整个仓库)
极端方法2
如果空间确实是一个如此大的问题,那么你可以完全禁用apt,并通过dpkg手动安装。我在几个嵌入式系统上都不得不这样做过。它能够工作,但是对管理员来说是一场噩梦。
*.bin
文件。下一次apt-get update
将重新生成*.bin
文件。这个问题明显与/var/cache/apt/archives
文件夹中的文件无关,而是与/var/cache/apt/*.bin
文件有关。两者之间有很大的区别。前者可以通过执行apt-get clean
来清理,而后者必须手动删除。显然,那些投票关闭问题的人没有正确阅读问题。不幸的是,在奖励了我的声望后,我不能投票重新打开。 - 0xC0000022L/var/cache/apt/
目录下的子目录archives
,而这个问题是关于*.bin*
文件的。 - Olaf Dietsche