Перенести кэш firefox linux

Перенос кэша Firefox в оперативную память в GNU/Linux

Захотелось мне еще немного ускорить Firefox после сборки стабильной версии. Самый простой и очевидный способ — переместить кэш браузера с жесткого диска в оперативную память. Плюс такого решения очевиден:

  • Необходимо хранить более-менее актуальную версию кэша на жестком диске.
  • Нужно копировать данные с жесткого диска в оперативную память при запуске браузера, что увеличивает время загрузки Firefox.
  • Какой-никакой а контроль на случай непредвиденных ситуаций должен присутствовать.

На мой взгляд более-менее нормальная реализация — использование системы инициализации системы (systemd или SysVinit). При старте системы оно бы копировало кэш с жесткого диска в оперативную память, а при выключении компьютера — в обратном порядке.

Однако это усложняет демонстрацию принципа работы. При желании это можно сделать самостоятельно, в моём же примере главное — изложить суть понятно, и в первую очередь для себя из будущего =)

Подготовка и кратко о tmpfs

Tmpfs — файловая система,которая размещается в оперативной памяти. Её то и будем использовать. Для этого в файл /etc/fstab добавим примерно такую строчку:
tmpfs /home/ozi/.cache/mozilla tmpfs noauto,user,size=400M 0 0 Где

  • /home/ozi — домашняя папка пользователя, для которого будет переноситься кэш
  • .cache/mozilla — директория, где Firefox хранит свои временные файлы
  • noauto — монтировать файловую систему можно только вручную
  • user — смонтировать файловую систему может пользователь
  • size=400M — размер в мегабайтах

Настройка размера кэша в Firefox

Стоит отметить, что размер должен быть чуть больше, чем установленные для кэша Firefox в его настройках:

Скрипт запуска Firefox с копированием кэша в оперативную память

Необходимо создать файл с именем, к примеру, firefox_tmpfs.sh следующего содержания:
#!/bin/bash #папка с кэшем программ в домашней директории cache_dir=/home/ozi/.cache/ #папка с кэшем Firefox mozilla_dir=$cache_dir/mozilla #директория, предназначенная для хранения кеша, когда Firefox не работает mozilla_backup_dir=$cache_dir/mozilla_b #файл, необходимый для блокировки запуска в случае непредвиденной ситуации lock_file=$cache_dir/firefox_lock if [ -f $lock_file ]; then echo «Существует $lock_file, Firefox запущен или был некорректно завершен» echo «Для избежание потери данныех требуется ручное вмешательство» exit 1 fi echo «Монтируем ФС в памяти» touch $lock_file rm -rf $mozilla_dir/* mount $mozilla_dir echo «Копируем кэш Firefox с жесткого диска в память» cp -r $mozilla_backup_dir/* $mozilla_dir/ echo «Запускаем Firefox» firefox echo «Копируем кэш Firefox из памяти на жесткий диск после окончания работы» rm -rf $mozilla_backup_dir/* cp -r $mozilla_dir/* $mozilla_backup_dir/ echo «Отключаем tmpfs» umount $mozilla_dir rm $lock_file echo «Готово»

Читайте также:  Linux samba server windows 10

И дать ему права на исполнение:
$ chmode +x firefox_tmpfs.sh
Осталось переместить актуальный кэш в папку его хранения и создать точку монтирования tmpfs:
$ mv ~/.cache/mozilla ~/.cache/mozilla_b $ mkdir ~/.cache/mozilla
Готово, теперь Firefox запускать нужно через эту обёртку (и только через неё):
./firefox_tmpfs.sh

Источник

Перенос кэша браузера Mozilla Firefox

Каждый современный браузер не может работать без сохранения системной и пользовательской информации. Поэтому важно максимально обезопасить это пространство, обеспечить ему большую квадратуру. Сегодня мы поговорим о том, как проводится перенос кэша Firefox на другой диск. В процессе повествования также рассмотрим особенности процедуры и пошаговую инструкцию по претворению задуманного в жизнь.

От слов к делу

