清除 apt-get 列表

清除 apt-get 列表

我正在为基于 Debian 的嵌入式 Linux 构建镜像。我apt-get update之前确实在想要用作该图像基础的设备上使用过,因此下面的列表/var/lib/apt/lists非常大(大小几乎为 100 MB)。

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

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

答案1

你可以只使用:

rm -rf /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在安装任何东西之前运行。

答案2

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

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

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

使用空源列表,您可以apt-get update- 这应该清除您的/var/lib/apt/lists.然后将适当的源链接回,但直到您真正打算使用它们时才这样/etc/apt/sources.list.d做。update

相关内容