2005年06月27日

CentOS

現在のメインサーバのOSはWhiteBox EnterpriseLinux3を使用している。
が、だんだん活動が鈍ってきて最近はほとんどパッチの更新などのメンテナンスがなされていない。

まぁ個人のサーバだしそれほど本気で攻撃はされないとは思うが穴がふさがっていないというのは落ち着かない。
そこで同じくRedHat EnterpriseLinuxのクローンのCentOSに乗り換えようかと思う。
こちらは活発に更新されていてよさげだ。

しかし乗り換えるのも簡単にはいかない。
再インストールになるがWebサーバ、Mailサーバ、プロキシサーバ、CVSサーバ、FTPサーバ、Samba,NFS...etcと設定するのが大変だ・・・。
一番の問題はMailサーバだな。
すでにrainbowdevil.jpドメインでのアドレスを運用しているのでサーバがメンテナンス中にメールを受け取ることができない。何度か失敗したら送信元に戻ってしまうだろう。
Mailサーバはいろいろ苦労して入れたので作業ログをもう一度見てやり直したとしてもうまくいくかは疑問だ・・・。

あー、メンドイ。でも入れ替えないと危険だし・・・、でもメンドイ。

2005年06月24日

祝 初ストップ高

俺はATOKユーザなのでJUSTSYSTEMがわりと好きだ。

と言うことでJUSTSYSTEMの株を持っている。
新製品を買うと3000円分のキャッシュバックが株主優待と言うことでそれ目的に100株。

そして今日めでたくストップ高。
約400円で購入し現在約500円。
100株しか買ってないので含み益は1万円にも達していないが初のストップ高と言うことでちょっとうれしい。
売っちゃった方が株主優待よりも利益になりそうだがまぁどうせ100株だし様子を見るかー。
justsystem1.PNG

2005年06月23日

SoftwareRAID

今までメインのサーバにHDを大量に、そして強引にぶち込んでファイルサーバを構築していたが、さすがに夏は温度が危険なレベルに達したのでメインのサーバのHDの量を減らした。

hddtempで温度をチェックすると50度以上、実際にHDを数秒さわるともう我慢できなくなるほど熱い。
さすがにこのままだと壊れるのでHDを2台減らし、さらにHDに風が当たるようにFANを設置。
小さいFANが無かったので古いCPUのFANを使った。
Athlonについていたファンなので小さいが風量がすごい。ガンガン冷える。
ついでに爆音もすごい。夜中の静けさの中、ドアを開けたら1階の廊下までFANの音が聞こえる。(サーバは2階に置いてある)

でもそのおかげで30度台までHDの温度は低下した。
これで安心。


で、減らしたHDをGentooマシンに接続、余っているHDもついでに接続。
余っていたHDはちょっと古いHDなのでそれぞれ容量が小さく、ファイルサーバに使うにはちょっと不便。

そこでRaidにしてみる。
特に重要なデータは置かないのでミラーリングではなく単純に複数のHDをまとめるリニアモードでRaidを構築。
RAID-0でも良かったがそれぞれのHDのサイズが違うので今回はリニアモードにした。

構成がコロコロ変わる予定のテスト用サーバでRaid組んだら後々めんどくさいことになりそうな気もするがまぁいいだろう。

以下GentooでSoftwareRAID linearモードで構築したメモ
カーネルはgenkernelで作成されたカーネルを使用。

まずraidtoolsをインストール
#emerge raidtools

ドライバ入れる
#modprobe linear

デバイス作成
#cd /dev
#MAKEDEV md

/etc/raidtab作成
raiddev /dev/md0
raid-level linear
nr-raid-disks 3
device /dev/hdb1
raid-disk 0
device /dev/hde1
raid-disk 1
device /dev/hdf1
raid-disk 2

リニアモードでpersistent-superblockを指定すると失敗するようだ。

raid作成
#mkraid /dev/md0

ファイルシステム作成
#mke2fs -j /dev/md0

そして普通にマウントしたら使用可能になる。

起動時にRAIDが有効になり、マウントされるためには
/etc/modules.autoload.d/kernel-2.6
にlinearと言う行を追加する。
そして/etc/fstabにいつものように記述する。

"SoftwareRAID"の続きを読む

