Как синхронизировать профиль браузера с 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