2006/11/27

IDE ハードディスクを外付けに  コンピュータ・ハードウェア

以前サーバーにしていたノートパソコンが壊れた時に、External Enclosure というものを買った。
これは内臓ハードディスクを外付けにするための、いわゆる「箱」のようなもので、これに IDE ハードディスクを取り付けると USB 接続のハードディスクになる。ちゃんと FAN が2つもついているのを買ったので $30 ぐらいだったと思う。

今日これを使ってみたけど、なんと Windows XP では FAT32 でフォーマットできないことが判明。(ある程度大きいハードディスクだと、内臓だろうと外付けだろうと NTFS でしかフォーマットを選択できないらしい)

そこで色々当たってみたところ、BUFFALO の Disk Formatter というものを発見。http://buffalo.jp/download/driver/hd/format.html

うまく動いたけど、FreeBSD では FAT32 のフォーマットって今はできるんやったけ?昔はできなかったんやけどなあ。(もちろんマウントして読み書きもできるけど、なぜかフォーマットはできなかった)

まあええわ。とりあえず問題なく使えているようなので、OK。
0

2006/11/26

Thanksgiving で特価品をゲーッ  コンピュータ・ハードウェア

あまり知らなかったけど、Thanksgiving の次の日は「特価セール」の日らしい。
店も朝6時から開いていたりして、朝10時までの「限定セール」なんかをしている。

で、Staples という事務用品やコンピュータ用品を置いている店で、「6:00AM - 10:00AM 限定 Maxtor ATA100 200GB 7200rpm, 8MB キャッシュが $19.99」の広告をオンラインで見て、朝から出かける。
自分の町には Staples はなく(実はもうじき隣町に開店)、24Miles 離れた町へ犬を連れてドライブ。オレゴンの田舎道を抜けて、めでたくゲーッ。
途中、"Walnuts For Sale"「くるみ売ってます」の看板を見ながら『おお、欲しいけど朝早過ぎるやろな』と思いつつ、スルー。

手に入れたハードディスク、OEM なら $70 ぐらいで売ってるけど、Retail(箱入りの小売品)だと普段は $100 ぐらいする物。一応 $50 は後でリベートで小切手が送られてくるというもんだけど、Staples のリベートは簡単。オンラインで必要な情報を入力するだけ。
他の場合だと、箱についているバーコードとレシートを送ったり色々面倒だけど、Staples は至って簡単。
とにかくお得感いっぱいの買い物だった。

今までの経験から、Staples の特価品は半端じゃない。1年以上前だけど、PNY の GeForce FX-5200 が $17(当時、無印の最安値が $33 ぐらい)と異様に安い時があった。あと Altec Lansing のスピーカーも $65 が $30(オンライン最安値 $50)など、かなりお買い得な物が多かった。まあどれも Rebate なんだけど。

Staples 侮れず。
0

2006/11/17

MySQL + OpenSSL 続き  FreeBSD

前回 MySQL で OpenSSL を使う方法を書いたけど、捕捉。
証明書、鍵、専用の my.cnf を作成するのに MySQL 5.0 のドキュメントに載っている方法を使う。
http://dev.mysql.com/doc/refman/5.0/en/secure-create-certs.html

↓はそれを FreeBSD 用に変えた物。(cd /usr/local/share/mysql とか適当なディレクトリで実行すべし。)

#!/bin/sh

DIR=`pwd`/openssl
PRIV=$DIR/private

mkdir $DIR $PRIV $DIR/newcerts
cp /etc/ssl/openssl.cnf $DIR/openssl.cnf.in
sed -e s/365/3650/ $DIR/openssl.cnf.in > $DIR/openssl.cnf
replace ./demoCA $DIR -- $DIR/openssl.cnf

# Create necessary files: $database, $serial and $new_certs_dir
# directory (optional)
touch $DIR/index.txt
echo "01" > $DIR/serial

#
# Generation of Certificate Authority(CA)
#
openssl req -new -x509 -keyout $PRIV/cakey.pem -out $DIR/cacert.pem \
-config $DIR/openssl.cnf -days 3650

#
# Create server request and key
#
openssl req -new -keyout $DIR/server-key.pem -out \
$DIR/server-req.pem -days 3650 -config $DIR/openssl.cnf

#
# Remove the passphrase from the key (optional)
#
openssl rsa -in $DIR/server-key.pem -out $DIR/server-key.pem