2005年06月20日

謝る

WhiteBox EnterpriseLinuxでsu -のパスワードを間違う。

 $ su -
 Password: XXXX
 su: パスワードが違います

普通に怒られる。

Gentooでsu -のパスワードを間違う。

 $ su -
 Password: XXXX
 su: Authentication failure
 申し訳ございません.

えっ?謝るのは俺の方かと・・・。

メモリテスト

休日に余ったパーツを組み合わせて新しいマシンを組んだ。
そしてそれにGentooをインストール。
が、どうもうまくいかない。
インストール途中にカーネルパニックを起こす。
しかも場所が不特定。

CPUにCeleron2Gを入れているがCerelonのCPUのピンを曲げてしまったのが原因かなと思ったが違うようだ。
ちなみにピンはCPUチップの四隅のピンを豪快に曲げてしまったが真っ直ぐに直せばちゃんと刺さり動作した。

出るエラーメッセージをググるとどうもメモリ関連のエラーらしい。
そこでmemtest86を試してみる。
今までメモリテストにはFDが必要と言うことでFD無いしめんどくさいからやっていなかったがCDバージョンもあると言うことで早速焼いて実行してみた。
実行と言っても焼いたCD入れて起動するだけで自動的にテストされる。

するとテスト開始数秒で画面がエラー表示で埋め尽くされ真っ赤になってしまった。
こいつが原因か・・・。
以前のサーバで使っていたメモリなので当時のサーバの動作がおかしかったのはメモリのせいだったかもしれない。
HD変えてもマザーボード変えても動作がおかしかったので新しいマシンを買ってしまったがメモリ交換すれば正解だったのか・・・。

問題がメモリとわかったので無駄にメモリを1.5G積んでいるLinuxマシンから512M分けてもらい新しいGentooマシンに刺してみる。
すると何も問題なくインストールできた。

今までメモリ関連でエラーになったことがなかったのでそこまで気が回らなかったが確かにメモリは相性とか安い粗悪メモリとか話題になるからメモリで問題になるのは割と普通かもなぁ。

動作が怪しいときはメモリチェック、一つ教訓が増えた。

2005年06月19日

デュアルモニタ

Linuxでデュアルモニタにしてみる。
グラフィックカードはG550、OSはTurboLinux10F

ちなみにG550をさすと次の起動時 Xの起動に失敗するが、失敗した後の設定画面でグラフィックカードの自動検出をするとG550が設定されて正しく起動できる。

参考は
http://sake-nikki.dyndns.org/sakelog/2002/05/13#file1262

まず何も設定せずG550に2台のモニタを繋いでみる。
同じ内容が2台のモニタにそれぞれ出力された。

そしてデュアルモニタの設定をする。
変更箇所は/etc/X11/XF86configのみ

まずSection "Device"でそれぞれの画面の設定をする。
Section "Device"
Identifier "Card0-0"
Driver "mga"
VendorName "Matrox Graphics, Inc."
BoardName "MGA G550 AGP"
BusID "PCI:1:0:0"
VideoRam 32768
Screen 0
EndSection

Section "Device"
Identifier "Card0-1"
Driver "mga"
VendorName "Matrox Graphics, Inc."
BoardName "MGA G550 AGP"
BusID "PCI:1:0:0"
VideoRam 32768
Screen 1
EndSection
こんな感じでIdentifierに名前を設定しScreenに画面番号を入れる。
1枚のグラフィックカードで2台繋ぐのでIDと画面番号以外は同じ。


それをSection "Screen"に記述。Screen1を使う方も作成。
Section "Screen"
Identifier "Screen0"
Device "Card0-0"
Monitor "Monitor0"
な感じで。
Monitorは今回両方同じモニタなのでどちらともMonitor0を設定。

そしてSection "ServerLayout"を設定。
ここで2台のモニタがどう並ぶかレイアウトを設定する。
Section "ServerLayout"
Identifier "Dualhead"
Screen "Screen0" LeftOf "Screen1"
Screen "Screen1"
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
Option "Xinerama"
EndSection

XFce4だとデュアルモニタに完全に対応している感じ。
壁紙設定もちゃんとモニタごとに設定できる。
ただビデオオーバーレイはメインのモニタしか表示されなかった。

