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

评论

我会检查其中的内容,但是鉴于这是pacman存储所在的软件包,如果您要清理整个软件包缓存,则可能要运行pacman -Sc甚至pacman -Scc。
/ var / cache下的大多数(但不是全部)文件可以安全删除。不要删除目录或更改其所有权。运行du / var / cache / * |对-n进行排序以查看正在占用的空间。在这里询问您是否不知道大目录是否可以安全清理。

磁盘使用情况分析器又如何?-Alternativeto.net/software/windirstat/?platform=linux

#1 楼

否。

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

另一方面,根据本文档,pacman(Arch linux使用的程序包管理器)将其程序包缓存存储在/var/cache/pacman/pkg/下,很可能除了内容本身之外,别无其他。 >我建议您更仔细地阅读文档,并确定这是否是清除软件包缓存的好时机。

评论


是的,不要删除/ var / cache / apt / archives目录,但是您可以删除文件:/var/cache/apt/pkgcache.bin和/var/cache/apt/srcpkgcache.bin,但它们将由创建“获取更新”。

– diyism
13年6月24日在12:03

在Debian上,/ var / cache / bind包含从其他名称服务器传输的区域文件-它不应包含主区域。 Debian遵循FHS,FHS要求删除/ var / cache下的文件。当然,问题是关于Arch的问题,另外,在没有至少弄清楚文件是什么之前,不应删除文件。

–德罗伯特
13年11月12日在22:32

这就像说您不应该在不知道它们是什么的情况下删除Windows临时目录中的文件。如果该文件夹用于临时文件,并且您的程序在其中放置了非临时数据,那么这对您的程序是一个大问题,而不是/ var / cache

– Tor Valamo
15年2月18日在1:27

#2 楼

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

很抱歉获得(很晚)的答案,但是我认为重要的是包括这一点以供将来参考。

突出显示了确实回答该问题的位。但是值得存储它们,以节省重新计算它们的时间。

任何应用程序都可以在此处创建文件或目录。
假定存储在此处的文件不是至关重要的,因此系统可以定期或在删除时删除/ var / cache的内容。它的内容太大。

任何应用程序都应考虑到存储在此处的文件随时可能消失,并准备重新计算其内容(有一些时间损失)。所以是的,您可以删除这些文件而不会发生任何不良情况。

评论


如果删除/ var / cache并随后要使用apt,则将不得不跳过一些麻烦。

–马特西亚斯·布劳恩(Matthias Braun)
2014年3月6日21:56

@MatthiasBraun-对于我们这些不认识的人来说,lindevdoc.org是否是此类事情的典型真理源?

– eykanal
20-2-3在18:52



我不知道lindevdoc.org(我不是答案的作者)。该网站似乎离线。

–马特西亚斯·布劳恩(Matthias Braun)
20年2月4日,1:11

Wayack Machine将该页面存档了(但仅存档了一次):web.archive.org/web/20130511220135/http://www.lindevdoc.org / ... ...原始的海报字面意义远胜于该作者您将看到页面,因为它们至少将文本加粗并设置了格式;-)

–布伦特·里滕豪斯(Brent Rittenhouse)
20-10-4在4:36

#3 楼

正如其他人所说,任何应用程序都可以使用/var/cache/来存储信息,以节省检索时间。不过,以我的经验,其中占用的大部分空间都来自系统的软件包管理器。
从Arch Linux Wiki:

pacman将下载的软件包存储在/var/cache/pacman/pkg/中,并且不会删除旧版本或已卸载版本会自动删除,因此有必要定期清理该文件夹,以防止该文件夹的大小无限期增长。避免以后因不兼容而头痛;应该使用以下其他工具之一:paccachepkgcachecleanpacleaner。对于其他系统:
基于Redhat(Fedora,CentOS,SL等)
pacman -Sc

基于Debian的(Ubuntu,...)
yum clean all
# or
dnf clean all

基于SUSE的
apt-get autoclean


评论


+1!我今天注意到,我的磁盘空间已用完...一小段du -hs / * 2> / dev / null显示/ var非常大。原来,我的吃豆人缓存为91GB。 pacman -Sc清理了旧软件包,并将pacman缓存减少到5GB!

– daniel451
17年8月14日在2:42

本文是Arch Wiki中有关如何使用paccahce的说明的更详细的版本

– joelostblom
18年3月29日在12:50

#4 楼

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

/ var / cache / apt缓存文件在删​​除后已经运行了“ sudo apt-get clean”,但是目录结构保持不变,如果您正在寻找改进磁盘空间的方法,这没问题;如果要使用apt-get [auto] remove / [auto] clean等进行磁盘空间改善,应该最后运行'apt-get clean'。关于目录中的所有其他内容,我完全同意“ Tor Valamo”及其解释。在缓存中,使用缓存的系统和应用应该能够重新生成在此创建的任何内容。缓存从应用程序到应用程序重新生成时,您的性能开销很少并在永久删除缓存之前测试您的系统和所有应用程序是否正常运行。

#5 楼

您可以使用lsof自己确定。

运行lsof -Pn +D /var/cache/ | awk '{print }' | sort | uniq以查看哪个软件当前在该目录中具有任何打开的文件。如果有什么看起来很重要(或者您不知道这是什么),请不要删除它。

此外,您不应该只是吹嘘没有备份的目录;反之,这甚至适用于/tmp。如果当前正在使用文件,则只有在关闭处理程序之后,您的删除操作才会注册(您会在文件系统中看到它的消失)。此外,如果缺少预期的文件,则删除可能导致当前正在运行的其他程序(请参见上面的lsof命令)崩溃。

基本上,仅删除您知道可以安全删除的文件并且当前未被其他正在运行的软件使用。