設定したことを忘れないように書いてあります。
ということでマルタ島に行ってきた。e-kit自体は使えたが、あっというまにチャージを使い切ってしました。 ホテルにはネットワークがあり、屋外ではオフラインマップが使えれば十分だったので、再チャージはしなかった。
去年の台湾に続き、また海外旅行に行く。 台湾の時は台湾大哥大のSIMを空港で入手したのだが、今回は日程の関係上現地SIMの入手は難しそう。 ということで、bwiというところから、ekit passort SIMをオンライン購入。 ebayで買えばもっと安いのだが、日本には送ってくれないようだ。
海外に持っていく予定の端末は、日本ではすでに解約したeMonster。アクティベーションは添付の資料で簡単にできたのだが、SIMを入れても認識しない。 まぁeMonsterは国内1700MHz帯しか対応していないので、eMobileがローミングキャリアでない以上、しかたない。現地で動くことを期待して終了。
海外で利用したいのは音声よりもデータ通信なので、次はAPNの設定。 設定方法を教えているページに行って、書いてあるとおり電話番号を入れろといわれてなにも起こらない。 間違った電話番号をいれるとエラーになるから、番号自体は間違っていない模様。調べてみると、設定方法はどうやらSMSで設定が送られてくるよう。 現在電波を拾わない状況なのでこれではわからない。 現地に行けば、SMSが送られてくるだろうが、そのとき修正では面倒だ。 いろいろ探したらデータ設定方法のページを発見できたので、事前設定することができた。 うまくいくかは、実際にいってみないとわからないが。
次に、電話をかける時の確認。 これも電波をつかんでいないのでエア確認。 このSIMはかけるときはコールバックされるため、うまくかからない場合は電話機のコールバックモードを変更せよとなっている。 が、emonsterを使っていた時にはそんなものは見たことがない。 いろいろいじったら、[スタート]>[プログラム]の配下に[STKサービス]を発見。 ここにコールバックの設定がいくつかあるのでこれをいじればOKなのかも。
東北関東大震災の影響で停電があり、サーバも落ちた。 再起動してみたらCyrus-imapがたちあがらない。 前回起動スクリプトを64ビット対応にしたが、直しもれれがあったようだ。
Importing cyrus-imapd databasesて失敗していたので、起動スクリプトを確認。すると、logを/var/lib/imap/rpm/db_import.logに書き出しているようなので、中身を見ると以下の状態。
cvt_cyrusdb_all version: 1.2.1.vl1 db_checkpoint: checkpoint begin: Sun Mar 13 18:24:14 2011 db_checkpoint: checkpoint complete: Sun Mar 13 18:24:14 2011 Finding last valid log LSN: file: 3 offset 1109060 Recovery starting from [3][1108968] Recovery complete at Sun Mar 13 18:24:15 2011 Maximum transaction ID 80011248 Recovery checkpoint [3][1109060] /usr/lib64/cyrus-imapd/cvt_cyrusdb_all: line 214: /usr/lib/cyrus-imapd/cvt_cyrusdb: そのようなファイルやディレクトリはありません ERROR: unable to convert /var/lib/imap/deliver.db from berkeley to skiplist /usr/lib64/cyrus-imapd/cvt_cyrusdb_all: line 214: /usr/lib/cyrus-imapd/cvt_cyrusdb: そのようなファイルやディレクトリはありません ERROR: unable to convert /var/lib/imap/tls_sessions.db from berkeley to skiplist /usr/lib64/cyrus-imapd/cvt_cyrusdb_all: line 317: /usr/lib/cyrus-imapd/masssievec: そのようなファイルやディレクトリはありませんということで、/usr/lib64/cyrus-imapd/cvt_cyrusdb_allを修正。 しかし64ビット環境でみんな使っていないのか、それとも昔からのものをアップデートしながら使っているからおかしいのか。
--- cvt_cyrusdb_all.20110313 2010-01-03 19:51:33.000000000 +0900 +++ cvt_cyrusdb_all 2011-03-13 18:31:30.000000000 +0900 @@ -146,7 +146,7 @@ # where to find files and directories data_dir=/usr/share/cyrus-imapd/rpm -lib_dir=/usr/lib/cyrus-imapd +lib_dir=/usr/lib64/cyrus-imapd system_magic=$(file --version | awk '/magic file/ {print $4}') cyrus_magic=${data_dir}/magic cvt_cyrusdb=${lib_dir}/cvt_cyrusdb
Emobileからあまりに新製品が出ないので、IS02にMNPしてしまった。
残ったEmonsterは、TeracrossorとGPS Logger専用マシンとする予定だったが、その前にMicroSDでandroid化してみることとした。 android化は、ここを参考にした。 インストールにおいてしたことは、そののページの通りだが、英語ページでもありインストール手法も一応書き残しておく。
事前準備として、PC側にEmonsterで使用するMicroSDカードを準備し、FAT32でフォーマットしておく。
次に設定ファイルのダウンロードだが、ここから、haretinstall.zipを、 こちらからは [ DOWNLOAD Eclair polymod 2.1g Dark-Themed for SD install or NAND ]または[ DOWNLOAD Eclair polymod 2.1g Dark-Themed for SD install or NAND ]のどちからと、 [ DOWNLOAD OptionalApps.zip ] をダウンロードする。
ダウンロードが完了したら、MicroSDカードのルートに、haretinstall.zipのandbootディレクトリごとコピーする。 そのandbootディレクトリに、polymod_2.1g.zip中のandroidinstall.tgzも保存する。 また、OptionalApps.zipのファイルは、SDカードに'AndroidApps'ディレクトリを作成し、複製する。 次に、andbootのdefalt.txtとdefalt-polarisを削除、defalt-kaiser.txtをdefalt.txtにリネームする。 defalt.txtを開き、「set KERNEL zImage」の行を「set KERNEL zImage-eclair」に変更する。 (defalt.txtは改行コードがlfのみなので、メモ帳では開けない。terapadやk2editorなどを利用して編集)。
準備が出来たら、TODAYの起動アプリやスタートアップのソフトを削除し、ソフトリセット。これはしなくてもよいがメモリ不足になることがままあるのでやっておいたほうがよいみたい。 再起動されたら、explorerを起動し、メモリーカード -> andboot のディレクトリを表示、haret.exeを起動する。
この後は、ここの画面を見る通り。 haretのウインドウで、runをクリック。 プログレスバーが全て進み、テキスト画面になったら、D-PADボタン(カーソルキー真ん中のボタン)を連打する。 メニュー画面が出たらインストール。データが全部消えるがOKかというメッセージが出るので、OKをおせばインストールが始まる。 インストールが終了すると、再びメニュー画面になるので、quitをすると、android osが立ち上がる。
このあと、ハングアップしたかと思うほど遅く、OSが立ち上がった後スクリーンセーバーで待たされたりするが、いが気長に待つこと。 セットアップになっても、遅くて、途中でダイアログが出て強制終了などのメッセージが出たりするが、ここもひたすら待機。
この遅さについては、先程のドキュメントに、
「#2 WHY SO SLOW?!?!?」
「Becasue of the Media Scanner. You can stop the Media scanner by opening terminal on your phone and typing the following 2 commands」
となっているのでその通りに、
su killall mediaserverなどとやってみても変わらなかった。
当初は、インストール後の起動時に
V O G U E A N D R O I D [some number] init: Unable to open persistant property directory /data/property error: 2のメッセージが出たが、こちらは最初、ファイル類をSDカードのルートに入れていたのを/andbootにしたら問題解決した。
通常のwebは文字化けをしないが、.phpのアプリケーションが文字化けをする。 AddDefaultCharsetが指定されているせいかとおもったら、ちゃんとコメントアウトされていた。
調べたところ、php.iniのdefault-charsetが設定されていると、content-typeとして送出される仕様になったと判明。 default-charsetは内部キャラクターセットだけではないのだね。
Cyrus-imapをインストール。ディストリビューションがvineのままなので、設定は、前回 と同じようにやったのだが、忘れていたことと変わっていることがあってはまった。
まず、sasl-authd が -aオプションで起動されているのは覚えていたが、このため、cyradm -u cyrus localとしたときのアカウントもunix accountに影響することを忘れていて、 saslpasswd2で作成したアカウントでログオンできずはまった。 普通にpasswd cyrusで設定したパスワードでログオンする必要があった。
次に、/etc/init.d/cyrus-imapd startで起動しない。理由は、/usr/lib64にアプリがあるのに、/usr/libを指定しているため。 下記のように修正して起動するようになった。
--- cyrus-imapd.init 2006-03-01 05:04:01.000000000 +0900 +++ /etc/init.d/cyrus-imapd 2010-01-03 19:08:48.000000000 +0900 @@ -57,7 +57,7 @@ # where to find files and directories CONFIGDIRECTORY=$(get_config configdirectory /var/lib/imap) -CYRUSMASTER=/usr/lib/cyrus-imapd/cyrus-master +CYRUSMASTER=/usr/lib64/cyrus-imapd/cyrus-master CYRUS_PROC_NAME=$(basename $CYRUSMASTER) ALWAYS_CONVERT=1 @@ -81,7 +81,7 @@ if [ $QUICK -eq 0 ]; then echo -n $"Importing $BASENAME databases: " cd $CONFIGDIRECTORY - $RUNUSER - cyrus -c "umask 166 ; /usr/lib/cyrus-imapd/cvt_cyrusdb_all > ${CONFIGDIRECTORY}/rpm/db_import.log 2>&1" < /dev/null + $RUNUSER - cyrus -c "umask 166 ; /usr/lib64/cyrus-imapd/cvt_cyrusdb_all > ${CONFIGDIRECTORY}/rpm/db_import.log 2>&1" < /dev/null RETVAL=$? if [ $RETVAL -eq 0 ]; then success $"$BASENAME importing databases" @@ -110,7 +110,7 @@ echo echo -n $"Exporting $BASENAME databases: " cd $CONFIGDIRECTORY - $RUNUSER - cyrus -c "umask 166 ; /usr/lib/cyrus-imapd/cvt_cyrusdb_all export > ${CONFIGDIRECTORY}/rpm/db_export.log 2>&1" < /dev/null + $RUNUSER - cyrus -c "umask 166 ; /usr/lib64/cyrus-imapd/cvt_cyrusdb_all export > ${CONFIGDIRECTORY}/rpm/db_export.log 2>&1" < /dev/null RETVAL2=$? if [ $RETVAL2 -eq 0 ]; then success $"$BASENAME exporting databases"さらに、poxtfixとの連携ではまる。前回、lmtp経由でやったのだが、同様な設定では
master[23982]: fatal: master_spawn: exec /usr/lib64/postfix/lmtp: No such file or directory postfix/master[23976]: warning: process /usr/lib64/postfix/lmtp pid 23982 exit status 1 postfix/master[23976]: warning: /usr/lib64/postfix/lmtp: bad command startup -- throttlingとなってうまく引き渡せない。/usr/lib64/postfixにはlmtpがないので当然なのだが、設定を変更する方法がわからない。 しかたがないので、unix domain socketはあきらめて、cyrusのdeliver経由で使えるように、/etc/postfix/main.cfと/etc/postfix/master.cfを以下のように変更した。
#main.cf mailbox_transport = cyrus fallback_transport = cyrus
#master.cf #lmtp unix - - n - - lmtp ・ ・ ・ # Cyrus 2.1.5 (Amos Gouaux) # Also specify in main.cf: cyrus_destination_recipient_limit=1 # cyrus unix - n n - - pipe user=cyrus argv=/usr/lib64/cyrus-imapd/deliver -e -r ${sender} -m ${extension} ${user}とした。これでとりあえずメールができるようになった。