Jump to content

# Profile-sync-daemon (Русский)

3 languages

- English
- 日本語
- 中文（简体）

From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи Profile-sync-daemon. Дата последней синхронизации: 14 ноября 2022. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Ссылки по теме

- Anything-sync-daemon (Русский)
- Firefox (Русский)
- Chromium (Русский)
- Pdnsd
- Твердотельные накопители

profile-sync-daemon (psd) — небольшой псевдо-демон, предназначенный для переноса профилей браузеров в tmpfs (ОЗУ) и их периодической синхронизации с постоянным хранилищем (HDD/SSD). Это достигается с помощью использования rsync для поддержания синхронизации между копией в tmpfs и резервными копиями в постоянном хранилище. Кроме того, в psd реализованы некоторые функции восстановления после сбоев.

Цели и преимущества psd:

1. Простота в использовании
2. Уменьшение износа физических дисков
3. Улучшение скорости работы

Профили, кэш, и прочие пользовательские данные браузера переносятся с помощью psd в tmpfs (ОЗУ), соответственно операции ввода-вывода браузера перенаправляются в оперативную память. Таким образом, уменьшается износ физического диска, повышается отказоустойчивость и скорость работы браузера: время доступа к оперативной памяти составляет порядка наносекунд, в то время как время доступа к обычному жёсткому диску примерно в 1,000,000 раз выше и составляет порядка миллисекунд.

Примечание:

- Некоторые браузеры (например, Chromium и Firefox) хранят файлы кеша в отдельном от профиля каталоге. Изменение этого поведения программы не входит в задачи profile-sync-daemon. Пользователям рекомендуется обратиться к разделу Chromium tweaks#Cache in tmpfs для Chromium и к статье Firefox (Русский)/Profile on RAM (Русский) для Firefox, где описаны возможные решения.
- Иногда в файл конфигурации по умолчанию `/usr/share/psd/psd.conf` вносятся обновления/изменения. Пользовательская копия `$XDG_CONFIG_HOME/psd/psd.conf` должна быть обновлена. В Arch Linux pacman должен уведомить пользователя о необходимости сделать это.
- psd может замедлить вход в систему, так как он копирует кэш браузера в память.

## Установка

Установите пакет profile-sync-daemon.

## Настройка

При первом запуске psd создаст файл настроек `$XDG_CONFIG_HOME/psd/psd.conf`. Можно просто выполнить команду `psd` без использования службы `psd.service`, чтобы создать этот файл без немедленного запуска синхронизации.

Примечание: Любые изменения, произведённые в этом файле, вступят в силу только после перезапуска psd посредством пользовательской службы systemd.

- Опционально включите использование overlayfs для улучшения скорости синхронизации и уменьшения количества необходимой памяти. Для этого используйте переменную `USE_OVERLAYFS`. Пользователю понадобятся sudo права доступа к `/usr/bin/psd-overlay-helper` для использования этой опции, а также ядро должно поддерживать overlayfs версии 22 или новее. Смотрите раздел #Режим overlayfs ниже, чтобы узнать подробности.
- Опционально укажите названия веб-браузеров, профили которых необходимо перенести в ОЗУ, в массиве `BROWSERS`. Если в этой переменной ничего не указано, по умолчанию перенесутся все найденные профили поддерживаемых браузеров.
- Опционально можете отключить создание резервных копий профиля (не рекомендуется) с помощью переменной `USE_BACKUPS`.
- Опционально можно указать число хранимых резервных копий с помощью переменной `BACKUP_LIMIT`.

Пример: допустим, что у вас установлены браузеры Chromium, Opera и Firefox, однако вы хотите перенести профили в ОЗУ только для Chromium и Opera:

    BROWSERS=(chromium opera)

Начиная с версии 5.54, есть родная поддержка overlayfs. Для её использования требуется ядро версии 3.18.0 или новее.

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

В настоящее время поддерживаются следующие браузеры:

- Chromium
- chromium-devAUR
- conkeror-gitAUR
- Epiphany
- falkon
- Firefox (все разновидности — stable, beta и nightly)
- google-chromeAUR
- google-chrome-betaAUR
- google-chrome-devAUR
- версия Aurora от hetfig: браузер для Arch Linux
- icecatAUR
- Luakit
- Opera
- Otter Browser
- palemoonAUR
- Qutebrowser
- seamonkeyAUR
- surfAUR
- vivaldi

## Использование

Запустите/включите пользовательскую службу `psd.service`. Также есть systemd-таймер, который запускает копирование данных из памяти на диск каждый час. Таймер запускается автоматически вместе со службой `psd.service`, так что запускать его вручную не нужно.

### Проверка конфигурации

Команда `psd parse` покажет, что именно psd будет делать, основываясь на конфигурации в `$XDG_CONFIG_HOME/psd/psd.conf`, а также выведет прочую полезную информацию.

## Советы и рекомендации

### Установка частоты синхронизации

По умолчанию таймер настроен на синхронизацию с интервалом в один час. Пользователь может легко установить другой желаемый интервал, отредактировав файл юнита. В примере ниже создаётся drop-in файл, в котором таймер установлен на синхронизацию с интервалом в 10 минут (строка с пустым значением `OnUnitActiveSec` используется для удаления старого значения перед добавлением нового [1]):

    ~/.config/systemd/user/psd-resync.timer.d/frequency.conf

    [Unit]
    Description=Timer for Profile-sync-daemon - 10min

    [Timer]
    OnUnitActiveSec=
    OnUnitActiveSec=10min