На официальном сайте разработчиков нет информации по поводу изменения места хранения кэша в Firefox, однако чего только не найдешь в Сети. Следующая пошаговая инструкция проверена нами на работоспособность, поэтому мы ее смело приводим ниже:

  1. Открываем Фаерфокс на компьютере.
  2. Далее, в адресную строку вводим команду about:support и переходим на соответствующую страницу.
  3. Чуть прокручиваем содержимое, пока не находим пункт «Открыть папку». Затем кликаем по нему.Открыть папку профиля со страницы about-support в Firefox
  4. Открывается каталог проводника, где хранится кэш Мазиллы. Смотрим в пути, как именно он называется, а затем переходим на каталог назад, в Profiles.Сведения о каталоге кэша в FirefoxНа этом шаге нужно закрыть браузер.
  5. Копируем нужную папку и перемещаем ее в желаемое местоположение, запоминая путь.Новый каталог кэша в Firefox
  6. Теперь возвращаемся в Profiles и переходим еще на каталог назад, в Firefox.
  7. Здесь открываем документ profiles.ini.
  8. В строку Path вписываем новый путь до папки профиля, вместе с указанием диска и т. д.Изменение документа profiles
  9. Сохраняем изменения.

Завершение процедуры

Вновь запускаем Мозилу и вводим в адресную строку about:config. На открывшейся странице игнорируем предупреждение.Переход на страницу about-config в браузере Mozilla FirefoxКликните по любому месту и выберите «Создать – Строка».Перенос каталога кэша в FirefoxВ поле «Имя» введите browser.cache.disk.parent_directory. А в «Значение» — ранее указанный путь до кэш-файлов.Завершение переноса каталога кэша в FirefoxЗакройте страницу параметров и перезапустите браузер.

Источник

Firefox (Русский)/Profile on RAM (Русский)

Состояние перевода: На этой странице представлен перевод статьи Firefox/Profile on RAM. Дата последней синхронизации: 30 ноября 2022. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Предположим, что есть свободная память, тогда, поместив кэш или полный профиль Firefox в оперативную память, мы получим значительные преимущества. Несмотря на то что выберите, частичный перенос является улучшением сам по себе, а последний может сделать Firefox ещё более отзывчивым, по сравнению со стандартной конфигурацией. Полученные преимущества:

  • уменьшение дисковых операций чтения/записи;
  • повышенная отзывчивость;
  • многие операции в Firefox, такие как быстрый поиск и история запросов, происходят почти мгновенно.
Читайте также:  Просмотр прав пользователя linux

Для этого мы можем использовать tmpfs.

Поскольку данные, помещённые в оперативную память, не сохраняются после выключения компьютера, нам понадобится сценарий, отвечающий за синхронизацию с диском перед завершением работы системы, если желательно сохранить данные (что, скорее всего, актуально в случае перемещения профиля). С другой стороны, перемещение только кэша является быстрым, менее полным решением, которое немного ускорит работу, но кэш Firefox при каждой перезагрузке будет очищен.

Примечание: Кэш хранится отдельно от профиля Firefox, находящегося по умолчанию в ( /home/$USER/.mozilla/firefox/ ): кэш находится по умолчанию в /home/$USER/.cache/mozilla/firefox/ . Это также относится и к Chromium и к другим браузерам. Поэтому разделы #Размещение профиля в оперативной памяти с помощью инструментов и #Размещение профиля в оперативной памяти вручную не имеют дело с перемещением кэша и синхронизацией, только с настройками профиля. Смотрите статью Profile-sync-daemon (Русский) для более подробной информации. Anything-sync-daemon может быть использован также как 2 Вариант для каталогов кэша.

Размещение кэша только в оперативной памяти

Когда загружаются страницы, они могут быть помещены в кэше, так что их не нужно загружать для повторного отображения. Также кэшируется электронная почта и новости, сообщения и вложения. Firefox может быть настроен на использование в качестве кэш-памяти только оперативной памяти. Файлы настроек, закладки, расширения и т.д. будут записаны на диск, как обычно. Для этого:

  • откройте в адреснойстроке about:config
  • установите browser.cache.disk.enable на «false» (двойным щелчком по строке)
  • проверьте что значение browser.cache.memory.enable установлено в «true» (значение по умолчанию)
  • добавьте запись (щелчёк правой кнопкой мышки->Создать->Целое) browser.cache.memory.capacity и установите размер в KB который вы хотите запасти, или в -1 для автоматического определения размера кэша. (Пропуск этого шага имеет тот же эффект, что и установка в значение -1.)

