「Profile-sync-daemon」の版間の差分
細 |
|||
22行目: | 22行目: | ||
プロファイルやブラウザキャッシュなどを [[tmpfs]] (RAM ディスク) に再配置して、ブラウザを使用するのに伴う I/O の猛襲の対象を物理ドライブから RAM に変更することにより、物理ドライブの消耗を抑えつつブラウザの速度や反応性を劇的に高められます。例えば、物理ディスクのアクセス時間はミリ秒単位なのに対してRAM のアクセス時間はナノ秒オーダーです。これは0の数が6個も違う、つまり1000000倍高速ということです。 |
プロファイルやブラウザキャッシュなどを [[tmpfs]] (RAM ディスク) に再配置して、ブラウザを使用するのに伴う I/O の猛襲の対象を物理ドライブから RAM に変更することにより、物理ドライブの消耗を抑えつつブラウザの速度や反応性を劇的に高められます。例えば、物理ディスクのアクセス時間はミリ秒単位なのに対してRAM のアクセス時間はナノ秒オーダーです。これは0の数が6個も違う、つまり1000000倍高速ということです。 |
||
− | {{Note|Chrome/Chromium, Firefox (v21 以上), Midori, Rekonq などのブラウザはプロファイルのディレクトリとは別個にキャッシュディレクトリを保存しています。この挙動を変更するのは profile-sync-daemon の射程外です。Chromium の [[Chromium |
+ | {{Note|Chrome/Chromium, Firefox (v21 以上), Midori, Rekonq などのブラウザはプロファイルのディレクトリとは別個にキャッシュディレクトリを保存しています。この挙動を変更するのは profile-sync-daemon の射程外です。Chromium の [[Chromium 設定#tmpfs にキャッシュ]] セクションや [[Firefox_Ramdisk]] 記事を参照して対処することが推奨されます。楽な修正はブラウザのキャッシュディレクトリ (例: {{ic|/home/$USER/.cache/<browser>/<profile>/}}) をデフォルトの場所から適当なプロファイルディレクトリ (例: {{ic|/home/$USER/.mozilla/firefox/<profile>/cache}}) に移動して、新しいキャッシュフォルダから元の場所にシンボリックリンクを作成することです。これによって、profile-sync-daemon は自動的にキャッシュフォルダも扱うようになります。}} |
== セットアップとインストール == |
== セットアップとインストール == |
||
31行目: | 31行目: | ||
ユーザーによる設定は全て {{ic|/etc/psd.conf}} に含まれます。 |
ユーザーによる設定は全て {{ic|/etc/psd.conf}} に含まれます。 |
||
+ | {{Note|psd を実行している間に {{ic|/etc/psd.conf}} を編集した場合、変更が適用されるのは init サービスから psd を再起動したときです。}} |
||
− | {{Note|Any edits made to {{ic|/etc/psd.conf}} while psd is running will be applied only after psd has been restarted from the init service.}} |
||
− | 最低でも、どのユーザーが ''psd'' によって管理するプロファイルを持っているのか定義してください。少なくとも一人のユーザーを定義する必要があります。 |
+ | * 最低でも、どのユーザーが ''psd'' によって管理するプロファイルを持っているのか定義してください。少なくとも一人のユーザーを定義する必要があります。 |
+ | * 任意で BROWSERS 行をアンコメントして tmpfs に同期するブラウザを指定することができます。BROWSERS がコメントアウトされている場合 (デフォルト)、サポートしているブラウザ全てのプロファイルが同期されます。 |
||
− | |||
− | 任意で |
+ | * 任意で overlayfs を利用することで同期を高速化させてメモリの使用量を減らすことができます。このオプションを使う場合、'overlay' (Arch のデフォルト) または 'overlayfs' (Ubuntu <15.05) カーネルモジュールを利用するようにカーネルが設定されている必要があります。この機能の詳細は下の FAQ を見て下さい。 |
+ | * 任意でクラッシュしたときに復帰するためのスナップショットを無効化することができます。USE_BACKUPS 変数で設定します。 |
||
例: Chromium, Opera, Midori をインストールしていて Chromium と Opera だけを tmpfs に同期する (Midori はバックアップのブラウザとしてたまにしか使わない) という場合: |
例: Chromium, Opera, Midori をインストールしていて Chromium と Opera だけを tmpfs に同期する (Midori はバックアップのブラウザとしてたまにしか使わない) という場合: |
||
43行目: | 44行目: | ||
# |
# |
||
# Possible values: |
# Possible values: |
||
− | # |
+ | # chromium |
+ | # chromium-dev |
||
− | # conkeror.mozdev.org |
||
+ | # conkeror.mozdev.org |
||
− | # firefox |
||
− | # |
+ | # epiphany |
− | # |
+ | # firefox |
− | # |
+ | # firefox-trunk |
− | # |
+ | # google-chrome |
+ | # google-chrome-beta |
||
− | # opera |
||
+ | # google-chrome-unstable |
||
− | # opera-next |
||
− | # |
+ | # 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 |
# If the following is commented out (default), then all available/supported |
||
# browsers will be sync'ed, separated by comma |
# browsers will be sync'ed, separated by comma |
||
BROWSERS="chromium opera" |
BROWSERS="chromium opera" |
||
+ | |||
+ | psd のバージョン 5.54 から、overlayfs がネイティブでサポートされるようになりました。{{ic|1=USE_OVERLAYFS="yes"}} という行をアンコメントすることで有効にでき、デフォルトのフルコピーに比べて、メモリの使用量を減らして同期を高速化させることができます。 |
||
+ | |||
+ | {{Note|この機能を使うには 3.18.0 以上の Linux カーネルが必要です。}} |
||
== サポートしているブラウザ == |
== サポートしているブラウザ == |
||
現在、以下のブラウザを自動で検出して管理します: |
現在、以下のブラウザを自動で検出して管理します: |
||
− | * [[ |
+ | * [[Chromium]] |
* [[AUR|chromium-dev]] |
* [[AUR|chromium-dev]] |
||
* {{AUR|conkeror-git}} |
* {{AUR|conkeror-git}} |
||
* [[Epiphany]] |
* [[Epiphany]] |
||
− | * [[ |
+ | * [[Firefox]] (安定版・ベータ版・Aurora 版など全てをサポート) |
* {{AUR|google-chrome}} |
* {{AUR|google-chrome}} |
||
* {{AUR|google-chrome-beta}} |
* {{AUR|google-chrome-beta}} |
||
73行目: | 89行目: | ||
* [[Luakit]] |
* [[Luakit]] |
||
* [[Midori]] |
* [[Midori]] |
||
− | * [[ |
+ | * [[Opera]] |
− | * {{AUR|opera-next}} |
||
* Qupzilla |
* Qupzilla |
||
* {{Pkg|rekonq}} |
* {{Pkg|rekonq}} |
||
* {{Pkg|seamonkey}} |
* {{Pkg|seamonkey}} |
||
+ | * {{AUR|vivaldi}} |
||
== psd を使う == |
== psd を使う == |
||
85行目: | 101行目: | ||
'parse' オプションを使うことで {{ic|/etc/psd.conf}} に基づいて ''psd'' が何を行うのかを正確に表示することができます。次のように呼び出して下さい: |
'parse' オプションを使うことで {{ic|/etc/psd.conf}} に基づいて ''psd'' が何を行うのかを正確に表示することができます。次のように呼び出して下さい: |
||
$ profile-sync-daemon parse |
$ profile-sync-daemon parse |
||
− | + | Profile-sync-daemon v5.65 on Arch Linux. |
|
+ | Systemd service is currently active. |
||
− | psd will manage the following per /etc/psd.conf settings: |
||
+ | Systemd resync service is currently active. |
||
+ | Overlayfs v23 is currently active. |
||
+ | Psd will manage the following per /etc/psd.conf settings: |
||
− | browser/psname: chromium/chromium |
||
− | owner/group: facade/users |
||
− | sync target: /home/facade/.config/chromium |
||
− | tmpfs dir: /tmp/facade-chromium |
||
− | profile size: 81M |
||
− | + | browser/psname: chromium/chromium |
|
− | + | owner/group: facade/100 |
|
− | + | sync target: /home/facade/.config/chromium |
|
− | + | tmpfs dir: /tmp/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: /tmp/facade-firefox-f8cv8bfu.default |
|
+ | Permissions are 755 on this profile. |
||
− | profile size: 17M |
||
+ | Recommend a setting of 700 for increased privacy! |
||
+ | profile size: 145M |
||
+ | overlayfs size: 13M |
||
+ | recovery dirs: none |
||
+ | |||
+ | browser/psname: firefox/firefox |
||
+ | owner/group: facade/105 |
||
+ | sync target: /mnt/data/docs/facade/mozilla/firefox/obg67zqQ.proxy |
||
+ | tmpfs dir: /tmp/facade-firefox-obg67zqQ.proxy |
||
+ | profile size: 17M |
||
+ | overlayfs size: 28M |
||
+ | recovery dirs: none |
||
上記の通り、特定のブラウザが BROWSERS 行に設定されていない場合、''psd'' は指定されたユーザーのサポートされているプロファイル全てを同期します。 |
上記の通り、特定のブラウザが BROWSERS 行に設定されていない場合、''psd'' は指定されたユーザーのサポートされているプロファイル全てを同期します。 |
||
+ | |||
+ | === クリーンモード === |
||
+ | クリーンモードを使うと保存されているスナップショットを全て削除します。削除しても問題ない場合にのみ実行してください。 |
||
+ | |||
+ | $ psd c |
||
+ | |||
+ | Profile-sync-daemon v5.65 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 を実行してプロファイルを管理 === |
||
113行目: | 154行目: | ||
同期したり同期を解除するのに {{ic|/usr/bin/profile-sync-daemon}} を直接実行してはいけません。代わりにサービスファイルを使って下さい。 |
同期したり同期を解除するのに {{ic|/usr/bin/profile-sync-daemon}} を直接実行してはいけません。代わりにサービスファイルを使って下さい。 |
||
− | [[ |
+ | [[systemd]] の[[デーモン|サービス]]ファイルとタイマーが両方入っており、これらを使って ''psd'' を制御することができます。タイマーの役割は tmpfs をディスクにコピーバックさせることで、一時間に一度実行されます。タイマーは {{ic|psd.service}} によって勝手に起動します。 |
起動時・シャットダウン時に実行するには {{ic|psd.service}} を[[systemd#ユニットを使う|起動・有効化]]してください ('''強く推奨''')。 |
起動時・シャットダウン時に実行するには {{ic|psd.service}} を[[systemd#ユニットを使う|起動・有効化]]してください ('''強く推奨''')。 |
||
135行目: | 176行目: | ||
== Firefox と Heftig の Aurora での注意事項 == |
== Firefox と Heftig の Aurora での注意事項 == |
||
+ | ''psd'' でブラウザプロファイルを記録して同期を行うには、各ユーザーの {{ic|$HOME/.mozilla/''browser''/profiles.ini}} ファイルで、使用するディレクトリに一意な名前を付ける必要があります。''psd'' が実行されるとファイルが確認され、このルールが守られていない場合は同期が行われません。以下は良くないプロファイルの例で、テストに失敗します。フルパスは一意になっていますが、どちらも同じ名前で終わっているところに注意してください。''psd'' を使うためには {{ic|profiles.ini}} を修正して適当なディレクトリを設定する必要があります。 |
||
− | The way ''psd'' keeps track of browser profiles and sync targets requires users to have a unique name as the ''last directory'' for all profiles in their respective {{ic|$HOME/.mozilla/''browser''/profiles.ini}} files. ''psd'' will check when it is called to run for this and refuse if this rule is not satisfied. The following is an example of a BAD profile that will fail the the test. Note that although each full path is unique, they both ''end'' in the same name! Again, the user must modify the {{ic|profiles.ini}} and the corresponding directory on the filesystem to correct this in order to use ''psd''. |
||
{{hc|~/.mozilla/firefox/profiles.ini| |
{{hc|~/.mozilla/firefox/profiles.ini| |
||
147行目: | 188行目: | ||
Default=1 |
Default=1 |
||
− | [Profile1 for user |
+ | [Profile1 for user debbie] |
Name=proxy |
Name=proxy |
||
IsRelative=0 |
IsRelative=0 |
||
− | Path=/mnt/data/docs/''' |
+ | Path=/mnt/data/docs/'''debbie'''/mozilla/firefox/'''myprofile.abc''' |
}} |
}} |
||
== FAQ == |
== FAQ == |
||
+ | === overlayfs とは何か、どうして使ったほうが良いのか? === |
||
− | {{Note|The first three questions apply to versions of ''psd'' equal to or greater than v5.40 only.}} |
||
+ | |||
+ | Overlayfs は Linux カーネル 3.18.0 でメインラインに取り込まれたシンプルなユニオンファイルシステムです。psd バージョン 5.54 から、overlayfs を使うことで psd の tmpfs 領域のメモリフットプリントを減らしたり、同期を高速化させることができるようになっています。オーバーレイマウントでは、プロファイル全体ではなく、変更が加えられたデータだけが書き出されるというところがミソです。overlayfs モードで実行した場合、psd がデフォルトで使用する同一の復帰機能も有効になります。Overlayfs モードは {{ic|/etc/psd.conf}} の {{ic|1=USE_OVERLAYFS="yes"}} という行をアンコメントしてデーモンを再起動することで有効にできます。 |
||
+ | |||
+ | Linux カーネルで利用できる overlayfs にはディストロによって複数のバージョンが存在します。バージョン 22 以前ではモジュールは 'overlayfs' と呼ばれていましたが、新しいバージョン (23 以上) ではモジュールの名前は 'overlay' になっています ('fs' が取られた)。Psd はあなたの使用しているカーネルで利用できる overlayfs を自動的に検出します。 |
||
+ | |||
+ | === overlay や overlayfs モジュールはどうやってロードすればいいか? === |
||
+ | |||
+ | (root で) {{ic|/usr/bin/modprobe}} を使ってモジュールをロードすることができます。先に、'overlay' をロードしてみて、modprobe が失敗するようでしたら、'overlayfs' を使って下さい。modprobe を使ってモジュールをロードしても、次の起動時にはモジュールはロードされないので注意してください。起動時に自動的にモジュールをロードしたい場合、{{ic|/etc/modules-load.d/load_me.conf}} にモジュールを記述する[[カーネルモジュール#ロード|方法]]が推奨です (ファイルにはロードするモジュールの名前だけを書きます)。 |
||
+ | |||
+ | === システムがクラッシュして同期がされませんでした。どうすればいいですか? === |
||
+ | |||
+ | 運が良ければ、ブラウザプロファイルの"最新の問題がない"バックアップがファイルシステムに残っている可能性があります。{{ic|psd}} の再起動時に、プロファイルの tmpfs コピーのシンボリックリンクに問題がないか確認するチェックが行われます。問題がなかった場合、''psd'' は"最新の問題ない"バックアップのスナップショットを作成します。これは ''psd'' によってデータが失われないようにするためのサニティーチェックであり、データが消失した場合、他に原因があります。 |
||
+ | {{Note|必要であれば、{{ic|/etc/psd.conf}} で {{ic|USE_BACKUPS}} 変数をアンコメントして 'no' に設定することでスナップショット/バックアップ機能を完全に無効化できます。}} |
||
− | === Q1. システムがクラッシュして同期がされませんでした。どうすればいいですか? === |
||
+ | === スナップショットはどこにありますか? === |
||
− | Odds are the "last good" backup of your browser profiles is just fine still sitting happily on your filesystem. Upon restarting {{ic|psd}} (on a reboot for example), a check is preformed 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. |
||
+ | ブラウザによります。ブラウザプロファイルと同じディレクトリにスナップショットが存在し、リカバリが作られた時刻のタイムスタンプが付けられています。例えば、chromium なら {{ic|~/.config/chromium-backup-crashrecovery-20130912_153310}} などになります。もちろん、日付_時間の部分は異なっているでしょう。 |
||
− | === Q2. スナップショットはどこにありますか? === |
||
+ | === スナップショットを復元するにはどうすればいいですか? === |
||
− | 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 {{ic|~/.config/chromium-backup-crashrecovery-20130912_153310}} -- of course, the date_time suffix will be different for you. |
||
+ | * {{ic|psd}} を停止してください。 |
||
− | === Q3. スナップショットを復元するにはどうすればいいですか? === |
||
+ | * tmpfs のブラウザプロファイルディレクトリのシンボリックリンクがないことを確認してください。存在する場合、''psd'' は何らかの理由で適切に停止していません。 |
||
+ | * プロファイルの"問題がある"コピーをバックアップに移動してください (やみくもに削除するのはやめましょう)。 |
||
+ | * スナップショットディレクトリをブラウザが使用する名前にコピーしてください。 |
||
+ | Chromium の例: |
||
− | * Stop {{ic|psd}}. |
||
+ | $ mv ~/.config/chromium ~/.config/chromium-bad |
||
− | * Confirm that there is no symlink to the tmpfs browser profile directory. If there is, ''psd'' did not stop correctly for other reasons. |
||
+ | $ cp -a ~/.config/chromium-backup-crashrecovery-20130912_153310 ~/.config/chromium |
||
− | * Move the "bad" copy of the profile to a backup (don't blindly delete anything). |
||
− | * Copy the snapshot directory to the name that browser expects. |
||
+ | Chromium を実行したらコピーしたバックアップスナップショットが使われます。全て問題ないようでしたら、ブラウザを閉じて psd を再起動してください。ここまできたら {{ic|~/.config/chromium-backup-crashrecovery-20130912_153310}} を削除してもかまいません。 |
||
− | Example using Chromium: |
||
− | mv ~/.config/chromium ~/.config/chromium-bad |
||
− | cp -a ~/.config/chromium-backup-crashrecovery-20130912_153310 ~/.config/chromium |
||
+ | === psd でスナップショットを自動的に削除できますか? === |
||
− | 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 and psd-resync (if using systemd). You may safely delete {{ic|~/.config/chromium-backup-crashrecovery-20130912_153310}} at this point. |
||
+ | "clean" スイッチを付けて psd を実行すればスナップショットが削除されます。 |
||
== サポート == |
== サポート == |
||
− | 気づいたことやコメントなどは[https://bbs.archlinux.org/viewtopic.php?pid=1026974 議論スレッド]に投稿してください。 |
+ | 気づいたことやコメントなどは [https://bbs.archlinux.org/viewtopic.php?pid=1026974 議論スレッド] に投稿してください。 |
== 他のディストロで PSD == |
== 他のディストロで PSD == |
||
− | ''psd'' は bash スクリプトなので、どんな Linux ディストロでも動作します。インストール方法は[https://github.com/graysky2/profile-sync-daemon#installation-from-distro-packages 公式ウェブサイト]を見て下さい。 |
+ | ''psd'' は bash スクリプトなので、どんな Linux ディストロでも動作します。それぞれのディストリビューションでパッケージが用意されていたり、ユーザーが自分でインストールできるように方法が用意されています。インストール方法は [https://github.com/graysky2/profile-sync-daemon#installation-from-distro-packages 公式ウェブサイト] を見て下さい。 |
== 参照 == |
== 参照 == |
2015年7月5日 (日) 18:21時点における版
Profile-sync-daemonAUR (psd) はブラウザプロファイルを tmpfs で管理して定期的に物理ディスク (HDD/SSD) に同期させる、とても小さな擬似的なデーモンです。rsync でブラウザプロファイルの tmpfs のコピーとメディアのバックアップを同期させるという革新的な利用法によります。さらに、psd にはクラッシュからの復元機能が存在します。
目次
psd のメリット
このデーモンを動かすのが有益だという理由は2つあります:
- 物理ドライブの損耗が減る
- 速度
プロファイルやブラウザキャッシュなどを tmpfs (RAM ディスク) に再配置して、ブラウザを使用するのに伴う I/O の猛襲の対象を物理ドライブから RAM に変更することにより、物理ドライブの消耗を抑えつつブラウザの速度や反応性を劇的に高められます。例えば、物理ディスクのアクセス時間はミリ秒単位なのに対してRAM のアクセス時間はナノ秒オーダーです。これは0の数が6個も違う、つまり1000000倍高速ということです。
セットアップとインストール
profile-sync-daemonAUR は AUR からダウンロードすることができます。他のパッケージと同じようにビルド・インストールしてください。
/etc/psd.conf の編集
ユーザーによる設定は全て /etc/psd.conf
に含まれます。
- 最低でも、どのユーザーが psd によって管理するプロファイルを持っているのか定義してください。少なくとも一人のユーザーを定義する必要があります。
- 任意で BROWSERS 行をアンコメントして tmpfs に同期するブラウザを指定することができます。BROWSERS がコメントアウトされている場合 (デフォルト)、サポートしているブラウザ全てのプロファイルが同期されます。
- 任意で overlayfs を利用することで同期を高速化させてメモリの使用量を減らすことができます。このオプションを使う場合、'overlay' (Arch のデフォルト) または 'overlayfs' (Ubuntu <15.05) カーネルモジュールを利用するようにカーネルが設定されている必要があります。この機能の詳細は下の FAQ を見て下さい。
- 任意でクラッシュしたときに復帰するためのスナップショットを無効化することができます。USE_BACKUPS 変数で設定します。
例: Chromium, Opera, Midori をインストールしていて Chromium と Opera だけを tmpfs に同期する (Midori はバックアップのブラウザとしてたまにしか使わない) という場合:
# 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"
psd のバージョン 5.54 から、overlayfs がネイティブでサポートされるようになりました。USE_OVERLAYFS="yes"
という行をアンコメントすることで有効にでき、デフォルトのフルコピーに比べて、メモリの使用量を減らして同期を高速化させることができます。
サポートしているブラウザ
現在、以下のブラウザを自動で検出して管理します:
- Chromium
- chromium-dev
- conkeror-gitAUR
- Epiphany
- Firefox (安定版・ベータ版・Aurora 版など全てをサポート)
- google-chromeAUR
- google-chrome-betaAUR
- google-chrome-devAUR
- heftig バージョンの Aurora: Arch Linux 専用ブラウザ
- icecatAUR
- Luakit
- Midori
- Opera
- Qupzilla
- rekonq
- seamonkey
- vivaldiAUR
psd を使う
プレビューモード (parse)
'parse' オプションを使うことで /etc/psd.conf
に基づいて psd が何を行うのかを正確に表示することができます。次のように呼び出して下さい:
$ profile-sync-daemon parse Profile-sync-daemon v5.65 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 /etc/psd.conf settings: browser/psname: chromium/chromium owner/group: facade/100 sync target: /home/facade/.config/chromium tmpfs dir: /tmp/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: /tmp/facade-firefox-f8cv8bfu.default Permissions are 755 on this profile. Recommend a setting of 700 for increased privacy! profile size: 145M overlayfs size: 13M recovery dirs: none browser/psname: firefox/firefox owner/group: facade/105 sync target: /mnt/data/docs/facade/mozilla/firefox/obg67zqQ.proxy tmpfs dir: /tmp/facade-firefox-obg67zqQ.proxy profile size: 17M overlayfs size: 28M recovery dirs: none
上記の通り、特定のブラウザが BROWSERS 行に設定されていない場合、psd は指定されたユーザーのサポートされているプロファイル全てを同期します。
クリーンモード
クリーンモードを使うと保存されているスナップショットを全て削除します。削除しても問題ない場合にのみ実行してください。
$ psd c Profile-sync-daemon v5.65 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 を実行してプロファイルを管理
同期したり同期を解除するのに /usr/bin/profile-sync-daemon
を直接実行してはいけません。代わりにサービスファイルを使って下さい。
systemd のサービスファイルとタイマーが両方入っており、これらを使って psd を制御することができます。タイマーの役割は tmpfs をディスクにコピーバックさせることで、一時間に一度実行されます。タイマーは psd.service
によって勝手に起動します。
起動時・シャットダウン時に実行するには psd.service
を起動・有効化してください (強く推奨)。
もっと頻繁に同期する (任意)
パッケージには一時間ごとに同期を行うタイマーが入っています。任意で、systemd ユニットを編集することでこの挙動を再定義することが可能です。以下の例は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
オプションについては man systemd.timer
を見て下さい。
Firefox と Heftig の Aurora での注意事項
psd でブラウザプロファイルを記録して同期を行うには、各ユーザーの $HOME/.mozilla/browser/profiles.ini
ファイルで、使用するディレクトリに一意な名前を付ける必要があります。psd が実行されるとファイルが確認され、このルールが守られていない場合は同期が行われません。以下は良くないプロファイルの例で、テストに失敗します。フルパスは一意になっていますが、どちらも同じ名前で終わっているところに注意してください。psd を使うためには profiles.ini
を修正して適当なディレクトリを設定する必要があります。
~/.mozilla/firefox/profiles.ini
[General] StartWithLastProfile=1 [Profile0 for user facade] Name=normal IsRelative=0 Path=/mnt/data/docs/facade/mozilla/firefox/myprofile.abc Default=1 [Profile1 for user debbie] Name=proxy IsRelative=0 Path=/mnt/data/docs/debbie/mozilla/firefox/myprofile.abc
FAQ
overlayfs とは何か、どうして使ったほうが良いのか?
Overlayfs は Linux カーネル 3.18.0 でメインラインに取り込まれたシンプルなユニオンファイルシステムです。psd バージョン 5.54 から、overlayfs を使うことで psd の tmpfs 領域のメモリフットプリントを減らしたり、同期を高速化させることができるようになっています。オーバーレイマウントでは、プロファイル全体ではなく、変更が加えられたデータだけが書き出されるというところがミソです。overlayfs モードで実行した場合、psd がデフォルトで使用する同一の復帰機能も有効になります。Overlayfs モードは /etc/psd.conf
の USE_OVERLAYFS="yes"
という行をアンコメントしてデーモンを再起動することで有効にできます。
Linux カーネルで利用できる overlayfs にはディストロによって複数のバージョンが存在します。バージョン 22 以前ではモジュールは 'overlayfs' と呼ばれていましたが、新しいバージョン (23 以上) ではモジュールの名前は 'overlay' になっています ('fs' が取られた)。Psd はあなたの使用しているカーネルで利用できる overlayfs を自動的に検出します。
overlay や overlayfs モジュールはどうやってロードすればいいか?
(root で) /usr/bin/modprobe
を使ってモジュールをロードすることができます。先に、'overlay' をロードしてみて、modprobe が失敗するようでしたら、'overlayfs' を使って下さい。modprobe を使ってモジュールをロードしても、次の起動時にはモジュールはロードされないので注意してください。起動時に自動的にモジュールをロードしたい場合、/etc/modules-load.d/load_me.conf
にモジュールを記述する方法が推奨です (ファイルにはロードするモジュールの名前だけを書きます)。
システムがクラッシュして同期がされませんでした。どうすればいいですか?
運が良ければ、ブラウザプロファイルの"最新の問題がない"バックアップがファイルシステムに残っている可能性があります。psd
の再起動時に、プロファイルの tmpfs コピーのシンボリックリンクに問題がないか確認するチェックが行われます。問題がなかった場合、psd は"最新の問題ない"バックアップのスナップショットを作成します。これは psd によってデータが失われないようにするためのサニティーチェックであり、データが消失した場合、他に原因があります。
スナップショットはどこにありますか?
ブラウザによります。ブラウザプロファイルと同じディレクトリにスナップショットが存在し、リカバリが作られた時刻のタイムスタンプが付けられています。例えば、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 でスナップショットを自動的に削除できますか?
"clean" スイッチを付けて psd を実行すればスナップショットが削除されます。
サポート
気づいたことやコメントなどは 議論スレッド に投稿してください。
他のディストロで PSD
psd は bash スクリプトなので、どんな Linux ディストロでも動作します。それぞれのディストリビューションでパッケージが用意されていたり、ユーザーが自分でインストールできるように方法が用意されています。インストール方法は 公式ウェブサイト を見て下さい。