2003年12月07日

パソコン日記(2003)




1997年からはじめた身の回りのコンピュータ全体の日記コーナーです。

仕事でソフトウェア開発をやっているので、仕事も趣味もコンピュータです。 そんな生活の中で起こったことや気づいたことを紹介します。
毎日書いてるわけではないのですが、のらりくらりと続いています。

特定のテーマで独立したページを書くのは結構大変なのですが、日々の出来事を エッセイ風に書くのはかなり楽なので最近はこちらばかり更新しています。



2024年 2023年 2022年
2021年 2020年 2019年 2014年 2013年
2012年 2011年 2010年 2009年 2008年
2007年 2006年 2005年 2004年 2002年
2001年 2000年 1999年 1998年 1997年

リンクアイコン トップページへ戻る


2003/12/07(日)

MP-XP7310 HDD password

盗難に備えてInterLink 7310 でもThinkPad のようにHDD password を設定したいと思いました。

インターネットを検索したところ、sawara さんが公開されている
InterLink XP FAQ (http://i386.s15.xrea.com/interlink/)というページを見つけました。
このページに7310 ではありませんが、少し前のInterLink は起動時にAlt+F2 key でBIOS メニュー画面に入れるという情報がありました。

試してみたところMP-XP7310 でもAlt+F2 でAMI BIOS の設定画面に入ることができ、 メニューの中からHDD パスワード を設定することができました。 (スタートアップpassword も設定できるようです)

HDD password を設定すると、起動時にBIOS の起動の様子が画面に現れるようになりました。
HDD password 入力画面写真

MP-XP7310 CD-ROM boot

同じくInterLink 7310 にIBM のUSB Portable CD-ROM (33L5151) を接続し、BIOS メニューでCD-ROM のブート優先順位をHDD より上位にすることでCD-ROM boot に 成功しました。

BIOS はVictor が2003/10/29 に公開したVer0205 ではなく、購入時のままなのですが USB CD-ROM からの起動はできるようです。


2003/12/02(火)

AX20 時計障害

今日、NEC のHDD レコーダAX20 の時計が約2時間遅れていて予約録画が失敗していました。
時計が狂った原因は不明です。気持ち悪い。


2003/11/03(月)

ケースファンを交換

先日購入した横型ケースHT-200 には背面に6cm排気ファンが2つついています。 これが深夜には動かせないような爆音を発するので、山洋電気の6cm ファン109R0612H436 2個につけかえました。 その結果、騒音は激減したのですが手をかざして感じる風量もかなり減 ってしまいました。
背面写真
インテルのマザーボードにはWindows 上で実行可能なIntel Active Monitor という温度・ファン速度の表示アプリケーションが付属します。
ケースに付属していたファンはHDD 等の4pin 電源コネクタから電源を取るタイプだったので ファン回転数を監視できなかったのですが、 交換したファンはマザーボード上のファン電源端子に接続でき、Intel Active monitor で監視できるはずなのに画面にはCPU ファンの回転数しか表示されませんでした。

あれこれやっているうちに、Intel Active Monitor の「Options」 ボタン、 「Set Sensor Thresholds」ボタン、 「Redetect Fans」ボタンの順に押していき マシンを再起動するとケースファンの回転数も表示されるようになりました。 (
画面キャプチャ)

交換した6cm ファンは仕様では回転数3800rpm 音圧レベル28db ということなのですが、監視画面では2634rpm, 2266rpm となっています。 マザーボードが回転数を制御しているのでしょうか?


2003/11/01(土)

AX20 再起動

NEC のHDD レコーダAX20 がdisk 残40Gbytes ぐらいになってめちゃくちゃ操作反応 が悪くなり、ライブ映像もカクカクでとても見れない状況になりました。
リモコンで何か操作をした時の反応が10秒から60秒ぐらいです。

disk の断片化が進んだのかと、見そうにない録画コンテンツを消していったところ やや改善したものの、数日使っているとすぐもとにもどってしまいます。
そこでAX20 の電源ボタンを長押しして強制OFFの後再起動してみたところ、 ウソのように普通に動作するようになりました。

9月ぐらいにフリーズして再起動してから1ヶ月以上電源は入ったまま(使わない時は SERVER モード)なのでメモリリークがあるのかもしれません。

Inter link 7310 のドライバ?

Inter Link 7310 はHDD 上にリカバー用イメージ領域があるものの、VGA やNIC の個別ドライバは提供されていないようでWindowsXP のクリンインストールはできないように思えます。

ところが、disk の中身を見ているとC:\PnPDrvrs というディレクトリがあり、この中にAUDIO, INF, LAN, Modem, VGA, 無線LAN 等のドライバインストーラのようなものがあります。
これを外にバックアップしておくことで、 クリンインストールができるかもしれません。

2003/10/25(土)

デスクトップPC 更新

秋葉原でついにデザイン的に納得のゆくATX ケースにめぐり逢うことができました。
(そう、昨日までずっと現役ATフォームファクターなのであった) 3年ぶりの主力機更新です。

ACCENT(メーカ名? ブランド名?)HT-200 という、ホームシアター機指向の横型アルミケースで大好きな黒をチョイスしました。 実はケースを購入したのは先週の10/18(土) だったのですが、今日は1週間リサーチして決めたパーツ類を一気に買いそろえ、 1台のPCにくみ上げました。
HT-200 写真 電源とマザーボードを入れたところ 真正面

このケースでPC を組んでみて気づいた点ですが、

という感じでアジア風のヘンテコさ、怪しさ全開。 2x16 表示のLCD パネルをもつユニークさがとても不釣合いです。 3万4800円(電源なし)の高級ケースとは思えません。ボラれた。

2003/10/12(日)

Victor Inter Link 7310

冬モデルが出そうですが新製品の発売を待ちきれず、 Victor の1Kg を切る軽量ノートPC Inter Link 7310 を購入しました。
MP-XP7310 写真 MP-XP7310 箱写真
家で開梱してACアダプタをつないで起動し、 あれこれ動作確認してからパラパラメニュアルをめくっていると、 AC アダプタをつなぐ前に必ずバッテリー切り離しのショートピンを抜け と書いてあるではありませんか!!
もうACアダプタをつないでガンガン使いまくっちゃっています。激ヤバ。

急いでシャットダウンしてACアダプタをはずし、ショートピンを抜きました。 こういう大切なことはマニュアルの中に書くのではなく、 1枚の紙切れに書いておいて欲しいものです。
このショートピンは出荷時のみの保護用で抜いたらもういらないそうです。 幸いどこにも異常はないようで、その後も普通に使えています。

次にポイントでGet した
BUFFALO DM266(PC2100 DDR MicroDIMM)512MB をさしました。
このPC は標準で256M のメモリを搭載していて、最大512M まで拡張可能ということなのですが、2ch の情報によると512M 足して768M までいけるそうなのです。確かにその通り、うまく認識されました。

色が黒いことと、ポインティングデバイスがトラックポイントであることが 気に入っています。
デスクトップPCではCPUパワー不足で満足に動作しなかったSmartVision/PLAYER (NEC のHDDレコーダ AX20 のネットワーククライアント)もちゃんと動作し、自室でリビングのHDD レコーダのコンテンツを楽しめるようになりました。

意外なことに、内蔵イーサネットのチップはIntel のものでした。 centrino というのはそういうことだったかな。


2003/09/23(火)

@FreeD のプラン変更

1回目の支払いを終えてもインターネット上のオンライン注文/照会サービスで 年払いプラン(48,000円/年)に変更できないので、 秋葉原へ出かけたときにたまたま通りがかったドコモショップ でプラン変更をしました。

最初にカードの電話番号を聞かれ、答えると本人確認のためか氏名を聞かれました。 身分証明書や印鑑は求められませんでしたが、 P-in Free の端末へのアクセスが必要とのこと。カードを渡すと専用の器具 (薄いピンク色の携帯電話のような端末にコードが生えていて、その先のアダプタにCF カードをさせるようになっていました) につないで担当のおにいさんがごちゃごちゃやっていました。
うまくいかないようで別の器具をもってきてやっとうまく設定できたようです。 この作業が必要のため、店頭でしかプラン変更できないのかもしれません。

プラン変更の手数料で1,000円必要でしたが、これで毎月支払うより年間で約1 万円の節約になります。さあバンバンつかうぞ。
契約期限が切れる前に案内が送られてくるそうで、そのまま何もしないと自動解約に なるそうです。

2003/08/27(水)

NEC PK-AX20

AX20 写真

イーサネット経由でパソコン上でコンテンツを見れるNEC の250GBytes HDDレコーダ
PK-AX20 を購入しました。
多くの場合USB でつながるチューナ搭載キャプチャBOX がイーサネット接続になり、 更に250GByte のHDD と独自の録画機能を搭載したような感じです。 OS はLinux が載っているそうです。

パソコン側にインストールするアプリケーションSmartVision/PLAYERで本体が受信 している地上波のライブ映像や録画したコンテンツの動画配信をリアルタイムで再生 できます。確かに嫁さんのDYNABOOK V7/513LMDW (Pentium M 1.3G WinXP Professional) では正常に再生できました。ところが私のデスクトップPC(PentiumIII 733MHz Win2000) ではSmartVision/PLAYER は激しいコマ落ちと音切れになります。

リアルタイム再生ではなく、コンテンツをいったんPC 側にダウンロードして SmartVision/PLAYER で再生しても同じようにコマ落ち,音切れになります。 タスクマネージャでCPU使用率を監視すると100%になることと、 ダウンロードしたファイルをWinDVD で再生すると正常に視聴できることから、 SmartVison/PLAYER の処理が重くてCPU パワーが足りていないような感じです。 とても残念なことです。

ちなみにこのアプリケーションではWindows2000 はサポート範囲外であり、推奨スペッ クのミニマムはPentiumIII 733MHz になっています。

AX20 のネットワーク設定では、 IP アドレスとネットマスクを指定することができます。
デフォルトゲートウェイとDNS サーバは指定することができません。 (DHCP クライアントになることは可能でその場合、 どこまでネットワーク設定が取り込まれるかは不明です。) また、PC 側の専用アプリの設定ではAX20 のIP アドレスを指定するステップがない ことから次のことが想像できます。


2003/08/19(火)

P-in Free 1S

P-in Free 1S 写真 会社貸与のP-in Compact でリナザウで会社だけにしかつながないのはもったいないので 常時接続のできるCF タイプPHS カードP-in Free 1S を自腹で購入しました。
おトクな年間48,000円の一括支払いプランを希望していたのですが、購入した 量販店では月々4,880円のプランしか選択できず、後日ドコモショップでプラン変更 が必要とのことでした。

月払いプランで購入し、インターネット上で契約内容の確認や変更を行える
オンライン注文/照会サービスのログインアカウントを取得し、ここから契約プラン を変更しようとしたのですが、何故か変更できないようです。 1回目の支払いがまだ終わっていないからなのかもしれません。


2003/07/07(月)

SL-C700 メモ

ここのところ仕事でお客さんのところにほとんど常駐しているので、 SL-C700 片手にPHS 電波の入りのよい場所に歩いていってssh で会社のメールチェックや会社の開発サーバの設定を確認したり、NetFront (Webブラウザ)でWeb ベースの社内システムを利用 (勤務表入力,お弁当注文の取り消し)したり大活躍しています。

モバイル接続はP-in Comp@ct を使用しています。
会社が契約しているNTT 系列のダイヤルアップサービス(会社のLAN に接続できます) とかNTT DoCoMo のモペラ(登録不要の従量制プロバイダ)はよくつながるのですが、 DTI とか一般のプロバイダにはつながりにくいです。


以下はSL-C700 をインターネットに直接接続する場合のセキュリティーについての メモです。
samba が心配だったのですが、これはUSB で母艦と接続するときのみ起動するのでインターネット接続時のsamba セキュリティーは(母艦とUSBでつないでいなければ)心配しなくてもよいようです。

SL-C700 でnetstat -an すると4244, 4992 がLISTEN 状態になっています。
fuser -v -n 4992 とかすると指定ポートを使っているプロセスを調査できるので調べてみると4244 も4992 もqpe でした。ちょっと心配。

2003/05/07(水)

syslogd(SL-C700)

SL-C700 の不満として、UNIX のsyslogd が動作していない、というのがあります。 ネットワークにつないでいるときの不正アタックとかがログに残らないというのは とても気持ち悪いです。
調べてみると、syslogd は動いていないだけで/sbin/syslogd として入っていることが わかりました。設定ファイル /etc/syslog.conf もありました。

フラッシュメモリ上にSYSLOG を書き込んでゆくと書き込み回数の制限でフラッシュ が早く壊れてしまいそうなので、RAM ディスクになっている/tmp にログを書くように したいですね。そこでまずはつぎのようにlocal1 ファシリティーのログが /tmp/syslog.local1 に書き込まれるように/etc/syslog.conf に次の行を追記してみました。
local1.*   /tmp/syslog.local1
(注意 区切りはスペースではなくタブです)
syslogd を常駐動作させるために、/etc/rc.d/init.d/syslog startを実行し、 動作確認のためSYSLOG に任意メッセージを出力するlogger を次のように実行しました。
logger -p local1.info test
すると/tmp/syslog.local1 ファイルに次のようなログが書き込まれました。

May 6 20:07:25 localhost root: test


JST ではなく9時間遅れのGMT 時刻なのが気になりますがroot のTIMEZONE をJST にすると何か影響がありそうなので標準時はこのままにしときます。

local1 がうまく出たので他のメッセージも出るように、/etc/syslog.conf にとりあえず次の行を追加してkillall -HUP syslogd で反映させました。
*.info;mail.none;news.none;authpriv.none;cron.none  /tmp/messages
(注意 区切りはスペースではなくタブです)
inetd から起動しているsshd がSYSLOG へログを出力するように、/etc/inetd.conf のsshd の起動設定から-q オプションを削除し、killall -HUP inetd を実行しました。

こうして書き出されるログを見ていると、/var/log/lastlog がないというエラーが 出ていたのでtouch /var/log/lastlog でlastlog を作っておきました。


2003/04/27(日)

OpenSSH-3.6.1p1(SL-C700)

先月SL-C700 にインストールしたOpenSSH はバイナリ配布のものでversion も古かった のでOpenSSL をコンパイルできたついでにOpenSSH も最新の3.6.1p1をクロスコンパイル して差換えました。 はまりまくって久しぶりの徹夜作業になりました。

GPG による電子署名確認(OpenSSH-3.6.1p1)

OpenSSH のソースは http://www.openssh.com/ja/からたどって openssh-3.6.1p1.tar.gz とこれが 改ざんされていないことを確認するための電子署名ファイル openssh-3.6.1p1.tar.gz.sig を入手しました。
GnuPG による電子署名確認ははじめての経験なのでこの日記に顛末をメモしときます。

私がSL-C700 のクロスコンパイル環境にしているRedHat Linux 8.0 は最初から GnuPG がインストールされています。 man gpg でオプションを確認し、
gpg --verify (.sigファイル) (ターゲットファイル)
で確認できることがわかりました。
1回目これを行うとホームディレクトリに.gnupg ディレクトリができるだけで もう一度本来の作業のやり直しが必要になりました。
2回目実行すると次のようにエラーになりました。

% gpg --verify openssh-3.6.1p1.tar.gz.sig openssh-3.6.1p1.tar.gz
gpg: Warning: using insecure memory!
gpg: please see http://www.gnupg.org/faq.html for more information
gpg: Signature made Tue Apr  1 20:57:44 2003 JST using DSA key ID 86FF9C48
gpg: Can't check signature: public key not found

なるほど、鍵ペア方式なので署名者(ID 86FF9C48)の公開鍵が必要なわけですね。

インターネットを検索したところ、公開鍵は鍵サーバ から入手できるようです。 .sig ファイルは本来の署名者の秘密鍵が盗まれていない限り改ざんされる心配が ありませんが、公開鍵入手の時にニセ の鍵サーバから取得してしまうとやっかいなことになりそうです。
結局次のようにpgp.nic.ad.jp なるサーバから入手できました。 (ad.jp だからちょっと権威を感じました)

% gpg --keyserver pgp.nic.ad.jp --recv-keys 0x86FF9C48
gpg: Warning: using insecure memory!
gpg: please see http://www.gnupg.org/faq.html for more information
gpg: requesting key 86FF9C48 from HKP keyserver pgp.nic.ad.jp
gpg: /home/komatsu/.gnupg/trustdb.gpg: trustdb created
gpg: key 86FF9C48: public key imported
gpg: Total number processed: 1
gpg:               imported: 1

ここで再度電子署名を照合してみます。

% gpg --verify openssh-3.6.1p1.tar.gz.sig openssh-3.6.1p1.tar.gz
gpg: Warning: using insecure memory!
gpg: please see http://www.gnupg.org/faq.html for more information
gpg: Signature made Tue Apr  1 20:57:44 2003 JST using DSA key ID 86FF9C48
gpg: Good signature from "Damien Miller (Personal Key) <djm@mindrot.org>"
gpg: checking the trustdb
gpg: no ultimately trusted keys found
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Fingerprint: 3981 992A 1523 ABA0 79DB  FC66 CE8E CB03 86FF 9C48

細かい警告が出ていますが、「Good signature」ということなので大丈夫のようです。


OpenSSH-3.6.1p1 クロスコンパイル(SL-C700)

上記のように署名を確認したopenssh-3.6.1p1.tar.gz をクロスコンパイル環境に展開します。
環境変数PATH に/opt/Embedix/tools/arm-linux/bin を通します。 同じく環境変数CFLAGS に "-I(openssl-0.9.7.b の場所)/include -I(zlib-1.1.4 の場所)" を設定し、環境変数LDFLAGS に "-L(zlib-1.1.4 の場所) -L(openssl-0.9.7.b の場所) -ldl"を設定します。

次のようなオプションでconfigure を実行しました。

./configure --prefix=/usr/local --sysconfdir=/etc/ssh \
            --with-ssl-dir=(openssl-0.9.7.b の場所) \
            --build=i386-linux --with-md5-passwords \
            --host=arm-linux --with-zlib=(zlib-1.1.4 の場所)
すると次のようなエラーになりました。

checking whether struct dirent allocates space for d_name... configure: error: cannot run test program while cross compiling

「クロスコンパイルしてるんだから、 テストプログラムなんか動かなくて当然でしょ!わかってるのなら動かすなよ〜」
と叫んでもしょうがないのでconfigure をvi で開いてcannot run test program while cross compiling のメッセージがある部分のexit 1(必ず2つペアになってます) を全てsync (副作用のないコマンドならなんでもいいと思います)に書き換えました。 これかなりありました。

再度上記のオプションでconfigure を実行すると今度は次のようなエラー になりました。

configure: error: *** Can't find recent OpenSSL libcrypto (see config.log for details) ***

またconfigure のスクリプトを調べるとここにもexit 1 があったのでsync に書き 換えてこのelse に入った場合もconfdefs.h に#define HAVE_OPENSSL 1 が入るように 次の文を書き加えました。
cat >>confdefs.h <<\_ACEOF
#define HAVE_OPENSSL 1
_ACEOF

再再度上記のオプションでconfigure を実行すると今度は次のようなエラー になりました。

checking size of char... ./configure: line 10434: syntax error near unexpected oken `else' ./configure: line 10434: `else'

exit 1 をsync に書き換える作業中にセミコロンを1つ消してしまったようです。 修正してやっとconfigure が通りました。

make を実行します。なんと、1発で通ってしまいました。

最近のOpenSSH サーバは一部の処理がsshd というユーザの権限で行われます。 SL-C700 にsshd というユーザを登録しておきます。 useradd とかのコマンドがないので、/etc/passwd に
sshd:x:11111:65534:OpenSSH User:/home/ssh:/bin/nosuchsh
を追記し、/etc/shadow に
sshd:*:10933:0:99999:7:::
を追記します。このユーザは存在すればよく、ログインできなくても大丈夫です。
また/var/empty というディレクトリを作っておきます。

私はsshd ではなくssh という名前でユーザを登録し、更に/var/empty ディレクトリが 必要ということを知らなかったためにハマってしまいました。
こういうミスをした状態でsshd を動かすと、ssh クライアントから接続したときに

C:\>ssh root@slc700
ssh_exchange_identification: Connection closed by remote host

というエラーメッセージが表示されます。
(注意 私の場合はinetd からsshd を起動しているのでこのエラーになります。 sshd をデーモンとして起動している場合はconnection failed になるはずです)

インターネットでこのメッセージを検索すると、このエラーはTCP ラッパーを使用している場合の/etc/hosts.allow の設定ミスが原因、という解説があちこちにありました。 でも私の場合は別の設定ミスが原因だったわけです。


少し先走りましたが、SL-C700 の/mnt/card/sbin のsshd, sftp-server と /mnt/card/bin のscp, sftp, ssh, ssh-add, ssh-agent, ssh-keygen, ssh-keyscan, ssh-keygen を別の場所にバックアップしました。 RedHat からSL-C700 にscp, sftp, ssh, ssh-add, ssh-agent, ssh-keygen, ssh-keyscan, ssh-keysign, ssh-rand-helper, sshd, sftp-server をコピーし、古いファイルをこれらで差換えました。

/usr/local/bin ディレクトリを作成し、ここから/mnt/card/bin にある scp, sftp, ssh, ssh-add, ssh-agent, ssh-keygen, ssh-keyscan, ssh-keygen へシンボリックリンクを張りました。

/usr/local/sbin ディレクトリを作成し、ここから/mnt/card/sbin にある sshd, sftp-server へシンボリックリンクを張りました。

念のためにサーバの鍵を次のように作り直しました。

ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key -N ""
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ""
ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ""
/etc/ssh/sshd_config を修正し、UsePrivilegeSeparation yesを追記しました

これで新しいssh サーバでPC からSL-C700 へログインやファイル転送ができるようになりました。

2003/04/25(金)

OpenSSL-0.9.7b (SL-C700)

リナザウ(Linux Zaurus)でファイルの暗号化とかを行いたく、最新のOpenSSL-0.9.7b をクロスコンパイルしてみました。

まず
http://www.gzip.org/zlib/ からたどってzlib-1.1.4.tar.gz を入手します。
不正改変版(トロイの木馬とか)をつかまされるリスクを減らすため、 md5sum zlib-1.1.4.tar.gz を実行し、得られた文字列がWeb 等で公開されている abc405d0bdd3ee22782d7aa20e440f08 に一致することを確認しました。

これをクロスコンパイル環境(RedHat8.0) に展開して
./configure --shared を実行し、Makefile をvi で開いて CC を"CC = /opt/Embedix/tools/arm-linux/bin/gcc" に修正し、 LDSHARED を "LDSHARED=/opt/Embedix/tools/arm-linux/bin/gcc -shared -Wl,-soname,libz.so.1" に修正してmake してlibz.so.1.1.4 ができました。

次にhttp://www.openssl.org/からたどって 今回の時点で最新版のopenssl-0.9.7b.tar.gz をいただきました。
こちらもmd5sum openssl-0.9.7b.tar.gz を実行し、得られた結果文字列 fae4bec090fa78e20f09d76d55b6ccff がWeb などで公開されている本来のmd5 コード と一致することを確認します。

この後やはりRedHat8.0 で展開し、dso がらみのコンパイル(リンク)エラーに相当てこずった末 次の手順を確立しました。

  1. PATH に /opt/Embedix/tools/arm-linux/bin を通す
  2. ./Configure zlib-dynamic shared linux-elf-arm を実行
  3. zlib の*.h をopenssl 展開ディレクトリのinclude/ にコピー
  4. zlib のlibz.* をopenssl 展開ディレクトリにコピー
  5. SL-C700 の/lib/libdl-2.2.2.so を RedHat の/opt/Embedix/tools/libにコピー
  6. /opt/Embedix/tools/lib でln -s libdl-2.2.2.so libdl.so.2 を実行
  7. 同様にln -s libdl-2.2.2.so libdl.so を実行
  8. apps/Makefile の"${PROGRAMS}: progs.h....." のブロックの コンパイルルール末尾に"-ldl" を追加
  9. make を実行

    これでopenssl プログラム(apps/openssl) と必要なライブラリファイルはコンパイルできました。 動作テスト用プログラムのコンパイルに失敗しますがここでやめておきました。

  10. libssl.a, libssl.so.0.9.7, libcrypto.a, libcrypto.so.0.9.7, libz.so.1.1.4 をSL-C700 の/mnt/card/lib (私はSD なので)にコピー
  11. apps/openssl をSL-C700 の/mnt/card/bin にコピー
  12. SL-C700上で次のコマンドをroot 権限で実行
      mkdir /usr/local/lib
      ln -s /mnt/card/lib/libssl.so.0.9.7 /usr/local/lib/libssl.so.0.9.7
      ln -s /mnt/card/lib/libssl.so.0.9.7 /usr/local/lib/libssl.so.0
      ln -s /mnt/card/lib/libssl.so.0.9.7 /usr/local/lib/libssl.so
      ln -s /mnt/card/lib/libcrypto.so.0.9.7 /usr/local/lib/libcrypto.so.0.9.7
      ln -s /mnt/card/lib/libcrypto.so.0.9.7 /usr/local/lib/libcrypto.so.0
      ln -s /mnt/card/lib/libcrypto.so.0.9.7 /usr/local/lib/libcrypto.so
      ln -s /mnt/card/lib/libz.so.1.1.4 /usr/local/lib/libz.so.1.1.4
      ln -s /mnt/card/bin/openssl /usr/local/bin/openssl
  13. SL-C700 で/etc/ld.so.conf をvi で開き、/usr/local/lib を追記
  14. SL-C700 でldconfig を実行

これでリナザウでファイル暗号化をできるようになりました。

暗号化openssl enc -bf -in (元ファイル) -out (出力ファイル)
(パスワードは実行中に入力します)
復号化openssl enc -d -bf -in (暗号済ファイル) -out (出力ファイル)
(パスワードは実行中に入力します)

リナザウは本物の(?!)最新OpenSSL を自分でソースからコンパイルして利用できるので幸せです。


2003/04/12(土)

ペッパーランチ

久しぶりに秋葉原へ出かけました。
DOS/V パラダイスのあたりにいつのまにか
ペッパーランチ(http://www.pepperlunch.com/) というカウンタースタイル(吉野家風カウンター)のステーキハウスができていました。

アツアツの鉄板に生の肉と野菜がのって出され、 好みの焼き具合になったらいただきます。気に入りました。

最近仕事でよく品川へ行くのですが、品川Wing 裏のロイヤルホストの隣の 地下にあるOUTBACK というステーキハウスもお気に入りです。
全然関係ないはなしですね。

秋葉原ではアイ・ツー東京モバイル専科 (http://www.wolf.ne.jp/)でSL-C700 用のCF ダミーカード(200円), USB 端子カバー(200円), 本体付属と同じACアダプタ(1600円)が販売されていました。
バッテリー充電もできるように改造されたオリジナルUSB ケーブル等も販売されていました。
ショップのWebページ( http://www.wolf.ne.jp/pda/slc700op.htm)にはSL-C700 用の様々なオプション パーツが見られます。


2003/03/26(水)

Mule2.3(SL-C700)

PC からssh でログインしたりしていると、ザウルスでemacs も使ってみたくなりました。
emacs-21 もあるようですが、重そうなのでMule-2.3 を入れてみます。

http://sourceforge.jp/frs/index.php?group_id=173&release_id=1273 から mule-bin_2.3-19.34-k1_arm.ipk, mule-lisp2_2.3-19.34-k1_arm.ipk mule-lisp1_2.3-19.34-k1_arm.ipk をいただきます。

Zaurus に置いて『ソフトウェアの追加と削除』でSD カードへインストールしました。
/usr/mnt.rom/card/QtPalmtop/ 以下に入り/home/QtPalmtop/ 以下からリンクが 張られました。

mule for windows で常用しているsite-lisp 以下のelisp ファイル郡を /mnt/card/QtPalmtop/share/emacs/19.34/site-lisp 以下にコピーしました。

/home/root とか/home/zaurus に.emacs を置いても何故か自動ロードされないので
mule -nw --load /home/zaurus/.emacs $*
のように.emacs を明示的に指定するようにラッパスクリプトを作成しました。

日本語の入力が解決していないのですが、 emacs で受信したメールをそのままコピーして出先で参照できるようになりました。 VGA 液晶で一覧性も良いのでおそろしく快適です。

2003/03/25(火)

クロスコンパイル環境

Linux ザウルス用のless が見当たらないので自分でコンパイルすることにしました。
こういう面倒くささがステキでわくわくします。
まずは開発環境の準備です。

シャープがザウルス向けの技術情報や開発ツールを公開している『ザウルス宝箱Pro』 (
http://more.sbc.co.jp/) から次のrpm をダウンロードしました。 これらを母艦のVMware に入れたRedhat Linux 8.0j へコピーし、root で rpm -Uvh *.rpmでインストールしました。

/opt/Embedix/tools/bin にarm-linux-gcc とかが入りました。
/opt/Embedix/tools/arm-linux/bin にgcc とか普通の名前でリンクがあるのでこちらをPATH の始めの方に通しておきました。

less のmake

これでless のmake にかかれます。

ncurses の問題でconfigure が通らない問題に直面しましたが、
http://mame.zive.net/~tnaka/diary/20030130.html の情報が大変参考になりました。

SL-C700 の/lib/libncurses.so.4.2 をRedHat の/opt/Embedix/tools/lib にコピー して root で
ln -s /opt/Embedix/tools/lib/libncurses.so.4.2 \
           /opt/Embedix/tools/lib/libncurses.so.4
ln -s /opt/Embedix/tools/lib/libncurses.so.4.2 \
           /opt/Embedix/tools/lib/libncurses.so
ln -s /opt/Embedix/tools/lib/libncurses.so.4.2 \
           /opt/Embedix/tools/arm-linux/lib/libncurses.so.4
ln -s /opt/Embedix/tools/lib/libncurses.so.4.2 \
           /opt/Embedix/tools/arm-linux/lib/libncurses.so
をしておきます。
また、
ln -s /usr/include/ncurses  /opt/Embedix/tools/arm-linux/include/ncurses
ln -s /usr/include/ncurses.h /opt/Embedix/tools/arm-linux/include/ncurses.h
をしておきます。

http://www.io.com/~kazushi/less/ からたどってless 3.58 とiso パッチをいただきます。
展開して ln -s less-358 less でリンクを作って
cat less-358-iso254.patch | patch
でisoパッチをあてます。
cd less-358
./configure --host=i386-linux --target=strongarm-linux
make
でless ができるので、これをzaurus の/mnt/card/bin (SD カードです) にコピーします。
ln -s /mnt/card/bin/less /usr/bin/less
で本体側の/usr/bin からリンクを張っておきました。

nkf2.02

ついでにnkf もmake してみました。
nkf って2.02 まで進んでいました。

http://sourceforge.jp/forum/forum.php?forum_id=1703からたどって (http://www01.tcp-ip.or.jp/~furukawa/nkf_utf8/) nkf202-2003.03.25.tar.gz をいただきました。
クロスコンパイル環境のRedHat8.0j 上で展開してMakefile のCC を
CC = /opt/Embedix/tools/arm-linux/bin/gcc
に修正してmake でnkf ができたのでZaurus にコピーしました。


2003/03/19(水)

ザウルスショットのショートカットキー

PC にザウルスアプリをインストールするとF-11 キーを取られてしまいました。 アプリで使っているのでこれは困ります。
タスクトレーのザウルスショットのアイコンを右クリックして環境設定でキーバインド を変更できました。


SL-C700 OpenSSH

http://killefiz.de/zaurus/showdetail.php?app=5 からたどって openssh-3.2.3p1-arm-linux-1.tar.gz を入手しました。
ザウルスで展開してシークレットでroot のパスワードをつけて install.sh s f を実行(SD にフルインストールの意味)しました。
/mnt/card にbin, sbin ができ、 /bin, /sbin の中にssh とかへのリンクが張られました。

sshd の呼び出しはデーモン常駐ではなく、inetd 経由のようです。

SL-C700 には何故か最初からTCP ラッパーが入っているのでsshd にかましてみました。
以下の作業はroot で行いました。
まず次のような内容で/etc/hosts.allow と/etc/hosts.deny を新規作成します。

#
# hosts.allow for SL-C700 by S.Komatsu
ALL : 192.168.1.2
ALL : 192.168.1.3

#
# hosts.deny for SL-C700 by S.Komatsu
ALL : ALL

家庭内LAN の192.168.1.2, 192.168.1.3 のパソコンからのみtcpd 配下の全サービスに アクセスを許すという設定です。

次に/etc/inetd.conf の
ssh stream tcp nowait root /mnt/card/sbin/sshd sshd -i -q -f /etc/ssh/sshd_config

となっていた行を
ssh stream tcp nowait root /usr/sbin/tcpd sshd -i -q -f /etc/ssh/sshd_config

のように書き換えます。
これでinetd からsshd が起動される場合、直接起動するのではなくいったんtcpd が 呼び出され、hosts.allow とhosts.deny に基づいてアクセスを許可するかどうかを判定してからsshd が起動されます。

設定のチェックを行うため、/usr/sbin/tcpdchk を実行します。
更に/usr/sbin/tcpdmatch ssh 192.168.1.2 等でアクセス許可ホストからのアクセスシミュレーション、 /usr/sbin/tcpdmatch ssh 192.168.2.1 等でアクセス禁止ホストからのアクセスシミュレーションを行います。

これらの確認で問題がなければkillall -HUP inetd を実行し、inetd にinetd.conf を再読み込ませます。


2003/03/18(火)

Palm のPIM データを移行

Linux Zaurus SL-C700 、PDA としては最初から期待していませんでした。 常用しているTRGPro(Palmデバイスです)のPIM データ移行も考えてなく、 2台とも携帯するつもりでした。

ところがZaurus の付属CD-ROM に入っているIntellisync の取説PDF によるとPalm DeskTop からのデータ移行が可能とあります。
とりあえずためしてみたところ、私にとって重要なメモ帳データとアドレスブック のデータが何と完璧に移行できてしまいました。

アドレスの移行ではPalm では携帯電話の入力欄がなかったので『その他』 という欄に記入していたのですが、Intellisync のフィールドマッピング機能で『その他』欄を『携帯電話』 欄に移すよう設定できました。
「上位互換」とか「別アプリとの連携」とか「一度書いたらどこでも動く」 とかソフトウェアの甘いセールストークは全部ウソと思っていたのですが このツールは恐ろしくよくできているな、と感心しました。

これでPalm からデータは移行できてしまったわけですが、SL-C700 をPDA として使うにはバッテリが心配です。
PDA に書き込んだデータを出先で参照できないのは致命的です。 TRGPro なら電池の持ちがよいし、 もし電池切れてもコンビニでアルカリ単4を買えばすみます。 SL-C700 は専用バッテリなのでそうはいきません。
幸いバッテリは交換可能なのでスペアバッテリを購入するとSL-C700 1台に統合できそうです。

2003/03/15(土)

SL-C700

VGA CG液晶, Linux 搭載Zaurus(SL-C700) を購入しました。
店員さんにしつこく聞いたところ、後継機種登場は春にはなく、夏以降になるという 情報を得たのが購入の決め手でした。

ROM version は最初から最新の1.20JP でした。
付属のターミナルアプリは日本語の入力はできないものの、日本語表示は可能でした。 256M SD カードに64M のswap を作成し、openssh を入れ、P-in Comp@ct でリモートホストにssh ログインしてリモートのemacs でメールを読み書きできます。
液晶がとてもきれいでNetFront という付属ブラウザでのWeb 参照も満足です。 付属のメールアプリがAPOP やSMTP 認証に対応しているのもうれしい誤算でした。

必要になるとわかっている場合は重くてもノートPC をもって外出しますが、 SL-C700 なら常時携帯できるので必要になったときにパッと起動してインターネット に接続できます。

事前の情報収集で誤解していて電源を入れるたびに起動に2 分かかると思ってたのですが、そうではなくよかったです。
ただバックアップアプリで内蔵フラッシュをSD カードにバックアップする時は シングルユーザモードに遷移するのか、2分待ちを2回くらいます。 マルチユーザ・マルチタスク環境なので仕方がないところでしょうか。

メルコのCF タイプ10Mイーサカード LPC-CF-CLT もはじめから組み込まれている ドライバで認識され自宅のLAN につながりました。

私の場合、SL-C700 のアプリ起動や動作が遅いのは割と平気です。 会社では10年前のSGI Indigo2(R4000) をまだ使っていたりします。
でも600KバイトのExcel ファイルを開くのに5分かかったりするのでやっぱり 内蔵RAM は32M では足りないな、と思います。

CF カード未使用時のダミーカードとI/O 端子(USBケーブル用)の保護カバーを なくしてしまいそうなのが不満です。
カーネルをいじってる方もいるようですが、PC ではないので非常時にFD やCD-ROM からブートするわけにいかず、そこまでディープにいじる勇気はないです。

2003/01/19(日)

ごろ寝マウス

こたつや寝床でWebをノートPC で眺める時に 右手だけ本体のトラックポイントにのばすのがわずらわしく、 シグマAPOシステム販売 のごろ寝マウス(SGN-UK)という製品を購入しました。

パッケージの写真 本体の写真

マウスというよりはトラックボールで接続はUSB です。 とても小型で右手で握りこんで机なしで使えます。
定価は5,800円ですが売値は2,680円+税でした。

購入した製品は初期不良品で、上方向と左右方向は問題ないものの、下方向にカーソル を移動させることができませんでした。
購入元のヨドバシカメラに電話して症状を詳しく説明し、新品交換してもらいました。

Web ナビゲートをこれに切り替えたところ、 首から肩にかけての肩こりが激減しました。

2003/01/14(火)

rc スクリプトの起動順序

Solaris 等の起動や停止の時に実行されるスクリプトとその呼び出し順序を 確認してみました。

実験

次のように、12 個のスクリプトを設置して、Solaris8 のシャットダウンの時と起動の時に呼ばれるスクリプトとその順番をしらべてみます。
  1. /etc/rc0.d/S10test
  2. /etc/rc0.d/S99test

  3. /etc/rc2.d/S10test
  4. /etc/rc2.d/S99test

  5. /etc/rc3.d/S10test
  6. /etc/rc3.d/S99test


  7. /etc/rc0.d/K10test
  8. /etc/rc0.d/K99test

  9. /etc/rc2.d/K10test
  10. /etc/rc2.d/K99test

  11. /etc/rc3.d/K10test
  12. /etc/rc3.d/K99test

実験結果

shutdown -y -g0 -i0 を実行した時の実行順序
7 -> 8 -> 1 -> 2

起動時の実行順序
3 -> 4 -> 11 -> 12 -> 5 -> 6


/sbin/rc0 とか /sbin/rc2 を読むとわかるように、K??xxxx は他のランレベル からそのランレベルに入る時にまず実行され、続いてS??xxx が実行されます。
例えば ランレベル3(マルチユーザモード)からシャットダウンし、ランレベルが 0(停止処理モード) になる場合は /etc/rc0.d/K??XXX が実行されてから /etc/rc0.d/S??xxx が実行されます。



メインメニュー へ戻る