#
# Sign server cert
#
openssl ca -policy policy_anything -out $DIR/server-cert.pem \
-config $DIR/openssl.cnf -infiles $DIR/server-req.pem

#
# Create client request and key
#
openssl req -new -keyout $DIR/client-key.pem -out \
$DIR/client-req.pem -config $DIR/openssl.cnf -days 3650

#
# Remove a passphrase from the key (optional)
#
openssl rsa -in $DIR/client-key.pem -out $DIR/client-key.pem

#
# Sign client cert
#
openssl ca -policy policy_anything -out $DIR/client-cert.pem \
-config $DIR/openssl.cnf -infiles $DIR/client-req.pem

#
# Create a my.cnf file that you can use to test the certificates
#
cnf=""
cnf="$cnf [client]"
cnf="$cnf ssl-ca=$DIR/cacert.pem"
cnf="$cnf ssl-cert=$DIR/client-cert.pem"
cnf="$cnf ssl-key=$DIR/client-key.pem"
cnf="$cnf [mysqld]"
cnf="$cnf ssl-ca=$DIR/cacert.pem"
cnf="$cnf ssl-cert=$DIR/server-cert.pem"
cnf="$cnf ssl-key=$DIR/server-key.pem"
echo $cnf | replace " " '
' > $DIR/my.cnf

現在作業中のディレクトリに openssl というディレクトリができる。その中に証明書や my.cnf ができる。この後

# cd openssl
# chown mysql server-key.pem
# chmod 600 server-key.pem
# cp my.cnf /etc/

とかすれば OK だと思う。(字数制限で全部は書けなかったけど…)
あと、出来た my.cnf に

[client]
default-character-set = utf8
[mysqld]
default-character-set = utf8
[mysql]
default-character-set = utf8
[mysqldump]
default-character-set = utf8

を付け加えれば OK かな?(インスタントメッセンジャーのメッセージは Jabber も MSN も UTF-8 なので)
0

2006/11/16

MySQL  FreeBSD

久々の MySQL。もうデータベース関係ほとんど忘れてるんですが…。

FreeBSD 6.1 に MySQL 5.0 を入れる。OpenSSL を有効にするのも忘れずに。

# cd /usr/ports/databases/mysql50-server
# make WITH_OPENSSL=yes install

/etc/rc.conf に次を追加。

mysql_enable="YES"
mysql_args="--ssl"

FreeBSD 再起動。↓が OpenSSL を使っている証拠。

mysql> SHOW VARIABLES LIKE 'have_openssl';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| have_openssl | YES |
+---------------+-------+
1 row in set (0.01 sec)

これだけでは SSL 通信できないので、下記 URL を参考にしながら証明書を作る。(MySQL 5.0 のドキュメントにも載ってるけど)
http://itpro.nikkeibp.co.jp/members/ITPro/oss/20050819/166553/?ST=security&P=2

証明書は /usr/local/share/mysql/ に置いたものとし、次に/etc/my.cnf を作成し、サーバー側は

[mysqld]
ssl-key = /usr/local/share/mysql/server.key
ssl-ca = /usr/local/share/mysql/server.csr
ssl-cert = /usr/local/share/mysql/server.cert

クライアント側は

[client]
ssl-key = /usr/local/share/mysql/client.key
ssl-ca = /usr/local/share/mysql/client.csr
ssl-cert = /usr/local/share/mysql/client.cert

を書き込む。

試しに接続してみると、

mysql> status
--------------
mysql Ver 14.12 Distrib 5.0.24a, for portbld-freebsd6.2 (i386) using 5.0

Connection id: 1
Current database: mysql
Current user: root@localhost
SSL: Cipher in use is DHE-RSA-AES256-SHA

のように SSL の所に Not in use が出なければ OK。
0

2006/11/13

PC-BSD 1.2  FreeBSD

PC-BSD 1.2 を使ってみた。

うーん、何て言うか、まず Web ブラウザは Firefox が標準の方がいいんじゃないかと思う。確かに KDE なので Konqueror を使いたいのはわかるけど、やっぱり表示は Firefox より遅い。これは何か設定で変えれるのかもしれないけど。

独特のパッケージシステム?を使っているのはなんでかな? FreeBSD の packages じゃだめなのかな…。日本語関係が充実していないので寂しい。

