「Profile-sync-daemon」の版間の差分
(最新の文章に更新) |
|||
16行目: | 16行目: | ||
== psd のメリット == |
== psd のメリット == |
||
+ | #透過的に利用できる |
||
− | このデーモンを動かすのが有益だという理由は2つあります: |
||
#物理ドライブの損耗が減る |
#物理ドライブの損耗が減る |
||
#速度 |
#速度 |
||
28行目: | 28行目: | ||
{{AUR|profile-sync-daemon}} は [[Arch User Repository|AUR]] からダウンロードすることができます。他のパッケージと同じようにビルド・インストールしてください。 |
{{AUR|profile-sync-daemon}} は [[Arch User Repository|AUR]] からダウンロードすることができます。他のパッケージと同じようにビルド・インストールしてください。 |
||
− | === |
+ | === 設定ファイルの編集 === |
+ | psd を初めて実行したときに、全ての設定が記述された {{ic|$XDG_CONFIG_HOME/psd/psd.conf}} が作成されます (以下、このファイルを設定ファイルと呼称します)。 |
||
− | ユーザーによる設定は全て {{ic|/etc/psd.conf}} に含まれます。 |
||
− | {{Note|psd を実行している間に |
+ | {{Note|psd を実行している間に設定ファイルを編集した場合、変更が適用されるのは init サービスから psd を再起動したときです。}} |
+ | $ psd |
||
− | * 最低でも、どのユーザーが ''psd'' によって管理するプロファイルを持っているのか定義してください。少なくとも一人のユーザーを定義する必要があります。 |
||
+ | First time running psd so please edit /home/facade/.config/psd/psd.conf to your liking and run again. |
||
+ | |||
+ | * 任意で overlayfs を利用することで同期を高速化させてメモリの使用量を減らすことができます。USE_OVERLAYFS 変数を設定してください。このオプションを使う場合、{{ic|/usr/bin/psd-overlay-helper}} に sudo 権限が必要で、カーネルが overlayfs バージョン22以上に対応していなければなりません。この機能の詳細は下の FAQ を見て下さい。 |
||
* 任意で BROWSERS 行をアンコメントして tmpfs に同期するブラウザを指定することができます。BROWSERS がコメントアウトされている場合 (デフォルト)、サポートしているブラウザ全てのプロファイルが同期されます。 |
* 任意で BROWSERS 行をアンコメントして tmpfs に同期するブラウザを指定することができます。BROWSERS がコメントアウトされている場合 (デフォルト)、サポートしているブラウザ全てのプロファイルが同期されます。 |
||
+ | * 任意でクラッシュしたときに復帰するためのスナップショットを無効化することができます (非推奨)。USE_BACKUPS 変数で設定します。 |
||
− | * 任意で overlayfs を利用することで同期を高速化させてメモリの使用量を減らすことができます。このオプションを使う場合、'overlay' (Arch のデフォルト) または 'overlayfs' (Ubuntu <15.05) カーネルモジュールを利用するようにカーネルが設定されている必要があります。この機能の詳細は下の FAQ を見て下さい。 |
||
− | * 任意でクラッシュしたときに復帰するためのスナップショットを無効化することができます。USE_BACKUPS 変数で設定します。 |
||
例: Chromium, Opera, Midori をインストールしていて Chromium と Opera だけを tmpfs に同期する (Midori はバックアップのブラウザとしてたまにしか使わない) という場合: |
例: Chromium, Opera, Midori をインストールしていて Chromium と Opera だけを tmpfs に同期する (Midori はバックアップのブラウザとしてたまにしか使わない) という場合: |
||
99行目: | 101行目: | ||
=== プレビューモード (parse) === |
=== プレビューモード (parse) === |
||
− | 'parse' オプションを使うことで {{ic|/ |
+ | 'parse' オプションを使うことで {{ic|$XDG_CONFIG_HOME/psd/psd.conf}} に基づいて ''psd'' が何を行うのかを正確に表示することができます。次のように呼び出して下さい: |
+ | $ psd p |
||
− | $ profile-sync-daemon parse |
||
− | Profile-sync-daemon |
+ | Profile-sync-daemon v6.03 on Arch Linux. |
Systemd service is currently active. |
Systemd service is currently active. |
||
107行目: | 109行目: | ||
Overlayfs v23 is currently active. |
Overlayfs v23 is currently active. |
||
− | Psd will manage the following per / |
+ | Psd will manage the following per /home/facade/.config/psd/psd.conf settings: |
browser/psname: chromium/chromium |
browser/psname: chromium/chromium |
||
owner/group: facade/100 |
owner/group: facade/100 |
||
sync target: /home/facade/.config/chromium |
sync target: /home/facade/.config/chromium |
||
− | tmpfs dir: |
+ | tmpfs dir: /run/user/1000/facade-chromium |
profile size: 93M |
profile size: 93M |
||
overlayfs size: 39M |
overlayfs size: 39M |
||
122行目: | 124行目: | ||
owner/group: facade/100 |
owner/group: facade/100 |
||
sync target: /mnt/data/docs/facade/mozilla/firefox/f8cv8bfu.default |
sync target: /mnt/data/docs/facade/mozilla/firefox/f8cv8bfu.default |
||
− | tmpfs dir: |
+ | tmpfs dir: /run/user/1000/facade-firefox-f8cv8bfu.default |
− | Permissions are 755 on this profile. |
||
− | Recommend a setting of 700 for increased privacy! |
||
profile size: 145M |
profile size: 145M |
||
overlayfs size: 13M |
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 |
recovery dirs: none |
||
144行目: | 136行目: | ||
$ psd c |
$ psd c |
||
− | Profile-sync-daemon |
+ | Profile-sync-daemon v6.03 on Arch Linux. |
Deleting 2 crashrecovery dirs for profile /home/facade/.config/chromium |
Deleting 2 crashrecovery dirs for profile /home/facade/.config/chromium |
||
150行目: | 142行目: | ||
/home/facade/.config/chromium-backup-crashrecovery-20150119_112204 |
/home/facade/.config/chromium-backup-crashrecovery-20150119_112204 |
||
− | === psd |
+ | === psd の起動と停止 === |
+ | psd のバージョン 6.x シリーズのリリースから、公式でサポートされる init システムは systemd だけになりました。Psd には起動と停止を行うための systemd ユーザーサービスが付属しています (psd.service)。さらに、1時間毎に tmpfs からディスクに再同期させる resync-timer も含まれています。resync-timer は psd.service によって自動的に起動するため、あなたがタイマーを起動させる必要はありません。 |
||
− | 同期したり同期を解除するのに {{ic|/usr/bin/profile-sync-daemon}} を直接実行してはいけません。代わりにサービスファイルを使って下さい。 |
||
+ | systemd のユーザーモードの使い方がよくわからない場合、以下のコマンドで psd サービスを有効化できます: |
||
− | [[systemd]] の[[デーモン|サービス]]ファイルとタイマーが両方入っており、これらを使って ''psd'' を制御することができます。タイマーの役割は tmpfs をディスクにコピーバックさせることで、一時間に一度実行されます。タイマーは {{ic|psd.service}} によって勝手に起動します。 |
||
+ | $ systemctl --user [option] psd.service |
||
− | 起動時・シャットダウン時に実行するには {{ic|psd.service}} を[[systemd#ユニットを使う|起動・有効化]]してください ('''強く推奨''')。 |
||
+ | |||
+ | 次のオプションが利用できます: start stop enable disable status。 |
||
+ | |||
+ | ===サポートしているディストリビューション=== |
||
+ | |||
+ | psd は systemd サービスが付いているただの bash スクリプトなので、systemd が動作している Linux ならどこでも動作します。公式パッケージとして提供しているディストリビューションが数多くあり、psd をインストールする方法をユーザーがメンテナンスしている場合もあります。ソースから psd をビルドすることも可能です。利用できるパッケージやインストールの手順については公式ウェブサイトを見て下さい。 |
||
=== もっと頻繁に同期する (任意) === |
=== もっと頻繁に同期する (任意) === |
||
162行目: | 160行目: | ||
パッケージには一時間ごとに同期を行うタイマーが入っています。任意で、[[Systemd#ユニットファイルの編集|systemd ユニットを編集]]することでこの挙動を再定義することが可能です。以下の例は10分毎に同期させるようにタイマーを変更します: |
パッケージには一時間ごとに同期を行うタイマーが入っています。任意で、[[Systemd#ユニットファイルの編集|systemd ユニットを編集]]することでこの挙動を再定義することが可能です。以下の例は10分毎に同期させるようにタイマーを変更します: |
||
− | {{hc|/ |
+ | {{hc|~/.config/systemd/user/psd-resync.timer.d/frequency.conf|<nowiki> |
[Unit] |
[Unit] |
||
− | Description=Timer for Profile-sync-daemon |
+ | Description=Timer for Profile-sync-daemon |
+ | PartOf=psd.service |
||
[Timer] |
[Timer] |
||
+ | OnUnitActiveSec=10m |
||
− | # Empty value resets the list of timers |
||
− | OnUnitActiveSec= |
||
− | OnUnitActiveSec=10min |
||
</nowiki>}} |
</nowiki>}} |
||
196行目: | 193行目: | ||
== FAQ == |
== FAQ == |
||
− | === overlayfs とは |
+ | === overlayfs モードとは? === |
− | Overlayfs は Linux カーネル 3.18.0 でメインラインに取り込まれたシンプルなユニオンファイルシステムです。psd バージョン 5.54 から、overlayfs を使うことで psd の tmpfs 領域のメモリフットプリントを減らしたり、同期を高速化させることができるようになっています。オーバーレイマウントでは、プロファイル全体ではなく、変更が加えられたデータだけが書き出されるというところがミソです。overlayfs モードで実行した場合、psd がデフォルトで使用する同一の復帰機能も有効になります。Overlayfs モードは {{ic|/ |
+ | Overlayfs は Linux カーネル 3.18.0 でメインラインに取り込まれたシンプルなユニオンファイルシステムです。psd バージョン 5.54 から、overlayfs を使うことで psd の tmpfs 領域のメモリフットプリントを減らしたり、同期を高速化させることができるようになっています。オーバーレイマウントでは、プロファイル全体ではなく、変更が加えられたデータだけが書き出されるというところがミソです。overlayfs モードで実行した場合、psd がデフォルトで使用する同一の復帰機能も有効になります。Overlayfs モードは {{ic|$XDG_CONFIG_HOME/psd/psd.conf}} の {{ic|1=USE_OVERLAYFS="yes"}} という行をアンコメントしてデーモンを再起動することで有効にできます。 |
Linux カーネルで利用できる overlayfs にはディストロによって複数のバージョンが存在します。バージョン 22 以前ではモジュールは 'overlayfs' と呼ばれていましたが、新しいバージョン (23 以上) ではモジュールの名前は 'overlay' になっています ('fs' が取られた)。Psd はあなたの使用しているカーネルで利用できる overlayfs を自動的に検出します。 |
Linux カーネルで利用できる overlayfs にはディストロによって複数のバージョンが存在します。バージョン 22 以前ではモジュールは 'overlayfs' と呼ばれていましたが、新しいバージョン (23 以上) ではモジュールの名前は 'overlay' になっています ('fs' が取られた)。Psd はあなたの使用しているカーネルで利用できる overlayfs を自動的に検出します。 |
||
+ | psd のバージョン 6.05 から、overlayfs モードを利用するには {{ic|/usr/bin/psd-overlay-helper}} に (パスワードプロンプトが表示されない) sudo でアクセスできるようにするか、あるいはグローバルな sudo 権限が必要になりました。{{ic|/etc/sudoers}} に以下の行を設定することでユーザーに権限が与えられます。root で {{ic|/usr/bin/visudo}} を実行して追加してください: |
||
− | === overlay や overlayfs モジュールはどうやってロードすればいいか? === |
||
+ | |||
+ | foo ALL=(ALL) NOPASSWD: /usr/bin/psd-overlay-helper |
||
+ | |||
+ | 上のプレビューモードのセクションの例を見れば、overlayfs を使うことでどれくらいメモリの使用量が節約できているのかわかります。"overlayfs size" とプロファイルごとの "profile size" の合計を比較してください。プロファイルに書き込まれているデータの量によって数字は変わってきますが、基本的に overlayfs のサイズはプロファイルのサイズより小さくなるはずです。 |
||
+ | |||
+ | === /run/user/xxxx にプロファイルを乗せるのに大量のメモリが必要です。メモリの割り当てを変えることはできますか? === |
||
+ | {{ic|/run/user}} の容量は {{ic|/etc/systemd/logind.conf}} の RuntimeDirectorySize ディレクティブによって制御されるのが通常です (詳しくは {{ic|logind.conf}} の man ページを見て下さい)。デフォルトでは、物理メモリの 10% が使われますが、メモリの使用量を増やすことができます。tmpfs は実際に使用する分だけしか消費しません。許容できる最大限のサイズを指定してください。 |
||
+ | === overlayfs を有効にしたときに他のブラウザプロファイルディレクトリ "foo-back-ovfs" が作成されるのはなぜですか? === |
||
− | (root で) {{ic|/usr/bin/modprobe}} を使ってモジュールをロードすることができます。先に、'overlay' をロードしてみて、modprobe が失敗するようでしたら、'overlayfs' を使って下さい。modprobe を使ってモジュールをロードしても、次の起動時にはモジュールはロードされないので注意してください。起動時に自動的にモジュールをロードしたい場合、{{ic|/etc/modules-load.d/load_me.conf}} にモジュールを記述する[[カーネルモジュール#ロード|方法]]が推奨です (ファイルにはロードするモジュールの名前だけを書きます)。 |
||
+ | overlayfs は読み取り専用のベースコピー (いわゆる下層ディレクトリ) をプロファイルにマウントして、その上に新しいデータを管理することで機能します。読み取り専用ファイルシステムに再同期しないように、代わりにコピーが使われます。つまり overlayfs を使用することで、同期時間が高速になりメモリの使用量が減るのに対してホームディレクトリのディスク容量が使われるというトレードオフが成立しています。 |
||
=== システムがクラッシュして同期がされませんでした。どうすればいいですか? === |
=== システムがクラッシュして同期がされませんでした。どうすればいいですか? === |
||
210行目: | 215行目: | ||
運が良ければ、ブラウザプロファイルの"最新の問題がない"バックアップがファイルシステムに残っている可能性があります。{{ic|psd}} の再起動時に、プロファイルの tmpfs コピーのシンボリックリンクに問題がないか確認するチェックが行われます。問題がなかった場合、''psd'' は"最新の問題ない"バックアップのスナップショットを作成します。これは ''psd'' によってデータが失われないようにするためのサニティーチェックであり、データが消失した場合、他に原因があります。 |
運が良ければ、ブラウザプロファイルの"最新の問題がない"バックアップがファイルシステムに残っている可能性があります。{{ic|psd}} の再起動時に、プロファイルの tmpfs コピーのシンボリックリンクに問題がないか確認するチェックが行われます。問題がなかった場合、''psd'' は"最新の問題ない"バックアップのスナップショットを作成します。これは ''psd'' によってデータが失われないようにするためのサニティーチェックであり、データが消失した場合、他に原因があります。 |
||
− | {{Note|必要であれば、{{ic|/ |
+ | {{Note|必要であれば、{{ic|$XDG_CONFIG_HOME/psd/psd.conf}} で {{ic|USE_BACKUPS}} 変数をアンコメントして 'no' に設定することでスナップショット/バックアップ機能を完全に無効化できます。}} |
=== スナップショットはどこにありますか? === |
=== スナップショットはどこにありますか? === |
2015年12月30日 (水) 16:21時点における版
Profile-sync-daemonAUR (psd) はブラウザプロファイルを tmpfs で管理して定期的に物理ディスク (HDD/SSD) に同期させる、とても小さな擬似的なデーモンです。rsync でブラウザプロファイルの tmpfs のコピーとメディアのバックアップを同期させるという革新的な利用法によります。さらに、psd にはクラッシュからの復元機能が存在します。
目次
psd のメリット
- 透過的に利用できる
- 物理ドライブの損耗が減る
- 速度
プロファイルやブラウザキャッシュなどを tmpfs (RAM ディスク) に再配置して、ブラウザを使用するのに伴う I/O の猛襲の対象を物理ドライブから RAM に変更することにより、物理ドライブの消耗を抑えつつブラウザの速度や反応性を劇的に高められます。例えば、物理ディスクのアクセス時間はミリ秒単位なのに対してRAM のアクセス時間はナノ秒オーダーです。これは0の数が6個も違う、つまり1000000倍高速ということです。
セットアップとインストール
profile-sync-daemonAUR は AUR からダウンロードすることができます。他のパッケージと同じようにビルド・インストールしてください。
設定ファイルの編集
psd を初めて実行したときに、全ての設定が記述された $XDG_CONFIG_HOME/psd/psd.conf
が作成されます (以下、このファイルを設定ファイルと呼称します)。
$ psd First time running psd so please edit /home/facade/.config/psd/psd.conf to your liking and run again.
- 任意で overlayfs を利用することで同期を高速化させてメモリの使用量を減らすことができます。USE_OVERLAYFS 変数を設定してください。このオプションを使う場合、
/usr/bin/psd-overlay-helper
に sudo 権限が必要で、カーネルが overlayfs バージョン22以上に対応していなければなりません。この機能の詳細は下の FAQ を見て下さい。 - 任意で BROWSERS 行をアンコメントして tmpfs に同期するブラウザを指定することができます。BROWSERS がコメントアウトされている場合 (デフォルト)、サポートしているブラウザ全てのプロファイルが同期されます。
- 任意でクラッシュしたときに復帰するためのスナップショットを無効化することができます (非推奨)。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' オプションを使うことで $XDG_CONFIG_HOME/psd/psd.conf
に基づいて psd が何を行うのかを正確に表示することができます。次のように呼び出して下さい:
$ 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 のバージョン 6.x シリーズのリリースから、公式でサポートされる init システムは systemd だけになりました。Psd には起動と停止を行うための systemd ユーザーサービスが付属しています (psd.service)。さらに、1時間毎に tmpfs からディスクに再同期させる resync-timer も含まれています。resync-timer は psd.service によって自動的に起動するため、あなたがタイマーを起動させる必要はありません。
systemd のユーザーモードの使い方がよくわからない場合、以下のコマンドで psd サービスを有効化できます:
$ systemctl --user [option] psd.service
次のオプションが利用できます: start stop enable disable status。
サポートしているディストリビューション
psd は systemd サービスが付いているただの bash スクリプトなので、systemd が動作している Linux ならどこでも動作します。公式パッケージとして提供しているディストリビューションが数多くあり、psd をインストールする方法をユーザーがメンテナンスしている場合もあります。ソースから psd をビルドすることも可能です。利用できるパッケージやインストールの手順については公式ウェブサイトを見て下さい。
もっと頻繁に同期する (任意)
パッケージには一時間ごとに同期を行うタイマーが入っています。任意で、systemd ユニットを編集することでこの挙動を再定義することが可能です。以下の例は10分毎に同期させるようにタイマーを変更します:
~/.config/systemd/user/psd-resync.timer.d/frequency.conf
[Unit] Description=Timer for Profile-sync-daemon PartOf=psd.service [Timer] OnUnitActiveSec=10m
オプションについては 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 モードは $XDG_CONFIG_HOME/psd/psd.conf
の USE_OVERLAYFS="yes"
という行をアンコメントしてデーモンを再起動することで有効にできます。
Linux カーネルで利用できる overlayfs にはディストロによって複数のバージョンが存在します。バージョン 22 以前ではモジュールは 'overlayfs' と呼ばれていましたが、新しいバージョン (23 以上) ではモジュールの名前は 'overlay' になっています ('fs' が取られた)。Psd はあなたの使用しているカーネルで利用できる overlayfs を自動的に検出します。
psd のバージョン 6.05 から、overlayfs モードを利用するには /usr/bin/psd-overlay-helper
に (パスワードプロンプトが表示されない) sudo でアクセスできるようにするか、あるいはグローバルな sudo 権限が必要になりました。/etc/sudoers
に以下の行を設定することでユーザーに権限が与えられます。root で /usr/bin/visudo
を実行して追加してください:
foo ALL=(ALL) NOPASSWD: /usr/bin/psd-overlay-helper
上のプレビューモードのセクションの例を見れば、overlayfs を使うことでどれくらいメモリの使用量が節約できているのかわかります。"overlayfs size" とプロファイルごとの "profile size" の合計を比較してください。プロファイルに書き込まれているデータの量によって数字は変わってきますが、基本的に overlayfs のサイズはプロファイルのサイズより小さくなるはずです。
/run/user/xxxx にプロファイルを乗せるのに大量のメモリが必要です。メモリの割り当てを変えることはできますか?
/run/user
の容量は /etc/systemd/logind.conf
の RuntimeDirectorySize ディレクティブによって制御されるのが通常です (詳しくは logind.conf
の man ページを見て下さい)。デフォルトでは、物理メモリの 10% が使われますが、メモリの使用量を増やすことができます。tmpfs は実際に使用する分だけしか消費しません。許容できる最大限のサイズを指定してください。
overlayfs を有効にしたときに他のブラウザプロファイルディレクトリ "foo-back-ovfs" が作成されるのはなぜですか?
overlayfs は読み取り専用のベースコピー (いわゆる下層ディレクトリ) をプロファイルにマウントして、その上に新しいデータを管理することで機能します。読み取り専用ファイルシステムに再同期しないように、代わりにコピーが使われます。つまり overlayfs を使用することで、同期時間が高速になりメモリの使用量が減るのに対してホームディレクトリのディスク容量が使われるというトレードオフが成立しています。
システムがクラッシュして同期がされませんでした。どうすればいいですか?
運が良ければ、ブラウザプロファイルの"最新の問題がない"バックアップがファイルシステムに残っている可能性があります。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 ディストロでも動作します。それぞれのディストリビューションでパッケージが用意されていたり、ユーザーが自分でインストールできるように方法が用意されています。インストール方法は 公式ウェブサイト を見て下さい。