設定大変そうかと思ったけど割と簡単だったな。

2005年06月15日

状態によってメニューの使用可不可を設定

JFaceの場合

MenuManager#addMenuListenerでIMenuListenerを設定

メニューが表示された場合に呼ばれるmenuAboutToShowをオーバーライドする。
Action#setEnabled(boolean)でセット

Actionに対してListenerを設定できないのでSWTより不便かも

2005年06月14日

ファイル操作

ファイラの機能でファイルのドラッグアンドドロップやファイルコピペでのコピーは移動は必須だ。

まぁコピーはプログラムで実装できる。ファイルを読み込みつつ書き込めばOKだ。
が、ファイルの移動は難しい。
JavaでFile#renameTo(File)で同じディスク内で移動はできるが、別のハードディスクに対してrenameToすると失敗する。
ファイルのポインタは変更できるが別のディスクへの移動は自分で実装しないとダメそうだ。

自分で実装したファイルコピールーチンを動かし、コピー元ファイルを削除すればファイルの移動はできる。
Windowsだと通常これで問題ないだろう。

が、Linuxだと問題が起こる。
たとえば、ユーザAが作成したファイルを管理者がこの方法で移動した場合、移動させたファイルが管理者のモノになってしまう。
コピー先のファイルは "コピーした人が新規作成したファイル" になるからだ。

と言うことでやっぱりcpコマンドやmvコマンドを発行しないとダメだ。美しくないが仕方ないだろう。


俺的メモ
XMLでコメント読み書き

for( int l = 0 ; l < childNodeList.getLength() ; l++ ){
Node node = childNodeList.item(l);
if( node.getNodeType() == Node.COMMENT_NODE ){
System.out.println("コメント:"+node.getTextContent());
}
}
Document#createComment("コメント")

新曲

新曲発売キターー
ESCL-2659.jpg
ドラマチック YUKI

とりあえず予約。
33歳萌え。

2005年06月13日

Linuxで使うことを考慮したファイラ

この土日でちょっとファイラを作ってみた。

名前は「カメレオンルミィ」
他にJExplorerとか考えたけどいまいち当たり前すぎるしExplorerって名前はDBExploereでも使ってるのでやめておいた。名前の由来はとある曲から。

開発の方針はLinuxで使えるExplorer風ファイラ。
画面はタブ式で左右のペインに分けることができる。
アドレスバーはシェルのパス補完のように補完ができる。
ファイルダブルクリック時の実行ファイルはカスタマイズ可能に。

chameleonrumy20050614.png

ファイルツリー部分やリスト部分はJFaceのTreeViewerやTableViewerを使えば楽に作成できたので良かった。

ただJavaの限界もあり、Linuxでのファイル権限、ファイル所有者やグループの取得ができない。
Windowsではエクスプローラのようにデスクトップやマイコンピュータが表示されない。など。
まぁデスクトップは実体のフォルダが固定だから決めうちでやればできるけどまぁこのツールはLinuxをメインに考えてるのでそこまではいいだろう。

あとJavaからだとファイルの移動やコピーが簡単にできないのが辛い。
コピーはファイルを読み込みつつ書き込みで自分で実装しないとダメだし、ファイルの移動はLinuxの場合はmvコマンドを発行、Windowsだとmoveコマンドをそれぞれコマンド実行しないとダメそうだ。


すでにファイル閲覧部分は完成しているので二日で割と使えるツールになった。
自分で欲しいなと思うツールが自分で作れるのでこういうとき「プログラマで良かった」と思える瞬間だな。

2005年06月09日

液晶モニタ

今までLinuxマシンのモニタは飯山の安い19インチCRTだった。
とてもデカイので部屋のスペースを無駄に消費していた。

と言うわけで液晶モニタ欲しいなぁと思っているところへDellの19インチモニタが半額セール!との事でこれは買いだなと2台注文。
なんと1台2万円う〜む、安い。
ホントは公共機関向けの割引クーポンがどうも一般向けにも適用できるとのことでDellの設定ミスかも。
ホントに買えるか半信半疑だったが無事に今日到着。
入金確認も発送通知も何もなかったのでいきなり届いてびっくり。