ports は使えるのはうれしいけど、今回はちと問題があった。PC-BSD の glib, GTK のバージョンと、最新の ports の glib, GTK のバージョンが違うみたいで、コンパイル時にキャンセルした。Firefox 2 と anthy-scim を入れようとしたんやけど。Firefox の方(GTK の方やったっけな?)は最新の glib を要求してきた。きついなあー。
確か X11 も X11R7 に移行しつつあるんやね。今はへたに触らん方がいいかな?X11R3 から X のプログラミング関係をしてきた自分としては、X11R6 で終わりやと思ってた。

最後に KDE やけど、やっぱりデスクトップシステムとはまだまだかなあという気がした。まず同じマシンに入っている Windows XP の方が若干軽い。ビデオカードは nVidia で PC-BSD も Windows も nVidia のドライバを使っているけど(デフォルトでは PC-BSD は nv。やっぱり遅い。)、やっぱり X11 の設計のせいか、はたまた KDE が最適化されていないからか、Windows よりはちょっと重くて見劣りするかな。
普段は自作の Window Manager を使ってるけど、低機能やし。まあ仕事する分には最適やねんけど。でも速いど。
0

2006/11/9

FreeSBIE で自宅サーバー -2-  FreeBSD

メモ:

・make する時に adduser できるようにする。↓
/usr/local/share/freesbie/conf /freesbie.conf を作成し、
EXTRA="adduser customroot"
という行を追加。customroot については次を参照。

・カスタムな /etc/rc.conf ができるようにする。↓
/usr/local/share/freesbie/extra/customroot/etc/rc.conf を作成し、
defaultrouter="192.168.15.1"
hostname="適当なホスト名
ifconfig_fxp0="inet 192.168.15.55 netmask 255.255.255.0"
keymap="jp.106"
#sshd_enable="YES"
usbd_enable="YES"
clear_tmp_enable="YES"
inetd_enable="YES"
powerd_enable="YES"
なんかを書き込む。

これは上の EXTRA="adduser customroot" の効果により、LiveFS の / に書き込まれる。

・続いて /etc/resolv.conf↓
/usr/local/share/freesbie/extra/customroot/etc/resolv.conf
domain 適当なドメイン名
nameserver 192.168.15.1

・次に /etc/inetd.conf。これは立ち上げ時に inet.d で ftp サーバーが立ち上がるようにするため。↓
/usr/local/share/freesbie/extra/customroot/etc/inetd.conf
/etc/inetd.conf をコピーし、ftp の行だけコメントを外す。あと rlogin など適当に。

・あと /etc/hosts なんかも必要だと思う。(それから powerd のために /boot/loader.conf もかな。これは customroot でやらない方がいいかも)

・ユーザー ID、パスワード関係
上の adduser でもできるみたいだけど、/etc/passwd と /etc/master.passwd をコピーすることによってできるみたい。これに関してはまた今度。

参考 HP: http://www.mail-archive.com/freesbie@gufi.org/msg00581.html
0

2006/11/7

FreeSBIE で自宅サーバー  FreeBSD

FreeSBIE を入れてみた。
cd /usr/ports/sysutils/freesbie && make install で /usr/local/share/freesbie になんかキットというかそういうのが入る。

さて cd /usr/local/share/freesbie && make で一応 ISO イメージを作ってくれるんやけど、ユーザーアカウントを増やしたい、static な IP アドレスを指定したい、となるとまだどうやってやるのかようわからん…
なんか extra/adduser.sh とかあって scripts/launch.sh から立ち上げろというけど、立ち上がらん。.done_extra みたいなのがあって、もう extra はやらんでいいでしょうみたいな感じやけど、いったいいつのタイミングでやったらいいねん。

最近、犬の相手と子供の相手で家に帰ってからも週末も忙しいので、もう会社の人からもらった古いマシンに FreeBSD を入れるかー。ちと疲れましたわ…。
0

2006/11/5

ノート PC の HDD  コンピュータ・ハードウェア

今日、自宅サーバーとして使ってきたノート PC のハードディスクが動かなくなった。まあ、熱の逃げにくいノート PC をずっと立ち上げっぱなしにしてたから、ハードディスクが壊れても仕方ないわな。

