11

My users are all on NFS home directories and with hundreds of users all using Firefox it generates a bit of traffic reading/writing to the disk cache. As a result, I'd like to move the default Firefox disk cache over to a local file system just to reduce extraneous NFS traffic and lighten the load on my NFS server too.

I know I can set system wide default preferences in a file called my_firefox_path/defaults/pref/all.js of the following form:

pref("browser.cache.disk.parent_directory", string)

For testing I had it set to the following:

pref("browser.cache.disk.parent_directory", "/tmp/firefox/");

Unfortunately that doesn't work well as there are multiple users on each system. Is there a way to include a user and a profile in that preference file so that I can tweak this system wide and it will apply to all my users? Something like:

pref("browser.cache.disk.parent_directory", "/tmp/firefox/$USER/$PROFILE");

Patrick Mevzek
  • 10,581
  • 7
  • 35
  • 45
Andrew Case
  • 3,640

2 Answers2

0

The only way I see doing this is to programmatically update the user.js preferences file on each user's login.

When a user logs in, a script runs that does the following:

  1. reads their ~/mozilla/firefox/profiles.ini.
  2. Parses out the directory for the profiles.
  3. Creates a temp directory and a variable for a directory path like /tmp/$(id -u)/firefox/${profile.dirname}/cache
  4. Creates/updates ~/mozilla/firefox/${profile.dirname}/user.js file with pref("browser.cache.disk.parent_directory", "${TEMP_DIRECTORY_PATH");
hydrian
  • 57
-1

You can try to create a symlink for old cache folder to the new place. The command will be like:

ln -s /tmp/firefox /path_to_cache_folder_on_share