我的用户都在 NFS 主目录中,数百名用户都在使用 Firefox,这会产生一些读取/写入磁盘缓存的流量。因此,我想将默认的 Firefox 磁盘缓存移至本地文件系统,以减少无关的 NFS 流量并减轻 NFS 服务器上的负载。
my_firefox_path/defaults/pref/all.js
我知道我可以在以下格式的文件中设置系统范围的默认首选项:
pref(“browser.cache.disk.parent_directory”, 字符串)
为了测试我将其设置如下:
pref("浏览器.缓存.磁盘.父目录", "/tmp/firefox/");
不幸的是,由于每个系统都有多个用户,所以这种方法不太好用。有没有办法包含用户和一个轮廓在该首选项文件中,以便我可以在整个系统范围内进行调整,并将其应用于所有用户?例如:
pref("browser.cache.disk.parent_directory", "/tmp/firefox/$USER/$PROFILE");
答案1
我认为这样做的唯一方法是以编程方式更新每个用户登录时的 user.js 首选项文件。
当用户登录时,将运行执行以下操作的脚本:
- 读取他们的 ~/mozilla/firefox/profiles.ini。
- 解析配置文件的目录。
- 为目录路径(如 /tmp/$(id -u)/firefox/${profile.dirname}/cache)创建一个临时目录和一个变量
- 使用 pref("browser.cache.disk.parent_directory", "${TEMP_DIRECTORY_PATH") 创建/更新 ~/mozilla/firefox/${profile.dirname}/user.js 文件;
答案2
您可以尝试为旧缓存文件夹创建指向新位置的符号链接。命令如下:
ln -s /tmp/firefox /path_to_cache_folder_on_share