如何删除这些文件

如何删除这些文件

我想删除.lz4由 Apt 生成的文件,但apt-get clean不起作用。它删除了partialdir 中的文件,但没有删除 中的文件/var/lib/apt/lists

# apt-get -s clean
Del /var/cache/apt/archives/* /var/cache/apt/archives/partial/*
Del /var/lib/apt/lists/partial/*
Del  
# apt-get clean
# find /var/lib/apt/lists -type f -size +10M -ls
  3685776  15304 -rw-r--r--   1 root     root     15667682 Apr 21  2016 /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_xenial_universe_binary-i386_Packages.lz4
  3685775  15340 -rw-r--r--   1 root     root     15707199 Apr 21  2016 /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_xenial_universe_binary-amd64_Packages.lz4

如何使用 Apt 命令清理这些文件?

我想删除它们,这样我的 Docker 容器在配置后就会变得更小。


使用 Docker 重现步骤:

$ docker run ubuntu:xenial -it bash
# apt-get update
# apt-get -s clean
Del /var/cache/apt/archives/* /var/cache/apt/archives/partial/*
Del /var/lib/apt/lists/partial/*
# apt-get clean
# find /var/lib/apt/lists -type f -size +1M -ls
  1182038  15340 -rw-r--r--   1 root     root     15707199 Apr 21  2016 /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_xenial_universe_binary-amd64_Packages.lz4
  1182032  15596 -rw-r--r--   1 root     root     15968301 Apr 21  2016 /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_xenial_universe_source_Sources.lz4
...

答案1

如何删除这些文件

删除这些文件并不是一个好主意,除非您确实缺少临时磁盘空间,或者您不再打算更新系统软件。

如果您确定没有发生 APT 活动,包括您在安装 Ubuntu 时可能设置的自动安全更新或自动更新警告窗口,您可以按如下方式删除它们:

sudo rm -r /var/lib/apt/lists

下次运行时sudo apt-get update,该目录的结构将自动为您重新创建。

为什么不sudo apt-get clean删除这些文件?

sudo apt-get clean不会删除 中的任何文件/var/lib/apt/lists,除了 中的文件/var/lib/apt/lists/partial。正如您所指出的,这可以看出sudo apt-get -s clean

$ sudo apt-get -s clean
Del /var/cache/apt/archives/* /var/cache/apt/archives/partial/*
Del /var/lib/apt/lists/partial/*
Del /var/cache/apt/pkgcache.bin /var/cache/apt/srcpkgcache.bin

请注意,/var/lib/apt/lists/*未列出要删除的内容。

这样做是因为它删除的文件不会阻止任何 APT 命令成功运行。只是当需要重新下载时可能会减慢 APT 命令的速度。

删除/var/lib/apt/lists/*实际上会导致错误sudo apt-get installapt-cache直到您再次运行sudo apt-get update。它还会花费sudo apt-get update更长的时间,因为它无法跳过下载未更改的文件。

答案2

您已universe启用 -repository,因此您将这些文件放在 中/var/lib/apt/listsuniverse-repository 提供社区维护的免费开源软件。我认为您不想禁用此存储库。

如果你使用以下方式禁用此存储库

sudo add-apt-repository -r -u universe

中的过时文件/var/lib/apt/lists将被自动删除。

相关内容