Поиск по сайту:

Как синхронизировать профиль браузера с Tmpfs (RAM) в Linux

В этом руководстве объясняется, как синхронизировать профиль браузера с Tmpfs (ОЗУ) для повышения скорости браузера в Linux. Мы можем синхронизировать профили вручную или с помощью некоторых инструментов. В этом руководстве мы собираемся сделать это с помощью одного такого инструмента под названием Profile-sync-daemon (сокращенно psd). Инструмент Profile-sync-daemon представляет собой не что иное, как BASH-скрипт, предназначенный для управления профилями браузера в tmpfs и периодической их синхронизации с помощью Rsync с жесткими дисками и /или SSD. Как вы, возможно, уже знаете, Tmpfs — это временная файловая система, расположенная в разделах памяти или подкачки. Таким образом, перемещение профиля браузера эффективно повысит общую производительность вашего браузера.

Перемещение профиля вашего браузера в оперативную память дает два существенных преимущества:

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

Одним из оговорок этого подхода является то, что это замедлит вход в систему, поскольку при входе в систему профили вашего браузера копируются в оперативную память.

Поддерживаемые браузеры

Скрипты Profile-sync-daemon позволяют нам управлять профилями практически всех веб-браузеров, включая следующие:

  • Аврора
  • Хром
  • Конкерор
  • Богоявление
  • Fire Fox
  • Firefox-ствол
  • Гугл Хром
  • ледяной кот
  • Лед ласка
  • Инокс
  • Луакит
  • Мидори
  • Opera, Opera-бета, Opera-Developer и Opera-Legacy
  • Otter-браузер
  • Бледная луна
  • КупЗилла
  • Quteбраузер
  • Реконк
  • Морская обезьяна
  • Серфинг
  • Браузер Vivaldi и снимок браузера Vivaldi

Установите демон Profile-sync-daemon в Linux

Поскольку Profile-sync-daemon — это всего лишь сценарий Bash, его можно установить во многих дистрибутивах Linux. Хорошо, что он доступен в официальных репозиториях некоторых дистрибутивов Linux.

В Arch Linux и его вариантах, таких как Manjaro Linux, установите Psd с помощью Pacman, как показано ниже.

sudo pacman -S profile-sync-daemon

В Debian Sid/10/9, Ubuntu 19.10/18.04:

sudo apt install profile-sync-daemon

В Fedora 31/30, CentOS 8 и других дистрибутивах, в которых установлен DNF:

sudo dnf copr enable szasza/Profile-sync-daemon
sudo dnf install profile-sync-daemon

В других дистрибутивах убедитесь, что у вас установлены следующие зависимости:

  • Баш >= 4.0
  • Coreutils
  • findutils
  • кмод
  • rsync
  • системный

Затем загрузите последнюю версию Profile-sync-daemon со страницы релизов и установите ее вручную. Чтобы узнать, как его установить, обратитесь к текстовому документу INSTALL, включенному в установочный файл. Установка из исходного кода обычно осуществляется следующим образом:

make
sudo make install

Резервное копирование профилей браузера

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

На настольных компьютерах Linux папка профиля Firefox обычно хранится в расположении ~/.mozilla.

ls ~/.mozilla
extensions firefox systemextensionsdev

Перейдите в это место и создайте резервную копию всей папки firefox и сохраните ее в безопасном месте.

Кроме того, посетите официальную страницу документации Firefox, чтобы узнать резервное копирование и восстановление профилей.

Для других браузеров обратитесь к их официальной документации.

Синхронизировать профиль браузера с Tmpfs (ОЗУ) в Linux с помощью Profile-sync-daemon

Сначала создайте файл конфигурации Psd, выполнив команду:

psd

В результате будет создан файл psd.conf в каталоге /home/$USER/.config/psd/.

First time running psd so please edit /home/sk/.config/psd/psd.conf to your liking and run again.

Теперь отредактируйте файл конфигурации psd:

nano /home/sk/.config/psd/psd.conf

Замените /home/sk/ на свой собственный.

Найдите строку BROWSERS, раскомментируйте ее, удалив символ #, и добавьте свои браузеры через пробел.

[...]
BROWSERS="chromium firefox"
[...]

Настройка демона синхронизации профилей

Вы можете добавить любое количество браузеров, указав их через пробел. Если браузеры не определены, Psd синхронизирует все поддерживаемые браузеры. Сохраните и закройте файл.

Обратите внимание, что любые изменения, внесенные в файл psd.conf, будут применены только после запуска и/или перезапуска службы psd.

Включите и запустите службу psd:

systemctl --user enable psd
systemctl --user start psd

Проверьте, запущена ли служба psd или нет:

$ systemctl --user status psd
● psd.service - Profile-sync-daemon
   Loaded: loaded (/usr/lib/systemd/user/psd.service; enabled; vendor preset: enabled)
   Active: active (exited) since Wed 2020-03-18 15:45:54 IST; 8s ago
     Docs: man:psd(1)
           man:profile-sync-daemon(1)
           https://wiki.archlinux.org/index.php/Profile-sync-daemon
  Process: 11172 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
 Main PID: 11172 (code=exited, status=0/SUCCESS)

