トップ «前の日(09-15) 最新 次の日(09-17)» 追記

*Messages*

Search

書いてる人: しまだみつのぶ (aka. simm, saica)

最新情報URL: https://gouketsu.net/simm/d/

"8024402C"でたどり着かれた方はこちら: 「壁の内側からWindowsUpdateに失敗する


2003年09月16日 (火)

1 [zaurus] SDカード死亡

突然のハングアップ

会社からの帰宅中, メモ書きをしていると, 突然ハングアップした. 仕方ないのでリセットをかけてみたが, Emacsが動いてくれない.

いろいろ確認したところ, どうやら, SDカードにインストールしてあるものが全滅らしい (T_T)

とりあえずは帰宅するまでSDカードはアンマウントして放置し, 帰宅後PCでSDの内容吸い出しを試みることに.

データ吸い出し

まずは PC の Linux 環境でファイルシステムを dd で吸い出そうとしたが, I/O error がでて, 失敗.

となると, ディレクトリツリーをコピーするしかなさそうなので, tar で吸い出す. コンソールを見る限りでは, どうやら, 一部ファイルが消失している模様.

ぱっと気付いたのは *Messages* の原稿 *1 数日分で, これはサーバ側のデータから蘇生させることができ, 事無きを得る. 今のところ, 他に消失したファイルは確認できていないが, ここ数日の間に書き換えた内容に関しては, 消失した分は *Messages* の原稿だけのようなので, 復旧不能の事態だけは避けられた模様.

フォーマット

まずは SD Formatter でのフォーマットを試みる. が, しかし, フォーマットできない. ロックをかけているわけでもないのに, 「読み込み専用です」と返ってくる.

仕方ないので Windows の右クリックメニューから「フォーマット」を選択してみたところ, 最初は一見うまく動いているようにみえるものの, 最後に「失敗しました」と返ってくる.

どうも埒があきそうにないので, PC の Linux でパーティションを切り, mkfs してみたところ, エラーなく返ってきた. ここで, 先程吸い出したツリーを書き戻したところ, これもエラーなく終了. これはいけそう.

そこで, 書き戻したSDカードをZaurusに挿し, 中身を確認したところ, 書き戻せてない (T_T) 書いたはずのデータのうち, 一部しか書き戻せてないようだ.

結論

どうやらSDカード自体がやられたっぽい. 購入時, 念のため延長保証をかけておいたのだが, 役に立つときがやってきたようだ. 明日は定時退社できるので, 持ち込むことにするか.

仮環境急遽構築

修理になってなかなか返ってこない事態を想定し, 仮に使える環境を構築. 元のSDカードは256MBのものなのだが, Zaurus環境として使用している部分は訳80MB程度. うち, QtPalmtop如何が約60MBのようなので,

  • QtPalmtop以下: ちょうど余っていたSDカードに避難
  • それ以外: 本体メモリに避難

させることに.

まず本体メモリに, QtPalmtop以外をコピー. 問題なく終了.

次に, QtPalmtop以下を64MBのSDカードに書き込む. しかし, 容量オーバー. 仕方ないので,

  1. SDカードをext2でフォーマット
  2. 一部ディレクトリ以下を本体メモリにコピー
  3. SDカード上のQtPalmtopディレクトリから, 本体メモリにコピーした一部ディレクトリに向け, シンボリックリンクを作成

の手順でしのぐことに.

*1 1日1ファイルで管理してます

2 [rail] 乗車車両 (9/16)

出勤

Mi16+?(6416) → FL16(8915) → VE37+L07(8307)

帰宅: 天理駅まで徒歩

L87(8087) → ?+VE64(1364) → MT21(6721)


2004年09月16日 (木)

1 [rail] 乗車車両 (2004-09-16)

出勤

L82(8582) → B70+B79(8579)

帰宅: 天理駅まで徒歩

VL33(1033) → X60(8110)


2005年09月16日 (金)

1 [rail] 乗車車両 (2005-09-16)

出勤

L82(8582) → VE74+L03(8303)

帰宅: 天理駅まで徒歩

VL35(1035) → X52(8102)


2006年09月16日 (土)

1 今月3回目の

無鉄砲。ただし、とんこつは今回が今月初。

待合室らしきものができていた。入店待ちシステムも、行列から名前呼び出し型に変更されていた*1

先週までのカレー祭り状態からは解放されたのか、普段どおりの手際よさに戻っていて、ひと安心。

*1 どうやら混乱があったらしく、また行列に戻ったという話もちらほら。

2 [comp] IMAP4 via SSL

普段のメール環境はgouketsu.netで動いているSMTPとIMAP4を用いているのだが、ここ2年程は、sshで掘ったトンネル経由でメールの読み書きを行っていた。このままでもとくに不自由はなかったのだが、最近状況が一変。W-ZERO3[es]なんてアイテムを入手したからには、[es]からもIMAP4経由でメールの読み書きができるようにしたい。

だた、やはり、パスワードを平文で流すのは避けたい。ということで、gouketsu.netのIMAP4サーバをSSL化することに。

なお、以下の例は、Debian GNU/Linux を用い、IMAPサーバはdovecotを用いるものとする。

オレオレ認証局を作成

