清除apt-get列表


32

我正在为基于Debian的嵌入式Linux构建映像。我apt-get update之前曾在要用作该图像基础的设备上使用过,所以下面的列表/var/lib/apt/lists非常大(大小接近100 MB)。

我想保留apt-get功能(因此,我不想删除apt储存库),但是我想释放这些列表中使用的空间(列表几乎是图像大小的两倍)。

有谁知道这是怎么做到的吗?我可以删除下面的文件/var/lib/apt/lists吗?

Answers:


47

您可以使用:

rm /var/lib/apt/lists/*

这将删除软件包列表。不会删除任何存储库,它们在中的配置文件中配置/etc/apt/sources.list。所有可能发生的事情是,apt-cache除非您更新了软件包列表,否则诸如此类的工具无法获取软件包信息。也apt-get install将失败E: Unable to locate package <package>,因为有关该软件包的信息不可用。

然后运行:

apt-get update

重写这些列表,该命令将再次起作用。

无论如何,建议apt-get update先安装后再运行。


6

这些列表是可用知识,因此,如果删除它们,将无法安装任何东西-完全等同于从源列表中删除存储库(您说不想这样做)。

一种选择是您可以压缩列表,并记得在下一步之前解压缩它们update

我经常做的事情(特别是当我想尝试其他资源时)是创建目录/etc/apt/sources.available并添加分发条目。然后,我可以通过从中创建符号链接来轻松启用任何子集,/etc/apt/sources.list.d并通过删除这些符号链接来轻松禁用任何子集。

如果源列表为空,则可以apt-get update-清除/var/lib/apt/lists。然后将适当的资源重新链接到中/etc/apt/sources.list.d,但是update直到您真正打算使用它们为止。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.