临时文件系统上的 /var/cache

临时文件系统上的 /var/cache

由于闪存退化问题,我希望尽可能减少无头轻型 24/7 系统上不必要的磁盘写入量。如果重要的话,这是一个 Debian 风格的系统,但我认为这个问题可能与更广泛的受众相关。

为了实现这一目标,我已经在使用临时文件系统对于默认值/tmp以及/var/log除了默认值之外。此时,通过使用各种工具监控空闲 IO 活动,例如法特拉斯,我发现经过很长一段时间后,写访问次数最突出的目录之一是/var/cache,特别/var/cache/man是与人数据库。请注意,我在此系统中没有自动软件包更新,因此我没有收到任何写入/var/cache/apt,但也收到其他可能相关的写入。

问题是,如果临时文件系统将用于/var/cache?启动时,我会用磁盘中的数据填充它,并且可能同步它时不时地回来。

当然,在某些系统上,RAM 使用率升高可能是一个问题,但听听您的意见会很有趣,对于某些使用缓存的常见系统来说,在早期启动过程中缺少数据,或者一般情况下,这是否会出现问题处于稍微过时的状态(例如在崩溃之后)?

答案1

很酷的主意。由于这个原因,我安装/var在磁力驱动器上,但我喜欢这个。这是否有效取决于应用程序。

aptrequire是否/var/cache/apt/存在或者会在需要时创建目录吗? dpkg -S /var/cache/apt/告诉我这个目录是在软件包安装过程中创建的。那么如果该目录不存在,会apt创建它吗?会apt开始失败吗?这些问题的答案就在于apt。您可以通过创建tmpfsfor来使这一点无效/var/cache/apt

虽然tmpfsfor/var/cache/apt可能适用于apt,但您必须对使用 的所有其他包重复该过程/var/cache/*。我的机器上的一些目录是:apache2, fonts, gdm, cups, man, dictionaries-common app-info。此外,每当您安装新软件包时,您还需要记住设置tmpfs适用于该软件包的任何内容。这可能很难管理。

幸运的是,文件系统层次结构标准描述/var/cache为:

应用程序缓存数据。此类数据是由于耗时的 I/O 或计算而在本地生成的。应用程序必须能够重新生成或恢复数据。可以删除缓存的文件而不会丢失数据。

所以我可能是错的。应用程序可以通过在需要时创建子目录的方式来实现,/var/cache因为标准要求它们这样做。但如果有人不遵守这一点,这仍然是一个风险。

相关内容