本格的にするとなれば、どこかちゃんとしたところから認証してもらう必要があるのだろうが、個人メールのやりとりだけできれば十分なので、今回はオレオレ認証局で認証した証明書を使う。そこで、まずはオレオレ認証局を作成する。

まずは、シェルで以下の操作を行う。

% sudo su
# apt-get install openssl
# cd /etc/ssl
# /usr/lib/ssl/misc/CA.sh -newca

ここで、いろいろ入力を求められる。

CA certificate filename (or enter to create)

ここは何も入力せずにEnter押下。

Making CA certificate ...
Generating a 1024 bit RSA private key
.++++++
.........................................................++++++
writing new private key to './demoCA/private/./cakey.pem'
Enter PEM pass phrase:

ここは何か適当にパスフレーズ。

Verifying - Enter PEM pass phrase:

もう一度パスフレーズ。

-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:

日本の場合は"JP"。

State or Province Name (full name) [Some-State]:

都道府県名を入れておけばいい*1。"Nara"とした。

Locality Name (eg, city) []:

市町村名を入れておけばいい*2。"Kashihara"とした。

Organization Name (eg, company) [Internet Widgits Pty Ltd]:

適当に。"gouketsu.net"とした。

Organizational Unit Name (eg, section) []:

何も入力せずEnter押下。

Common Name (eg, YOUR name) []:

これも適当に"gouketsu.net"とした。

Email Address []:

これも適当にメールアドレスを入力しておく。ただし人様に迷惑がかかるようなことだけはないように。

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:

何も入力せずEnter押下。

An optional company name []:

何も入力せずEnter押下。

Using configuration from /usr/lib/ssl/openssl.cnf
Enter pass phrase for ./demoCA/private/./cakey.pem:

最初に入力したパスフレーズを入力。あとは、

Check that the request matches the signature
Signature ok
Certificate Details:
        Serial Number: 2 (0x2)
        Validity
            Not Before: Sep 19 17:27:14 2006 GMT
            Not After : Sep 18 17:27:14 2009 GMT
        Subject:
            countryName               = JP
            stateOrProvinceName       = Nara
            organizationName          = gouketsu.net
            commonName                = gouketsu.net
            emailAddress              = ********@gouketsu.net
        X509v3 extensions:
            X509v3 Basic Constraints:
                CA:FALSE
            Netscape Cert Type:
                SSL Server
            Netscape Comment:
                OpenSSL Generated Certificate
            X509v3 Subject Key Identifier:
                 **:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**
            X509v3 Authority Key Identifier:
                keyid:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**

Certificate is to be certified until Sep 18 17:27:14 2009 GMT (1095 days)

Write out database with 1 new entries
Data Base Updated

とメッセージ出力があり、シェルに戻る。 あとは、サーバ証明書を作成。

# openssl x509 -in ./demoCA/cacert.pem -out ./demoCA/cacert.crt
# openssl x509 -inform pem -in ./demoCA/cacert.pem -outform der -out ./demoCA/ca.der

両方とも行う必要はないとは思うが、一応やっておく。これらのうち、いずれかをクライアントにもっていき、証明書をインポートする。Windowsではダブルクリックすると、ダイアログに「証明書のインストール」ボタンがあるので押下。あとは、「証明書の種類に基づいて、自動的に証明書ストアを選択する」を選んでおけば、インポートできる。

サイト証明書署名要求と秘密鍵を作成

# mkdir server
# cd server
# openssl req -new -out server.pem

ここで、CA作成時と同じような入力が必要だが、同じものを入れればいいので、割愛。

# openssl rsa -in privkey.pem -out server.key
# cp -p server.key /etc/ssl/private

サーバ証明書を作成

# openssl ca -out server.crt -infiles server.pem
# cp -p server.crt /etc/ssl/certs

dovecot に秘密鍵とサーバ証明書を設定

/etc/dovecot.dovecot.conf に

ssl_cert_file = /etc/ssl/certs/server.crt
ssl_key_file = /etc/ssl/private/server.key

の2行を追記し、

# /etc/init.d/dovecot restart

でdovecotの再起動をかける。これで、SSLおよびSTARTTLSでの接続が可能となる。

本来なら、dovecotインストール時に、privateとcertsにdovecot.pemが生成されるのでこちらを用いるべきだとは思うが、今回は、手で作成したものを用いた。

TODO

SMTPも同様にSSLもしくはSTARTTLSでの接続を可能にしておきたい。

上記手順で、SSLもしくはSTARTTLS経由のIMAP4接続はできるようになった。が、SMTPのほうは何もしていない。submissionポートを開けておけば接続は可能だが、認証なしというのは怖いので、SASLの設定を行って認証をかける必要がある。その場合、パスワードを平文で流すのは避けたいので、IMAP4同様、SSLで暗号化しておく必要がある。

ということで、近いうちにSMTP接続をSSL化し、そのうえでSASLで認証をかけるようにすることにする。

参考サイト

主に、以下のサイトを見ながら設定を行いました。 著者各位に感謝致します。

*1 まあ何でもいいのだが。

*2 まあ何でもいいのだが。


Information

更新情報取得方法

*Messages* の更新情報取得には、antenna.lirs もしくは index.rdfをご利用ください。 豪傑アンテナLIRSからも取得可能です。