Меню Рубрики

Установка profile sync daemon

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

Эта страница нуждается в сопроводителе

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

Contents

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

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

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

/ ) в каталог с профилем браузера, например /home/$USER/.mozilla/firefox/

/cache , и создать символьную ссылку из стандартного пути в новый. Таким образом, profile-sync-daemon автоматически будет учитывать каталог с кешем.

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

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

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

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

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

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

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

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

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

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

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

Режим чистки

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

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

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

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

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

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

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

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

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

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

Что такое 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:

См. пример в разделе «Проверка конфигурации» выше, в котором показана система, использующая 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 работоспособен и любая потеря данных была по причине чего-то другого.

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

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

/.config/chromium-backup-crashrecovery-20130912_153310 — конечно, отметка времени у вас будет своя.

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

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

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

Теперь вы можете запустить Chromium, который будет использовать скопированный резервный снимок. Если все в порядке, закройте браузер и перезапустите psd. На этом этапе вы можете безопасно удалить

Может ли psd удалить снимки автоматически?

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

Поддержка

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

источник

Установка profile sync daemon

GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.

Clone with HTTPS

Use Git or checkout with SVN using the web URL.

Downloading

Want to be notified of new releases in graysky2/profile-sync-daemon ?

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio

Latest commit

Files

common fixes #253 Feb 22, 2020

doc Docs: Fix some typos Sep 15, 2019

init fixes #177 swtich back to oneshot daemon Oct 9, 2016

INSTALL update INSTALL Feb 3, 2018

LICENSE typo in license Nov 23, 2016

MIT fixes #253 Feb 22, 2020

Makefile fixes #253 Feb 22, 2020

README.md Update README.md regarding Fedora Sep 18, 2019

Profile-sync-daemon (psd) is a tiny pseudo-daemon designed to manage your browser’s profile in tmpfs and to periodically sync it back to your physical disc (HDD/SSD). This is accomplished via a symlinking step and an innovative use of rsync to maintain back-up and synchronization between the two. One of the major design goals of psd is a completely transparent user experience.

Always backup your browser profile(s) before using psd for the first time.

