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

From ArchWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Перевод этой статьи или раздела не отражает оригинальное содержание.

Причина: Last updated in 2014 (Discuss)

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

## Преимущества psd

Цели psd:

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

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

Примечание: Такие браузеры как Chromium, Firefox, Midori и Rekonq хранят файлы кеша в отдельном от профиля каталоге. Изменение этого поведения программы не входит в задачи profile-sync-daemon. Пользователям рекомендуется обратиться к разделу Chromium tweaks#Cache in tmpfs для Chromium и к статье Firefox Ramdisk для Firefox, где описаны возможные решения проблемы. Наиболее простое решение будет переносом каталога с кешом (например, `/home/$USER/.cache/<browser>/<profile>/`) в каталог с профилем браузера, например `/home/$USER/.mozilla/firefox/<profile>/cache`, и создать символьную ссылку из стандартного пути в новый. Таким образом, profile-sync-daemon автоматически будет учитывать каталог с кешем.

## Установка и настройка

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

### Редактируем файл с конфигурацией

Произведите первый запуск psd, это создаст файл `$XDG_CONFIG_HOME/psd/psd.conf`, который содержит все опции.

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

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

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

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

    # List browsers separated by spaces to include in the sync. Useful if you do not
    # wish to have all possible browser profiles sync'ed.
    #
    # Possible values:
    #  chromium
    #  chromium-dev
    #  conkeror.mozdev.org
    #  epiphany
    #  firefox
    #  firefox-trunk
    #  google-chrome
    #  google-chrome-beta
    #  google-chrome-unstable
    #  heftig-aurora
    #  icecat
    #  luakit
    #  midori
    #  opera
    #  opera-developer
    #  opera-beta
    #  qupzilla
    #  palemoon
    #  rekonq
    #  seamonkey
    #  vivaldi
    #
    # If the following is commented out (default), then all available/supported
    # browsers will be sync'ed, separated by comma
    BROWSERS="chromium opera"

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

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

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

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

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

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

    $ psd p
    Profile-sync-daemon v6.03 on Arch Linux.

     Systemd service is currently active.
     Systemd resync service is currently active.
     Overlayfs v23 is currently active.

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

     browser/psname:  chromium/chromium
     owner/group:     facade/100
     sync target:     /home/facade/.config/chromium
     tmpfs dir:       /run/user/1000/facade-chromium
     profile size:    93M
     overlayfs size:  39M
     recovery dirs:   2 <- delete with the c option
      dir path/size:  /home/facade/.config/chromium-backup-crashrecovery-20150117_171359 (92M)
      dir path/size:  /home/facade/.config/chromium-backup-crashrecovery-20150119_112204 (93M)

     browser/psname:  firefox/firefox
     owner/group:     facade/100
     sync target:     /mnt/data/docs/facade/mozilla/firefox/f8cv8bfu.default
     tmpfs dir:       /run/user/1000/facade-firefox-f8cv8bfu.default
     profile size:    145M
     overlayfs size:  13M
     recovery dirs:   none

Как показано в выводе и указано выше, если в массиве BROWSERS не задан конкретный список браузеров, psd будет синхронизировать все профили поддерживаемых браузеров, которые он сможет найти для данного пользователя.

### Режим чистки

Режим чистки удалит все резервные копии. Запускайте этот режим только если вы уверенны что собранные резервные копии больше не понадобятся.

    $ psd c

    Profile-sync-daemon v6.03 on Arch Linux.

    Deleting 2 crashrecovery dirs for profile /home/facade/.config/chromium
     /home/facade/.config/chromium-backup-crashrecovery-20150117_171359
     /home/facade/.config/chromium-backup-crashrecovery-20150119_112204

### Запуск и завершение psd

В последних версиях psd поддерживается только systemd как демон инициализации. Psd включает в себя пользовательский systemd сервис для запуска и завершения psd (psd.service).

Для пользователей, незнакомых с пользовательским режимом systemd, используйте следующую команду для запуска сервиса psd:

    $ systemctl --user [option] psd.service

Доступные опции: start stop enable disable status

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

psd представляет из себя обычный bash-скрипт и должен работать на любом дистрибутиве Linux. Многие дистрибутивы предоставляют официальные и пользовательские пакеты для установки psd. На официальном сайте доступен список пакетов и инструкции по установке.

### Установка частоты синхронизации (опционально)

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

    /etc/systemd/system/psd-resync.timer.d/frequency.conf

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

    [Timer]
    # Empty value resets the list of timers
    OnUnitActiveSec=
    OnUnitActiveSec=10min

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

## FAQ

### Что такое overlayfs и зачем его использовать?

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

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

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

    foo ALL=NOPASSWD: /usr/bin/psd-overlay-helper

См. пример в разделе "Проверка конфигурации" выше, в котором показана система, использующая overlayfs для иллюстрации возможностей экономии памяти.

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

### Overlayfs требует больше памяти для размещения моего профиля/профилей в /run/user/xxxx. Как мне выделить больше?

Стандартный способ контроля размера /run/user это директива RuntimeDirectorySize в logind.conf (подробнее см. man-страницу для logind.conf). По умолчанию используется 10% физической памяти, но можно безопасно ее увеличить. Помните, что tmpfs использует только то, что фактически используется; Указанное здесь число является только максимально допустимым.

### Моя система аварийно завершила работу и не была синхронизирована. Что мне делать?

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

Эта опция больше для проверки, что psd работоспособен и любая потеря данных была по причине чего-то другого.

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

### Где я могу найти снимок?

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

### Как восстановить снимок?

- Остановить `psd`.
- Убедиться, что нет символьной ссылки на директорию профиля браузера в 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 удалить снимки автоматически?

Да, запустите psd с ключом "clean" для удаления снимков.

## Поддержка

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

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

- http://www.webupd8.org/2013/02/keep-your-browser-profiles-in-tmpfs-ram.html
- http://bernaerts.dyndns.org/linux/250-ubuntu-tweaks-ssd[устаревшая ссылка 2021-05-17]

Category:

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

Hidden category:

- Pages or sections flagged with Template:Bad translation (Русский)