さてこのサーバー、いつも日本にいる友達が「ボーケンジャー」、「仮面ライダーカブト」等の子供番組を録画したものを、わざわざ送ってくれるために使っていた。友達には本当に頭が下がる。自分自身も「カブト」と「ワンピース」を楽しみにしていたので、今後どうするか対策を練ってみた。

Celeron 2.8GHz、D875PBZLK、新しいケースを買った時点で、古い Celeron 1.7GHz + D845PESV なマシンが余っている。これをサーバーにしようか?でも CPU ヒートシンク・ファンがないので早急に買わなければならない。でも問題は、この Celeron 1.7GHz が結構熱くなることである。Willamette(←おお、自分の住んでる所の地名だ)コアで結構電気も食う。しかもこのマシンのケースの電源が結構安物らしく、不安定。仕方がないのでこれは却下しようと思う。

次にノート PC をまだ活用する方法。IDE なハードディスクを USB で外部接続できるアダプタを買う。見ると $30 ぐらいで買えそう。つい最近 80GB のハードディスクを買った時点で、まだ一つ前のハードディスク(新しいやつとまったく同じ型番の Western Digital PATA 100, 7200rpm, 8MB キャッシュなやつ)が生きていることに気がついた。とは言っても、FreeBSD の dd で毎回同じところでエラーが出るので、完璧ではない。しかしエラーが出るまでの最初の 50GB ぐらいは何とか使えそう。とにかくこいつを IDE <-> USB アダプタにつなぐ。
問題はノート PC の立ち上げ。このノート PC は7年前ぐらいのもので、 Celeron 400MHz, Windows 98SE が入っていたやつで、USB ブートができなさそう。そこで FreeSBIE(ハードディスクなしで立ち上がる FreeBSD)を使ってみようと思う。USB ドライブをマウントして、そこにデータ保存という方法。まだ FreeSBIE は触ったことがないけど、FTP サーバーを立ち上げるぐらいどうってことはなさそう。
うん、これだ。これで行こう。

と言うわけで、今に到ってます。
0

2006/11/3

select()  プログラミング

このあいだ Windows で select() を使おうと思って、色々調べていた。「Windows の select() は UNIX と同じなんかいな。」と。で、

select(0, &rset, NULL, NULL, NULL)

というのを見つけた。ん、select(0,.....) 最初の引数に 0?
普通は maxfd + 1(ここでいつもなんで "+ 1" なんやねんといつも思う)やのに 0 でいいんかいなと思って使ってみたけど、動いてる。

こんなんでええんかいなと思って FreeBSD でも使ってみると、やはり動いた。ちょっと??な気分だった。もう一回確認してみるけど、確か全部の File Descriptor を調べるためにマクロがあったはずやけど、それと同じ働きをするのかな?
訂正!! FreeBSD では動いていませんでした…。すいませんでした。Windows ですが、なんと select() の第一引数を無視しているとのこと。そうなんすか…

まあ max(x, y) を使っていちいち一番大きい fd を探すのも面倒なんやけど。( 0 だと65535 みたいな最大 fd 値までチェックするんやろうか)

どうでもいいけど Windows って、pipe() で開いた fd に select() 使えんのね…。っていうか、SOCKET と普通の File Descriptor って扱いが違うんやね…。ちょっと困るわ…。
0

2006/11/1

PC-BSD 1.2  FreeBSD

家の D875PBZLK マシンに PC-BSD 1.2 を入れてみた。
しかーし、焼いた CD-R の読み取りにエラーが出て、最初はうまくインストールできなかった。なんとか別の CD-ROM ドライブを使って CD #1 だけインストール成功。
うちの CD-RW ドライブは自分で焼いた CD-R も読めなくなりつつある、またはメディアが古くてもうあかんかったんか…。

とにかく日本語パッケージは CD #2 に入っているので、それをあきらめてインストール。

<感想>
nv ドライバではなく、nvidia ドライバにして欲しかった。(Xorg -configure では当然無理なので、自分でやれってか)
Firefox も入れて欲しかった。ついでに Flash Plug-in も自動インストールに。
とりあえず FreeBSD に KDE を入れた感じなんやけど、プリンタも自動的に使えるんやろうか?まあこれからが楽しみかな?
せやけど日本語パッケージをもう一回入れなおさなあかんので
クリックすると元のサイズで表示します
0



teacup.ブログ “AutoPage”
AutoPage最新お知らせ