windows updateしたらデュアルブート側のubuntuが半端にしか起動しなくなった

windows updateしたらデュアルブート側のubuntuが半端にしか起動しなくなって半泣きだったけど、ログに従ってwindowsの高速スタートアップをoffにしたら起動するようになってよかった。

windowsの高速スタートアップはoffにしていたが、大きめのwindows updateでなぜか勝手にonになってしまい、windowsのなんかフラグがついてて、ディスクのマウントに失敗するようになってしまい、cuiでrootでしか起動できなくなってしまった。はじめgrub2あたり壊れたかなーって使い方読んだり意味もわからずwindows側でubuntuのuefiの何かの設定をonにするおまじない打ったりしてだめだった。
けどちょっと考えたら、grub壊れてたらcuiのrootだろうとなんだろうとubuntuが起動しなそうなわけで、そこじゃないのかなーと思えてきた。そして、画面に出ている通り(!!) journalctlコマンドでログを眺めてたら、windowsのなんかフラグで汚れててディスクのマウントが出来ねーって出ていたので、windows側に戻って、高速スタートアップをoffにしたら、無事ubuntuが起動した。よかった。よかった。

ぐぐるのはスマホで情報探してたけど、スペアないとつらいな…

osx to ubuntu (1password to keepass)

メインマシンをubuntuに引っ越している

dropboxはubuntu版があったので、それでさくっと移動できた。
1passwordはkeepass (keepassx, keepass2android)に引っ越した。

1password to keepass

1passwordがつらい。
ubuntu版はないため、wineでwindows版を動かすらしい。
えーー
気の迷いでwineインストールしたらi386なライブラリがごっそり入ったのでヒエ~ッとなってwine消した。
dockerでwine動かすエントリーをいろいろ見てた。
busybox的なので動かんかな、と思ったら
Alpine Linux で Docker イメージを劇的に小さくする – Qiita
alpineというのがあるようだ。しかも、これでwineはこのディストリのapkとやらのリストに入っているので、楽々インストールが出来る。
ググるといくつかコレを使ったwineがdocker pullできるやつがある。
って道に行きかけたけど、1passwordってずっと常駐するやつだし、docker運用もそれはそれで厳しそうだなという気がすごくする。

なので、linuxで動くkeepassに引っ越すことにした。
1password vs lastpass しか聞いたことなかったんだけど、keepassというオープンソースのがあるらしい。
1passwordがubnutuで動けばそれ買うんだけどな。

既存の1passwordのデータをkeepassのフォーマットにコンバート、するのがだいぶつらい。

知らなかったkeepass知識

windows keepassはv1というのが長い間続いていた。
それがmacやlinuxで動かすにはmonoとかxquartzとかいるので、使いづらくUIもダメになるので、keepassxというのがmacで主流になっていた。
windows keepass v2というメジャーバージョンアップが出ていたが、keepassxはずっとv1のフォーマットしか読めなかった。
keepassx が2015/12 にようやくv2フォーマットが読めるようになり, keepassx v0.4 -> v2 になった。

import (or convert)

で、import(convert)はというと、ほぼkeepass v2にしかない。keepassx v2はkeepass v1のフォーマットのインポートしか出来ない。
ググるといろいろ変換ツールはあるんだけど、試してみたらどれもkeepassx v2で読めるもしくはimport出来るフォーマットにならない。
monoとxquartzいれて、keepass 2.23というちょい古バージョンを動かそうとしたけど、起動でコケて起動しない。
KeePass 2.x for Mac OS X – KeePass http://keepass.info//download/p_macosx/index.html
EXC_BAD_ACCESS (SIGABRT)になってしまう。

いろいろ探した結果、どれもダメで mac上にwineでkeepass v2.32を動かして、importすることにした。
ちょっと何言ってるかわからない。
macは捨てていく環境だしもう汚れてもいっか的な。wineとwinetricksインストールがめっちゃ長くて、そういえば古いwindows環境あったなと思いだした。
windows環境引っ張り出してきて、そこにusbメモリで1passwordのtsvファイルを運んでいって、コンバート、というほうがよかったか。
と思ったのでwindows環境でやってみた。これでよさそう。
よさそう、とおもいきや title, username, password, url, note しか移行できなかった。
複数パスワードを持っているものなど手で移行するのかー

ってこれ移行前に1password側でやればいいやんけ。そうしよう。
tsvを作って、usbメモリでwindowsに運ぶ。windowsのkeepass v2.32で、general csv import でインポート、usbメモリで運んでmac側のkeepassxで読めた。
keepass用データベースが出来ればこっちのもので、ubuntu側のkeepassxは普通に読めて終わり。

android

keepass2android offline と dropsyncを組み合わせるといいと読んだので、その組み合わせ。
androidのdropboxはsyncするわけじゃなく、ダウンロードしてくるアプリになっている。
dropsyncは無料で1ディレクトリだけ定期syncできる。15minとか1hourとか間隔で。
なので、syncするディレクトリを作って、そこにkeepass用データベースを投げ込む。
はじめだけ、ファイラーでsyncしているディレクトリに行って、それをkeepass2androidで開くようにする必要がある。
1passwordと同じようにキーボードになってくれるので、そこで入力すればok。
あと、副次的に、android側はいままでreadonlyだったけど、双方向にパスワードも作れるようになった。えらい。

そんなわけでkeepassに移行完了した。
もうちょっとはやくいろいろできていれば、会社用に自腹で+1アカウント買った1password要らなかったなあ。6000円。

tig, LC_CTYPE=”UTF-8″, mac, ubuntu

macからubuntuにログインした時にlocaleでエラー出てこの設定offをした
Set locale environment variables on startup
Mac から Ubuntu に ssh ログインするとなんかロケール云々で怒られるやつ – 月刊 ボルシチは食べ物です。
ubuntuはうまくいくようになった。

そしたらlocalのtigの表示がぶっ壊れてああああってなってる。
tig-broken

bashrcでexport LC_CTYPE=en_US.UTF-8 しといた。

Set locale environment variables on startupはonにしておいて
ubuntuのAcceptEnv LANG切るのが筋がいい気もするなあ。人の環境によって違う動きになるのがリモートのサーバーにあるのってどうなの。