Основными недостатками этого метода является то, что содержание недавно просмотренных веб-страниц потеряется, если работа браузера завершена аварийно, либо после перезагрузки, и что параметры должны быть настроены для каждого пользователя индивидуально.

Избежание первого недостатка заключается в том, чтобы использовать anything-sync-daemon или аналогичный периодический скрипт синхронизации, так что кэш будет копироваться на диск регулярно.

Размещение профиля в оперативной памяти с помощью инструментов

Перенесите профиль браузера в tmpfs для глобального улучшения отклика браузера. Ещё одним преимуществом является снижение числа операций ввода-вывода, из которых накопители SSD извлекут максимум выгоды.

Читайте также:  Linux как установить nginx

Используйте активные скрипты управления для максимальной надёжности и простоты использования. Некоторые доступны в AUR.

  • profile-sync-daemon — для получения дополнительной информации обратитесь к статье wiki Profile-sync-daemon;
  • firefox-syncAUR — достаточно для пользователя с одним профилем; использует скрипт и службу systemd, аналогичные приведённым ниже.

Размещение профиля в оперативной памяти вручную

Прежде чем начать

Сделайте резервную копию для быстрого восстановления на случай проблем. Замените xyz.default на название вашего профиля и используйте tar для создания резервной копии:

$ tar zcvfp ~/firefox_profile_backup.tar.gz ~/.mozilla/firefox/xyz.default 

Скрипт

Скрипт сначала переместит профиль Firefox на новое статическое место, создаст подкаталог в /dev/shm , и мягкую ссылку, а затем заполнит его содержимым профиля. Замените выделенную секцию. Единственное значение которое необходимо изменить, опять же xyz.default .

Убедитесь, что установлен rsync, и создайте файл:

#!/bin/sh static=static-$1 link=$1 volatile=/dev/shm/firefox-$1-$USER IFS= set -efu cd ~/.mozilla/firefox if [ ! -r $volatile ]; then mkdir -m0700 $volatile fi if [ "$(readlink $link)" != "$volatile" ]; then mv $link $static ln -s $volatile $link fi if [ -e $link/.unpacked ]; then rsync -av --delete --exclude .unpacked ./$link/ ./$static/ else rsync -av ./$static/ ./$link/ touch $link/.unpacked fi

Сделайте этот файл исполняемым и выполните следующие команды, чтобы закрыть Firefox и протестировать скрипт:

$ killall firefox firefox-bin $ ls ~/.mozilla/firefox/ $ ~/.local/bin/firefox-sync.sh xyz.default 

Запустите Firefox еще раз, чтобы оценить результаты. Во второй раз запустится скрипт, он сохранит профиль из RAM путем копирования его обратно на диск.

Автоматизация

Если вы забудете синхронизировать профиль, то это может привести к плохим последствиям. Так что будет логично автоматизировать действия.

systemd

~/.config/systemd/user/firefox-profile@.service
[Unit] Description=Firefox profile memory cache [Install] WantedBy=default.target [Service] Type=oneshot RemainAfterExit=yes ExecStart=%h/.local/bin/firefox-sync.sh %i ExecStop=%h/.local/bin/firefox-sync.sh %i

Затем выполните daemon-reload для пользовательского экземпляра systemd и запустите/включите пользовательскую службу firefox-profile@xyz.default.service .

Задание cron

Действуйте пользовательским cron используя таблицу crontab :

Добавьте строку, чтобы запускать сценарий каждые 30 минут,

*/30 * * * * ~/.local/bin/firefox-sync.sh xyz.default 

или добавьте следующую, чтоб выполнять каждые 2 часа:

0 */2 * * * ~/.local/bin/firefox-sync.sh xyz.default 

Синхронизация при входе/выходе

Используя bash, добавьте скрипты в файлы входа/выхода:

$ echo 'bash -c "~/.local/bin/firefox-sync.sh xyz.default > /dev/null &"' | tee -a ~/.bash_logout ~/.bash_login

Примечание: Вы можете использовать ~/.bash_profile вместо ~/.bash_login т.к. bash будет читать только первый из них, если они оба существуют и могут быть прочитаны.

Для zsh используйте ~/.zlogin и ~/.zlogout :

$ echo ‘bash -c «~/.local/bin/firefox-sync.sh xyz.default > /dev/null &»‘ | tee -a ~/.zlog

Смотрите также

Источник

Оцените статью
Adblock
detector