我注意到,在我的工作电脑上,有些icon-theme.cache
文件非常大。例如:
/usr/share/icons/hicolor/icon-theme.cache
:120MB/usr/share/icons/gnome/icon-theme.cache
:113MB/usr/share/icons/pacifica/icon-theme.cache
:103MB/usr/share/icons/oxygen/icon-theme.cache
:94MB
等等。这可能是什么原因?例如,在我家的电脑上,/usr/share/icons/hicolor/icon-theme.cache
只有 24kB 大,其他的甚至比这还要小。
我可以删除这些文件吗(它们会自动重新生成吗)?或者还有其他方法可以缩小它们吗?
答案1
图标主题缓存包含目录中所含图像文件的索引,并且可以选择性地包含相应的未压缩的图像数据。
包含图像数据的理由是,应用程序不必打开和解码每个单独的图像文件,而只需内存映射缓存文件并直接访问它。
默认情况下,缓存中包含图像数据,但这是2014 年中期改变。主要原因是用于在缓存中存储原始图像数据的格式不再与用于显示图像的格式相匹配,因此它不再提供零拷贝访问。此外,多年来 CPU 速度相对于硬盘速度的提高意味着,当避免解压缩数据意味着从磁盘读取更多数据时,这种做法并不明显。
回到最初的问题:家庭系统上的缓存比工作系统上的缓存小的原因很可能是因为工作系统运行的是较旧的发行版本,其中的缓存已构建为包含图像数据。当工作系统升级时,其缓存大小应该会缩小。
答案2
是的,它们确实非常庞大。它们的生成是dpkg
在安装软件包时如果有任何新文件单独触发的。
您可以删除它们
sudo rm /usr/share/icons/*/icon-theme.cache
然后强制再生它们
sudo update-icon-caches /usr/share/icons/*/
系统可以在没有缓存的情况下工作,只是 GUI 性能略有下降。