我的磁盘空间不足,并且注意到我有一个很大的/var/cache
目录。我可以安全地删除它吗?(顺便说一下,使用 Arch Linux)。
答案1
从http://www.lindevdoc.org/wiki//var/cache
很抱歉(非常)迟到的答案,但我相信包含这一点以供将来参考很重要。
突出显示了确实回答这个问题的部分。
/var/cache 目录包含缓存文件,即已生成且可以随时重新生成的文件,但值得存储它们以节省重新计算它们的时间。
任何应用程序都可以在此处创建文件或目录。假设这里存储的文件不是关键的,因此系统可以定期删除 /var/cache 的内容,或者当其内容变得太大时。
任何应用程序都应该考虑到此处存储的文件可能随时消失,并准备好重新计算其内容(需要一些时间损失)。
所以是的,您可以删除这些文件,而不会发生任何不好的事情。
答案2
不。
首先,我相信这/var/cache/bind/
是 bind9 期望存储其区域文件的默认目录(至少在 Debian 上;我不知道其他发行版是否也会效仿)
另一方面,根据本文档,pacman(Arch linux 使用的包管理器)将其包缓存存储在下面,/var/cache/pacman/pkg/
并且它很可能只期望自己修改内容。
我建议您更仔细地阅读文档,并确定现在是否是清除包缓存的好时机。
答案3
作为其他的已经说过,/var/cache/
任何应用程序都可以使用它来存储信息以节省检索时间。但根据我的经验,其中占用的大部分空间来自系统的包管理器。
来自 Arch Linux维基百科:
pacman
存储下载的软件包,/var/cache/pacman/pkg/
并且不会自动删除旧的或卸载的版本,因此有必要定期清理该文件夹,以防止该文件夹的大小无限增长。
pacman -Sc
然而,除非存储空间是一个迫切的问题,否则可以避免日后因不兼容而带来的麻烦;应使用以下其他工具之一:paccache
、pkgcacheclean
或pacleaner
。
对于其他系统:
基于 Redhat(Fedora、CentOS、SL...)
yum clean all
# or
dnf clean all
基于 Debian(Ubuntu,...)
apt-get autoclean
基于SUSE
zypper clean
答案4
您可以使用 自行做出此决定lsof
。
运行lsof -Pn +D /var/cache/ | awk '{print $1}' | sort | uniq
以查看哪个软件当前在该目录中有任何打开的文件。如果任何东西看起来相当重要(或者你不知道它是什么),那么就不要删除它。
此外,无论如何,您不应该只是在没有备份的情况下清除目录;这甚至适用于/tmp
.如果文件当前正在使用,则直到处理程序关闭后才会注册您的删除(您将看到它在文件系统中消失)。此外,lsof
如果缺少预期的文件,删除可能会导致当前正在运行的其他程序(请参阅上面的命令)崩溃。
基本上,只删除您需要的文件知道可以安全删除,并且当前未被其他正在运行的软件使用。