んで早速Linuxマシンに装備。
が、映らない。
モニタのスペックは最高1280x1024のリフレッシュレートが75まで出るとのことだがモニタは映らなかった。CRTだと表示できるのでモニタに問題があるのだろう。
一応モニタの推奨環境は1280x1024の60なのでリフレッシュレートを60に下げてみる。

/etc/X11/XF86config のモニタの設定を
HorizSync 31.5-64.3
に修正。これで60に下げることができた。

今まで1024x768だったのでデスクトップが広々として快適だ。

だがやはり安いモニタはダメダメでちょっと角度を変えると色が変わって見えるし、文字も滲んで見える。
滲んで見えるのはグラフィックカード(オンボード)のせいかもしれないが・・・。

と言うことでいくら安くても液晶モニタでアナログ入力しかないのなんてダメと言うことで・・・。
デジタル出力のカード買ってきてアナログ変換したら多少ましになるのだろうか。
この滲みはモニタが悪いのかどうかは判断できないなぁ。

さて、次はビデオカード買ってデュアルモニタに挑戦だ。
Windowsだとデュアルモニタは楽勝でできるがLinuxだとどうなるだろう。
今回リフレッシュレート設定するのも一苦労だったしなぁ。

まぁ何はともあれ液晶は場所取らなくて最高!

モチベーション

最近全然DBexplorerいじってないなぁ。
やっぱDB使わないとDBexplorerで「こういう機能が欲しい!」って思うことが少なく、モチベーションが上がらない。

そして次に作りたいプログラムのアイデアが・・・。
最近LinuxをいじっていてWindowsのExplorerみたいなのでイイの無いかなぁと思って探してみるけどどれも微妙。
一番近いのはKonquerorだけどこれも微妙・・・。
普通にLinuxを使う分にはターミナルからファイルを操作するのでExplorerのようなファイラは要らないけど音楽の再生などMP3ファイルを選ぶときはExplorerのようなタイプの方がよい。
Cxplorerが良い感じだけどあっさりしすぎてもうちょっと機能が欲しい。

Javaで簡単なのはさくっと作れそうだけど手を出してみるべきかどうか・・・。
絶対途中で飽きそうな気もするが・・・。

要求する機能としては
・外見はExplorerぽい左がツリーで右がファイルリスト
・ドラッグアンドドロップでファイルのコピーor移動ができる
・タブ化
・ファイルダブルクリックで実行、このとき関連付けはカスタマイズ可能(通常はデフォルト)
・ファイル選択でプレビュー機能
・アドレスバーパス補完

といった感じか。
でもまともに使えるツールにしようと思ったらやっぱり簡単には作れなさそうだなぁ。
ローマは一日にして成らず。便利なツールなど簡単に作れるモノじゃないって事だなぁ。(アイデア勝負は除く)

2005年06月08日

Gentooイイカモ

激しくコンパイルに時間がかかること以外は結構イイカモ。

Maskedされてるヤツをインストールするときは
ACCEPT_KEYWORDS="~x86" emerge APPNAME

ebuildJP
http://www.gentoo.gr.jp/jpmain/ebuild-uploader.xml

2005年06月05日

Gentoo

家に古いマシンが余っていたのでGentooに挑戦してみる。
パッケージ管理が独自のものでしかもすべてコンパイルしてインストールという何というかマッチョなディストロだ。その分カスタマイズ性に優れているらしい。またコンパイルするCPUで最適化されるためより高速に動作する、かも。

インストールは最近のディストロの用に「次へ」ボタンではインストールできない。
が、公式サイトにかなり詳細なインストールマニュアルがあるので楽にインストールすることができた。

apt-getやyumのように emerge hogehoge と入力するだけで自動でインストールしてくれるのは便利だが、このときすべてコンパイルから始まる。
よって恐ろしいぐらい時間がかかる。
P4 3.2GのVMware上でやったときはそれほど気にならなかったが、古いP3 600Mhzのマシンではめちゃ時間がかかる・・・。
emacsをインストールするのに6時間かかった・・・。
emacsインストールすると自動でX Window環境もインストールされたのでそのせいでもあるが・・。

でもおもしろそうなのでもう少しいじってみる。

2005年06月その他のエントリー