Mar 18 15:45:54 ostechnix systemd[3824]: Starting Profile-sync-daemon...
Mar 18 15:45:54 ostechnix systemd[3824]: Started Profile-sync-daemon.

Сервис Psd включен и запущен!

С этого момента Profile-sync-daemon будет копировать профили вашего браузера в tmpfs (RAM) при запуске и периодически синхронизировать их между вашим жестким диском/SSD и оперативной памятью. Он также поддерживает резервное копирование профилей на вашем физическом диске.

Предварительный просмотр настроек демона синхронизации профилей

Вы можете просмотреть, что именно делает Psd, передав параметр -p.

psd p

Пример вывода:

Profile-sync-daemon v6.31 on Ubuntu 18.04.4 LTS

 Systemd service is currently active.
 Systemd resync-timer is currently active.
 Overlayfs technology is currently inactive.

Psd will manage the following per /home/sk/.config/psd/psd.conf:

 browser/psname:  chromium/chromium
 owner/group id:  sk/1000
 sync target:     /home/sk/.config/chromium
 tmpfs dir:       /run/user/1000/sk-chromium
 profile size:    32M
 recovery dirs:   none

 browser/psname:  firefox/firefox
 owner/group id:  sk/1000
 sync target:     /home/sk/.mozilla/firefox/htoypxlg.default-1563118799416
 tmpfs dir:       /run/user/1000/sk-firefox-htoypxlg.default-1563118799416
 profile size:    245M
 recovery dirs:   none

Предварительный просмотр настроек демона синхронизации профилей

Как вы можете видеть, Psd, работающий на моем рабочем столе Ubuntu 18.04, управляет двумя профилями браузера, то есть Chromium и Firefox. Он также отображает другие полезные сведения, такие как имя браузера, идентификатор владельца/группы, размер профиля, цель синхронизации и путь к каталогу tmpfs.

Проверьте, работает ли демон Profile-sync-daemon.

Чтобы проверить, действительно ли Profile-sync-daemon синхронизирует профиль браузера, проверьте путь к каталогу tmpfs. В моем случае это /run/user/1000. Вы можете найти путь к tmpfs в выводе команды «psd p».

ls /run/user/1000

Пример вывода:

bus     gnome-shell  psd.pid                                    snapd-session-agent.socket
dbus-1  gnupg        pulse                                      systemd
dconf   gvfs         sk-chromium                                update-notifier.pid
gdm     keyring      sk-firefox-htoypxlg.default-1563118799416

Проверьте, работает ли демон Profile-sync-daemon.

Просмотр каталога синхронизации tmpfs из файлового менеджера:

Путь к каталогу синхронизации tmpfs из файлового менеджера

Давайте проверим размер папки профиля в tmpfs:

$ du -sh /run/user/1000/sk-firefox-htoypxlg.default-1563118799416/
236M /run/user/1000/sk-firefox-htoypxlg.default-1563118799416/

..и размер папки профиля Firefox по умолчанию:

$ du -sh ~/.mozilla/firefox/htoypxlg.default-1563118799416
0 /home/sk/.mozilla/firefox/htoypxlg.default-1563118799416

Проверьте размер папки профиля Firefox

Как видите, размер папки профиля в tmpfs составляет 236M, но размер папки профиля по умолчанию равен нулю. Потому что это просто символическая ссылка, указывающая на другой каталог в tmpfs, то есть /run/user/1000/sk-firefox-htoypxlg.default-1563118799416/.

Вы можете проверить это с помощью команды:

readlink ~/.mozilla/firefox/htoypxlg.default-1563118799416
/run/user/1000/sk-firefox-htoypxlg.default-1563118799416

Итак, профиль браузера Firefox загружается в tmpfs (т.е. ОЗУ).

При перезагрузке системы профили будут синхронизированы с физическим диском, а затем скопированы обратно в оперативную память при повторном входе в систему.

Рекомендуем прочитать:

  • Как смонтировать временный раздел в оперативной памяти в Linux
  • Как записывать файлы журналов в ОЗУ с помощью Log2ram в Linux
  • Как сократить время запуска приложений в Linux

Изменение интервалов синхронизации

По умолчанию демон Profile-sync-daemon запускается каждый час. Однако вы можете изменить его по своему желанию, настроив задание cron для PSD.

crontab -e

Установите время, когда вы хотите запустить Psd:

*/15 * * * *     /usr/bin/profile-sync-daemon sync &> /dev/null

Приведенное выше задание будет запускать Psd каждые четверть часа (т. е. каждые 15 минут). Дополнительные примеры можно найти в нашем Руководстве по заданиям Cron.

Чистые снимки восстановления

Чтобы удалить все снимки восстановления, выполните:

psd c

Пожалуйста, делайте это только в том случае, если снимки вам больше не нужны.

Для получения более подробной информации обратитесь к официальным ресурсам, указанным ниже.

Ресурсы:

  • Репозиторий GitHub Profile-sync-daemon
  • Арка Wiki

Статьи по данной тематике