User of eCryptFS are encouraged not to use psd unless willing to help troubleshoot suspected browser corruption. See #158.

  • Chromium
  • Conkeror
  • Epiphany
  • Firefox (stable, beta, and aurora)
  • Firefox-trunk (this is an Ubuntu-only browser: http://www.webupd8.org/2011/05/install-firefox-nightly-from-ubuntu-ppa.html)
  • Google Chrome (stable, beta, and dev)
  • Heftig’s version of Aurora (this is an Arch Linux-only browser: https://bbs.archlinux.org/viewtopic.php? >

To build from source, see the included INSTALL text document.

Installation from Distro Packages

  • Antergos: in the official repos.
  • Debian jesse+: in the official repos.
  • Exherbo: in the official repos.
  • Gentoo: in the official repos.
  • Ubuntu 16.10+: in the universe repo.

Since June of 2016, Profile-sync-daemon is in the official repos for Users of jesse+! Reference.

Since June of 2016, Profile-sync-daemon is in the official repos for users of Yakkety+ (16.10+)! Reference.

Others must be using AT LEAST Ubuntu 15.04 (Vivid) or have systemd as your init system to use these packages! To add the PPA (personal package archive) to your Ubuntu system (packages available for Vivid and newer), and to install psd:

If you are interested in packaging psd for your favorite distro, please contact me.

My desktop distro (Arch) switched to systemd a while ago and other big ones (Fedora, Debian, Ubuntu) have followed suite. With the release of psd version 6.x I will no longer be supporting alternative init systems such as upstart and openrc. It is too complex for me to maintain and test multiple configurations on non-native init systems for me.

Also of note for version 6.x is that no longer does psd run in as a system service. It now runs as a user service. This is much more simple and means that:

  • There is no more need for /etc/psd.conf and the USERS array therein.
  • Different users can have their own config files that THEY own (

/.config/psd/psd.conf ).

  • Encrypted $HOME should be supported under this model (NOT yet implemented).
  • Update instructions from version 5.x:

    • Stop psd v5.7x and close your browsers.
    • Build the package linked above and install it.
    • Run psd to create your

    /.config/psd/psd.conf and then edit it as you normally would.

  • Check it in parse mode psd p and if happy with the output, run it via systemd usermode: systemctl —user start psd (and optionally enable it).
  • Note that if you’re using overlayfs mode, your user needs to have sudo right to /usr/bin/psd-overlay-helper or else psd will refuse to run in overlayfs mode.

    источник

    Profile-sync-daemon

    profile-sync-daemon (psd) is a tiny pseudo-daemon designed to manage browser profile(s) in tmpfs and to periodically sync back to the physical disc (HDD/SSD). This is accomplished by an innovative use of rsync to maintain synchronization between a tmpfs copy and media-bound backup of the browser profile(s). Additionally, psd features several crash recovery features.

    Contents

    Design goals and benefits of psd

    Since the profile(s), browser cache*, etc. are relocated into tmpfs (RAM disk), the corresponding I/O associated with using the browser is also redirected from the physical drive to RAM, thus reducing wear to the physical drive and also greatly improving browser speed and responsiveness.

    Setup and installation

    Edit the config file

    Run psd the first time which will create $XDG_CONFIG_HOME/psd/psd.conf (referred to hereafter as the config file) which contains all settings.

    • Optionally enable the use of overlayfs to improve sync speed and to use a smaller memory footprint. Do this in the USE_OVERLAYFS variable. The user will require sudo rights to /usr/bin/psd-overlay-helper to use this option and the kernel must support overlayfs version 22 or higher. See the FAQ below for additional details.
    • Optionally define which browsers are to be managed in the BROWSERS array. If none are defined, the default is all detected browsers.
    • Optionally disable the use of crash-recovery snapshots (not recommended). Do this in the USE_BACKUPS variable.
    • Optionally define the number of crash-recovery snapshots to keep. Do this in the BACKUP_LIMIT variable.

    Example: Let’s say that Chromium, Opera and Midori are installed but only Chromium and Opera are to be sync’ed to tmpfs since the user keeps Midori as a backup browser and it is seldom used:

    Beginning with version 5.54 of psd, native support for overlayfs is included. This feature requires at least a Linux kernel version of 3.18.0 or greater.

    Supported browsers

    Currently, the following browsers are auto-detected and managed:

    Using psd

    Preview (parse) mode

    The ‘parse’ option can be called to show users exactly what psd will do/is doing based on $XDG_CONFIG_HOME/psd/psd.conf as well printout useful information such as profile size, paths, and if any recovery snapshots have been created.

    As shown in the output and as stated above, if no specific browser or subset of browsers are defined in the BROWSERS array, psd will sync ALL supported profiles that it finds for the given user(s).

    Clean mode

    The clean mode will delete ALL recovery snapshots that have accumulated. Run this only if you are sure that you want to delete them.

    Start and stop psd

    With the release of the version 6.x series of psd, the only init system that is officially supported is systemd. Psd ships with a systemd user service to start or stop it (psd.service). Additionally, a provided resync-timer will run an hourly resync from tmpfs back to the disk. The resync-timer is started automatically with psd.service so there is no need to attempt to start the timer.

    For users unfamiliar with systemd user mode, use the following commands to enable the psd service:

    Available options are start , stop , restart , enable , disable and status .

    Supported distros

    Since psd is just a bash script with a systemd service, it should run on any flavor of Linux running systemd. Around a dozen distros provide an official package or user-maintained option to install psd. One can also build psd from source. See the official website for available packages and installation instructions.

    Sync at more frequent intervals (optional)

    The package provided re-sync timer triggers once per hour. Users may optionally redefine this behavior simply by extending the systemd unit. The example below changes the timer to sync once every ten minutes:

    See systemd.timer(5) for additional options.

    What is overlayfs mode?

    Overlayfs is a simple union file-system mainlined in the Linux kernel version 3.18.0. Starting with psd version 5.54, overlayfs can be used to reduce the memory footprint of psd’s tmpfs space and to speed up sync and unsync operations. The magic is in how the overlay mount only writes out data that has changed rather than the entire profile. The same recovery features psd uses in its default mode are also active when running in overlayfs mode. Overlayfs mode is enabled by uncommenting the USE_OVERLAYFS=»yes» line in $XDG_CONFIG_HOME/psd/psd.conf followed by a restart of the daemon.

    Since version 6.05 of psd, users wanting to take advantage of this mode MUST have sudo rights (without password prompt) to /usr/bin/psd-overlay-helper or global sudo rights. The following line in /etc/sudoers will supply a user with these rights (replace «user» with your actual username). Add it using visudo:

    See the example in the PREVIEW MODE section above which shows a system using overlayfs to illustrate the memory savings that can be achieved. Note the «overlayfs size» report compared to the total «profile size» report for each profile. Be aware that these numbers will change depending on how much data is written to the profile, but in common use cases the overlayfs size will always be less than the profile size.

    I need more memory to accommodate my profile/profiles in /run/user/xxxx. How can I allocate more?

    The standard way of controlling the size of /run/user is the RuntimeDirectorySize directive in /etc/systemd/logind.conf (see the man page for logind.conf for more). By default, 10% of physical memory is used but one can increase it safely. Remember that tmpfs only consumes what is actually used; the number specified here is just a maximum allowed.

    Why do I have another browser profile directory «foo-back-ovfs» when I enable overlayfs?

    The way overlayfs works is to mount a read-only base copy (so-called lower dir) of the profile, and manage the new data on top of that. In order to avoid resyncing to the read-only file system, a copy is used instead. So using overlayfs is a trade off: faster initial sync times and less memory usage vs. disk space in the home dir.

    My system crashed and did not sync back. What do I do?

    Odds are the «last good» backup of your browser profiles is just fine still sitting happily on your filesystem. Upon restarting psd (on a reboot for example), a check is performed to see if the symlink to the tmpfs copy of your profile is invalid. If it is invalid, psd will snapshot the «last good» backup before it rotates it back into place. This is more for a sanity check that psd did no harm and that any data loss was a function of something else.

    Where can I find this snapshot?

    It depends on the browser. You will find the snapshot in the same directory as the browser profile and it will contain a date-time-stamp that corresponds to the time at which the recovery took place. For example, chromium will be

    /.config/chromium-backup-crashrecovery-20130912_153310 — of course, the date_time suffix will be different for you.

    How can I restore the snapshot?

    • Stop psd .
    • Confirm that there is no symlink to the tmpfs browser profile directory. If there is, psd did not stop correctly for other reasons.
    • Move the «bad» copy of the profile to a backup (do not blindly delete anything).
    • Copy the snapshot directory to the name that browser expects.

    At this point you can launch chromium which will use the backup snapshot you just copied into place. If all is well, close the browser and restart psd. You may safely delete

    /.config/chromium-backup-crashrecovery-20130912_153310 at this point.

    Can psd delete the snapshots automatically?

    Yes, run psd with the «clean» switch to delete snapshots.

    Support

    Post in the discussion thread with comments or concerns.

    psd on other distros

    psd is a bash script and should therefore run on any Linux distro. Around a dozen distros provide an official package or user-maintained option to install psd. See the official website for available packages and installation instructions.

    источник

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *