我可以安全地删除 /var/cache 吗?

99 cache

我的磁盘空间不足,并注意到我有一个大/var/cache目录。我可以安全地删除它吗?(使用 Arch Linux,顺便说一句)。

Tor*_*amo 95

来自http://www.lindevdoc.org/wiki//var/cache

很抱歉(非常)迟到的答案,但我相信将这一点包括在内以供将来参考很重要。

突出显示确实回答这个问题的位。

/var/cache 目录包含缓存文件,即生成的文件并且可以随时重新生成,但它们值得存储以节省重新计算它们的时间。

任何应用程序都可以在此处创建文件或目录。假设存储在这里的文件不是关键的,因此系统可以定期删除 /var/cache 的内容,或者当其内容太大时。

任何应用程序都应该考虑到这里存储的文件随时可能消失,并准备好重新计算其内容(有一些时间损失)。

所以,是的,您可以删除这些文件,而无需预料会发生任何不好的事情。

  • 如果你删除了,你将不得不跳过 [some hoops](https://serverfault.com/questions/109970/debian-ubuntu-how-to-restore-var-cache-apt-structure-after-deleting-it) `/var/cache` 并且想在之后使用 `apt`。 (9认同)

Sha*_*dur 29

没有

一方面,我相信这/var/cache/bind/是 bind9 期望存储其区域文件的默认目录(至少在 Debian 上;我不知道其他发行版是否会效仿)

另一方面,根据这个文档,pacman(Arch linux 使用的包管理器)将其包缓存存储在下面/var/cache/pacman/pkg/,它很可能只希望自己修改内容。

我建议您更仔细地通读文档并决定现在是否是清除包缓存的好时机。

  • 这就像说你不应该在不知道它们是什么的情况下删除 Windows 中临时目录中的文件。如果该文件夹用于临时文件并且您的程序将非临时数据放在那里,那么这对您的程序来说是一个大问题,而不是 /var/cache (27认同)
  • 在 Debian 上,`/var/cache/bind` 包含从其他名称服务器传输的区域文件——它不应该包含主区域。Debian 遵循 FHS,而 FHS 要求`/var/cache` 下的文件是可删除的。当然,问题是关于 Arch 的,另外一个人不应该在至少弄清楚它们是什么之前删除文件。 (6认同)

Kev*_*vin 17

正如其他人所说,/var/cache/任何应用程序都可以使用它来存储信息以节省检索时间。但是,根据我的经验,其中占用的大部分空间来自系统的包管理器。

来自 Arch Linux维基

pacman将其下载的软件包存储在其中/var/cache/pacman/pkg/并且不会自动删除旧的或卸载的版本,因此有必要定期清理该文件夹以防止此类文件夹无限增大。

pacman -Sc
Run Code Online (Sandbox Code Playgroud)

但是,除非存储空间是一个绝望的问题,否则以后会因将来的不兼容而头疼;这些其他工具应该被利用:paccachepkgcachecleanpacleaner


对于其他系统:

基于 Redhat(Fedora、CentOS、SL 等)

yum clean all
# or
dnf clean all
Run Code Online (Sandbox Code Playgroud)

基于 Debian (Ubuntu, ...)

apt-get autoclean
Run Code Online (Sandbox Code Playgroud)

基于 SUSE

zypper clean
Run Code Online (Sandbox Code Playgroud)

  • +1!我今天注意到我的磁盘空间用完了……一个简短的 `du -hs /* 2> /dev/null` 显示 `/var` 非常大。原来我的 pacman 缓存是 91GB。`pacman -Sc` 清理了旧包并将 pacman 缓存减少到 5GB! (2认同)
  • [本文](https://www.ostechnix.com/recommended-way-clean-package-cache-arch-linux/) 是 arch wiki 中关于如何使用 `paccahce` 的说明的更详细版本 (2认同)

小智 10

发现这篇文章很有趣,因为我希望从 Ubuntu 15.10 上的 /var/cache 中删除以改善磁盘空间,这是我发现的:

/var/cache/apt缓存文件在 'sudo apt-get clean' 运行后被删除,但是目录结构仍然存在,如果您正在寻找磁盘空间改进,这没有问题;如果您要使用 apt-get [auto]remove/[auto]clean 等获得任何磁盘空间改进,则应最后运行“apt-get clean”。

至于目录中的其他所有内容,我完全同意“Tor Valamo”和他的解释。它是缓存,使用缓存的系统和应用程序应该能够重新生成他们在那里创建的任何内容。当缓存从应用程序重新生成到应用程序时,您只有很小的性能开销

也就是说,每个系统可能都不符合这个原则,做一些测试,尝试将缓存目录中的所有内容移动到一个新位置,并在永久删除缓存之前测试您的系统和所有应用程序是否正常工作。