Chromiumデータ移行
ラズパイ3B+から4Bへ。
目的
Raspberry Pi 3B+からPi4BへChromiumのデータをコピーしたい。
Machine | Raspbian | Chromium | |
---|---|---|---|
From | Pi3B+ | Stretch | 72.0.3626.121 |
To | Pi4B | Buster | 74.0.3729.157 |
方針
Chromiumのデータ同期は絶対しない。ローカル内でのみデータ通信する。
自己漏洩
Chromiumの同期とは
Chromiumのデータ同期は、パスワードやブックマークなどをGoogleサーバに預けることで別マシンと共有できる機能だと思う。使ったこと無いからよく知らない。
同期する必要性ゼロ
自分が持つ別マシンにコピーしたいだけなのに、なぜ第三者のサーバにデータを預ける必要がある?
第三者にデータを渡す必要など皆無。むしろ安全性を考えたら渡すべきではない。対象となる自分のマシン間・ローカルネットワーク内でのみ通信すべき。
自己漏洩
同期してGoogleサーバに預けることは、自分からパスワードやブックマークなどを漏洩させる行為である。
Googleはこれまで何度も個人情報の漏洩などを犯してニュースになっている。Googleに限らず個人情報が売買されていることも常識となった。なにより、GAFAと名高い悪代官、世界の覇者であらせられる天下のGoogle様である。
こんな世の中で、そんな相手に、自分のパスワードなどが含まれたデータを預けるだって? 死ぬ気か。私は私の個人情報を勝手に売り買いされたくないので絶対に嫌だ。
Chromiumデータ移行
1. プロファイル
1-1. プロファイルの所在を調べる
デフォルトのプロファイルはDefault
という名前のはず。
~/.config/chromium/Default
自作のプロファイルはProfile N
という名前のはず。N
は1
から始まる整数値。
~/.config/chromium/Profile 1
1-2. Pi3B+のプロファイルを調べる
python3 -m json.tool "$HOME/.config/chromium/Local State" "/tmp/work/Local_State_format"
vi "/tmp/work/Local_State_format"
/
,Profile
,Enterキーで文字列検索すると、以下のようにヒット。プロファイル情報がJSON形式で記録されている。
"Profile 1": { "active_time": 1575454455.482528, "avatar_icon": "chrome://theme/IDR_PROFILE_AVATAR_0", "background_apps": false, "gaia_id": "", "is_ephemeral": false, "is_omitted_from_profile_list": false, "is_using_default_avatar": true, "is_using_default_name": false, "local_auth_credentials": "", "managed_user_id": "", "name": "ユーザ作成時につけた名前", "user_name": "" }, ...
これでProfile N
の番号とname
(ユーザ作成時につけた名前)とが紐づく。
私の場合、プロファイルをデフォルト以外に4つ作っていたので、以下のようになった。
プロファイルディレクトリ名 | 表示プロファイル名 |
---|---|
Default |
Default |
Profile 1 |
AAA |
Profile 2 |
BBB |
Profile 3 |
CCC |
Profile 4 |
DDD |
1-3. Pi4Bのプロファイルを作成しておく
Default
は既存なのでいいが、Profile N
は存在しない。
これをPi3B+からそのままコピーしても認識されない。原因不明。
仕方ないので、先にPi4BのChromiumでユーザを4つ作成してから、Profile N
ディレクトリをコピーする。
- Pi4Bを起動する
- Chromiumを起動する
- Chromiumの右上にあるユーザアイコンをクリックする
ユーザを管理
をクリックするユーザを追加
をクリックする- 以下のように調べたとおりのユーザ名を入力する
回目 | ディレクトリ名 | プロファイル名 |
---|---|---|
1 | Profile 1 |
AAA |
2 | Profile 2 |
BBB |
3 | Profile 3 |
CCC |
4 | Profile 4 |
DDD |
順番と名前を一致させて作る。別に一致させる必要はないかもしれないが、Pi3B+のときと同じにしたほうがわかりやすいはず。
これでPi4Bの以下パスが作成されたはず。
~/.config/chromium/Default ~/.config/chromium/Profile 1 ~/.config/chromium/Profile 2 ~/.config/chromium/Profile 3 ~/.config/chromium/Profile 4
これをPi3B+のものに上書きするのだが、念の為Pi4Bで作ったものをバックアップしておく。
cd ~/.config/chromium mv Default Default_backup mv "Profile 1" "Profile 1_backup" mv "Profile 2" "Profile 2_backup" mv "Profile 3" "Profile 3_backup" mv "Profile 4" "Profile 4_backup"
1-4. Pi3B+のデータをPi4Bへコピーする
3B+にあるDefault
を含むプロファイルをPi4Bへコピーする。
rsync -auvzP -e ssh $HOME/.config/chromium/Default pi@192.168.11.10:$HOME/.config/chromium rsync -auvzP -e ssh "$HOME/.config/chromium/Profile 1" pi@192.168.11.10:$HOME/.config/chromium rsync -auvzP -e ssh "$HOME/.config/chromium/Profile 2" pi@192.168.11.10:$HOME/.config/chromium rsync -auvzP -e ssh "$HOME/.config/chromium/Profile 3" pi@192.168.11.10:$HOME/.config/chromium rsync -auvzP -e ssh "$HOME/.config/chromium/Profile 4" pi@192.168.11.10:$HOME/.config/chromium
- 上記コマンドはPi3B+の端末で実行したものとする(Pi3B+がローカル。Pi4Bがリモート)
- Pi3B+, Pi4Bともにホームは
/home/pi
とする - Pi4Bのユーザ名は
pi
とする - Pi4BのIPは
192.168.11.10
とする
Pi4B側のプロファイルを確認する。
cd ~/.config/chromium ls
以下のディレクトリが存在するはず。
Default Default_backup Profile 1 Profile 1_backup Profile 2 Profile 2_backup Profile 3 Profile 3_backup Profile 4 Profile 4_backup
2. パスワード
2-1. エクスポートする
以下を全プロファイル分だけやる。
- Pi3B+のChromiumを起動する
- プロファイルを選択する
- URL欄に以下を入力してEnterキー押下する
chrome://settings/passwords
保存したパスワード
の右側にある:
みたいなアイコンをクリックするエクスポート
ボタンを押す- 出力パスを任意に指定する
- パスワードがCSV形式で出力される
CSVファイルをPi4Bへコピーする。
rsync -auvzP -e ssh /tmp/default_pw.csv pi@192.168.11.10:/tmp rsync -auvzP -e ssh /tmp/profile1_pw.csv pi@192.168.11.10:/tmp rsync -auvzP -e ssh /tmp/profile2_pw.csv pi@192.168.11.10:/tmp rsync -auvzP -e ssh /tmp/profile3_pw.csv pi@192.168.11.10:/tmp rsync -auvzP -e ssh /tmp/profile4_pw.csv pi@192.168.11.10:/tmp
プロファイル名と区別がつくようなファイル名にしておくこと。
2-2. インポートする
以下を全プロファイル分だけやる。
- Pi34のChromiumを起動する
- プロファイルを選択する
- URL欄に以下を入力してEnterキー押下する
chrome://flags/#PasswordImport
Enabled
- URL欄に以下を入力してEnterキー押下する
chrome://settings/passwords
保存したパスワード
の右側にある:
みたいなアイコンをクリックするインポート
ボタンを押す- CSVファイルを選ぶ
- インポート完了
完了したらインポート機能を無効化する。
- URL欄に以下を入力してEnterキー押下する
chrome://flags/#PasswordImport
Disabled
もしくは以下で全フラグをデフォルトに戻す。
- URL欄に以下を入力してEnterキー押下する
chrome://flags
画面右側にあるすべてデフォルトに戻す(Reset all to default)
ボタンを押下する。
上記を全プロファイル分だけやる。
所感
超面倒くさい。Googleが暗に同期させて個人情報を搾取しようと誘導しているのだろう。
やらせはせんよ。暴君には絶対に屈しない。強者へ忖度し同調したら身ぐるみ剥がされてしまう。ワシは騙されんぞ!
でも楽したいなぁ。
対象環境
- Raspbierry pi 3 Model B+
- Raspbian stretch 9.0 2018-11-13
- bash 4.4.12(1)-release
$ uname -a Linux raspberrypi 4.19.42-v7+ #1218 SMP Tue May 14 00:48:17 BST 2019 armv7l GNU/Linux
前回まで
ハード。
- Raspberry Pi 4B (4GB) を2個予約した(KSY先行予約販売)
- Raspberry Pi 4B 届いた! 開封の儀
- Raspberry Pi 4B ヒートシンク取付
- Raspberry Pi 4B ケース装着
- HDMIまちがえて買ってた……(type A, C, D の罠)
ソフト。
- RPI4B Raspbian Buster USB boot 未対応……
- Raspbian Buster 2019-09-26 インストール
- Raspbian Buster 2019-09-26 ダウンロード
- Raspbian Buster 2019-09-26 HDMI設定について調べた
- Raspbian Buster 2019-09-26 インストール前の設定(Wi-Fi)
設定。
- Raspbian Buster ヘッドレス 初期設定 できないか調べた
- Raspberry Pi 4B でSSHログインできた
- Raspberry Pi 4B 初期設定(ヘッドレス)
- Raspberry Pi 4B SDブート+USBルート(≒USB boot)に成功
- VNCからRaspbian Busterへログインする方法を調べる
- VNCからRPI4B Raspbian Busterを初期セットアップする
- VNCからRPI4B Raspbian Busterをセットアップする
- Raspberry Pi 4B に HDMIケーブル A-D + 変換キャップ type A-C でディスプレイ表示する
- Raspberry Pi 4Bのハードウェア情報を表示する(cat /proc/cpuinfo)
- rsync+sshでマシン間ファイルコピーする
企業。