Смотрите systemd.timer(5) для получения дополнительной информации о настройке таймеров.

### Режим overlayfs

Примечание: Существует несколько версий overlayfs, доступных в ядре Linux в различных дистрибутивах. В версиях 22 и ниже есть модуль под названием 'overlayfs', а в более новых версиях (23 и выше) есть модуль под названием 'overlay' — обратите внимание на отсутствие 'fs' в новой версии. Psd автоматически обнаружит overlayfs, доступный в вашем ядре, если тот настроен на его использование.

Overlayfs — это простая файловая система, которая доступна в ядре Linux с версии 3.18.0. Начиная с версии 5.54, psd может использовать overlayfs, чтобы уменьшить потребление памяти в tmpfs и ускорить операции синхронизации с диском. Особенность метода в том, что overlayfs записывает только изменённые данные, а не весь профиль. Те же функции восстановления, которые использует psd в своём режиме по умолчанию, также активны при работе в режиме overlayfs. Чтобы включить режим overlayfs, раскомментируйте строку `USE_OVERLAYFS="yes"` в файле `$XDG_CONFIG_HOME/psd/psd.conf` и затем перезапустите демон.

Начиная с версии psd 6.05, пользователи, желающие использовать этот режим, ДОЛЖНЫ иметь права sudo (без запроса на ввод пароля) для файла `/usr/bin/psd-overlay-helper` или же глобально. Следующая строка в файле `/etc/sudoers` предоставит пользователю эти права. Добавьте её с помощью visudo:

    пользователь ALL=(ALL) NOPASSWD: /usr/bin/psd-overlay-helper

Смотрите пример в разделе #Проверка конфигурации выше, в котором показана система, использующая overlayfs для иллюстрации возможностей экономии памяти. Обратите внимание на строку "overlayfs size" в сравнении со строкой "profile size" для каждого профиля. Имейте в виду, что эти цифры будут меняться в зависимости от объема данных, записываемых в профиль, но при обычном использовании размер overlayfs всегда будет меньше размера профиля.

Важно: Использование psd в режиме overlayfs (в частности, psd-overlay-helper) может привести к повышению привилегий. [2]

Принцип работы overlayfs заключается в монтировании базовой копии профиля (browser-back-ovfs), доступной только для чтения, и записи новых данных поверх неё. Чтобы избежать повторной синхронизации с файловой системой, доступной только для чтения, вместо неё используется копия. Таким образом, использование overlayfs — это компромисс: более быстрое время начальной синхронизации и меньшее использование памяти по сравнению с дисковым пространством в домашнем каталоге.

### Добавление памяти для размещения профилей в /run/user/xxxx

Стандартный способ контроля размера `/run/user` — это директива RuntimeDirectorySize в `/etc/systemd/logind.conf` (смотрите logind.conf(5) для подробностей). По умолчанию используется 10% физической памяти, но можно её увеличить. Помните, что tmpfs занимает только ту память, которая реально используется файлами; указываемое здесь число просто ограничивает максимальный размер.

### Снимки

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

Примечание: Пользователи могут полностью отключить функцию моментального снимка/резервного копирования, раскомментировав и установив переменную `USE_BACKUPS` в значение `"no"` в `$XDG_CONFIG_HOME/psd/psd.conf`, если нужно.

Найти снимок можно в том же каталоге, что и профиль браузера, и он будет содержать отметку даты и времени, которая соответствует времени, когда был сделан снимок. Например, для chromium это будет `~/.config/chromium-backup-crashrecovery-20130912_153310` — конечно, отметка времени у вас будет своя.

Чтобы восстановить данные из снимка:

- Остановите пользовательскую службу `psd.service`.
- Убедитесь, что нет символической ссылки на каталог профиля браузера в tmpfs. Если есть, значит psd не был завершён корректно по другим причинам.
- Переместите "плохую" копию профиля куда-нибудь (не удаляйте ничего просто так).
- Скопируйте каталог снимка на место профиля браузера.

Пример для браузера Chromium:

    $ mv ~/.config/chromium ~/.config/chromium-bad
    $ cp -a ~/.config/chromium-backup-crashrecovery-20130912_153310 ~/.config/chromium

Теперь вы можете запустить Chromium, который будет использовать скопированный резервный снимок. Если все в порядке, закройте браузер и перезапустите psd. На этом этапе вы можете безопасно удалить `~/.config/chromium-backup-crashrecovery-20130912_153310`.

#### Удаление всех снимков с помощью режима чистки

Команда `psd clean` удалит ВСЕ резервные копии. Запускайте этот режим, только если вы уверены, что собранные резервные копии больше не понадобятся.

## Поддержка

Пишите в тему на форуме (англ.) для комментариев и прочих обсуждений.

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

- Web Upd8 - Keep Your Browser Profiles In tmpfs (RAM) For Reduced Disk Writes And Increased Performance With Profile Sync Daemon
- Nicolas Bernaerts - Tweaks for SSD drive

Category:

- Web browser (Русский)