Dynamische Standardeinstellungskonfiguration für Firefox

10

Meine Benutzer befinden sich alle in NFS-Home-Verzeichnissen. Bei Hunderten von Benutzern, die Firefox verwenden, wird ein wenig Datenverkehr zum Lesen / Schreiben in den Festplatten-Cache generiert. Aus diesem Grund möchte ich den Standard-Firefox-Festplatten-Cache in ein lokales Dateisystem verschieben, um den externen NFS-Verkehr zu reduzieren und die Belastung meines NFS-Servers zu verringern.

Ich weiß, dass ich systemweite Standardeinstellungen in einer Datei my_firefox_path/defaults/pref/all.jsmit der folgenden Form festlegen kann :

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

Zum Testen hatte ich Folgendes eingestellt:

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

Leider funktioniert das nicht gut, da auf jedem System mehrere Benutzer vorhanden sind. Gibt es eine Möglichkeit, einen Benutzer und ein Profil in diese Einstellungsdatei aufzunehmen, damit ich dieses System systemweit optimieren kann und es für alle meine Benutzer gilt? Etwas wie:

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

Andrew Case
quelle
Möglicherweise können Sie getenv () verwenden, um Umgebungsvariablen abzurufen. Zum Beispiel: getenv ("USER") für den Benutzernamen; Ich bin mir nicht sicher, wie Sie den Profilpfad erhalten könnten. Erweiterungen können den Profilpfad leicht abrufen, aber ich gehe davon aus, dass es eine Herausforderung ist, die Erweiterungs-API außerhalb einer Erweiterung verfügbar zu machen.
Cyberx86
Getenv () kann nicht verwendet oder der Profilpfad abgerufen werden, indem dies in der .js-Datei ausgeführt wird: Components.classes ["@ mozilla.org/file/directory_service;1"]. GetService (Components.interfaces.nsIProperties) .get ( "ProfD", Components.interfaces.nsIFile) .path
Andrew Case
Nehmen Sie die Änderung je nach Beziehung zu Ihren Benutzern einmal in ihrem Profil vor (oder bitten Sie sie, die Änderung vorzunehmen), und beenden Sie sie. Selbst wenn Sie eine Möglichkeit zur Angabe finden, können diese diese überschreiben.
Patrick Mevzek
1
Es ist unwahrscheinlich , dass Sie , dass direkt in der Datei zu tun, nach dieser . Haben Sie versucht, daraus einen Symlink zu machen? it = der nfs-Ordner.
Florin Asăvoaie

Antworten:

0

Sie können versuchen, einen Symlink für den alten Cache-Ordner zum neuen Speicherort zu erstellen. Der Befehl lautet wie folgt:

ln -s /tmp/firefox /path_to_cache_folder_on_share
hässlich_tier
quelle
Dies löst das Problem nicht, da dies immer noch nur ein Cache-Verzeichnis für alle Benutzer wäre.
Andrew Schulman
Dies löst jedoch die Hälfte des Problems, @AndrewSchulman. Wenn /tmp/$USER/firefoxfür jeden Benutzer ein Anmeldeskript erstellt und dann der Link erstellt werden muss, kann das freigegebene Profil den Linkpfad verwenden. zB mkdir -p /tmp/$USER/firefox; ln -s /tmp/$USER/firefox /path_to_cache_folder_on_share
Mike