我想删除.lz4
由 Apt 生成的文件,但apt-get clean
不起作用。它删除了partial
dir 中的文件,但没有删除 中的文件/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 install
,apt-cache
直到您再次运行sudo apt-get update
。它还会花费sudo apt-get update
更长的时间,因为它无法跳过下载未更改的文件。
答案2
您已universe
启用 -repository,因此您将这些文件放在 中/var/lib/apt/lists
。universe
-repository 提供社区维护的免费开源软件。我认为您不想禁用此存储库。
如果你使用以下方式禁用此存储库
sudo add-apt-repository -r -u universe
中的过时文件/var/lib/apt/lists
将被自动删除。