Investment

日本株をメインとして外国債権・投資信託など、様々な投資についてのしがない戯言と日々のメモ書き。

◆ Vine Linux 3.2 へのアップグレード

 nucl.net の OS であるVine Linuxのバージョン 3.1 を 3.2 へとアップグレードした。そのメモ書き。

 (3.1の状態で)
 # apt-get update
 # apt-get upgrade

 として、/etc/apt/sources.list のバージョンの記述を 3.1→3.2 へ変更

 # apt-get update
 # apt-get dist-upgrade

 このままだとカーネルが入らないので、再び

 # apt-get dist-upgrade

 とすればカーネルがインストールされる。

 次に、lilo の設定。
 /etc/lilo.confに

 image=/boot/vmlinuz-2.4.31-0vl1.8
    label=linux
    read-only
    root=/dev/hda3
    append=" resume2=swap:/dev/hda2"

 と記述して、
 # /sbin/lilo を実行。

 SCSI を使ってなければこのまま再起動しても良いが、念のためinitrd も作っておくことにした。

 # cd /boot
 # /sbin/mkinitrd initrd-2.4.31-0vl1.8.img 2.4.31-0vl1.8

 としてから、/etc/lilo.conf に initrd=/boot/initrd-2.4.31-0vl1.8.img の一行を追加して、
 # /sbin/lilo
 の後、再起動した。

 カーネルがらみは触るのが怖いのでドキドキしたけど、問題なく立ち上がってきた時にはほっとしたなぁ。
PC > Linux | コメントする (0) | トラックバック (0)

◆ Spam対策

 久しぶりに Linux の話。

 最近、Spamが結構な頻度で来るようになったので、こちらを参考にしつつ SpamAssassin を導入することにしました。
 つまりは、Spam かどうかの判断をソフトに任せて、自動的に別の場所に隔離してやろうという作戦。

 まぁ特にこれといって大きな問題は無かったんだが、一部上のサイトのままだと上手くいかない部分があったので、以下のように行った。

# apt-get update
# apt-get install spamassassin
# /usr/share/doc/spamassassin-2.64/sample-japanese-local.cf /etc/mail/spamassassin/local.cf

 届いたメールを、Procmailで処理しSpamAssassinに渡すために、/etc/procmailrc を書いても良いんだけど、それだと色々と融通が利かないので、各ユーザーのディレクトリ配下に .procmailrc を配置することにした。
 そこで、SpamAssassin により Spam と判定されたメールは、~/Maildir/Spam に移すようにする。

 まずは、作成した .procmailrc は

$ vi ~/.procmailrc

PATH=/bin:/usr/bin:/usr/local/bin
MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR/
LOGFILE=$MAILDIR/procmaillog
LOCKFILE=$HOME/.lockmail

:0fw
*!^X-Spam.*
|spamassassin

:0
* ^X-Spam-Status: Yes
$MAILDIR/.Spam/

 となる。
 ~/Maildir/Spam を用意しなきゃダメだから、

$ cd ~/
$ /usr/sbin/maildirmake -f Spam Maildir

 として Spam という場所を確保。

 一部、転送専用のメールアドレスがあるんだけど、その場合の設定としては単に、 .forward に転送先メールアドレスを書いていただけ。

 今回 procmail で .procmailrc を置いたわけだが、.forward で転送されるメールアドレスに、.procmailrc を置いた場合に、.forward が優先されるってことがわかった。

 つまりは、.procmailrc に基づく処理がなされないので、このままではいかん。

 ので、.forward を削除して、procmail でちゃんと転送がなされるように、.procmailrc の最後に、

:0
*
! test@test.test

 と転送先を追加。これで完璧。
PC > Linux | コメントする (0) | トラックバック (0)

◆ 「-」から始まるメールアドレス

 非常にレアなケースだとは思うけど、「-」(ハイフン)から始まるメールアドレスにメールを送った場合に、

 Undelivered Mail Returned to Sender という Subject で、本文に invalid recipient syntaxという書かれたエラーメールが返ってくる。
 ずっと何でだろうと思いながらも対処方法を調べなかったんだけど、ちょっと調べたらすぐに対処方法発見。

 /etc/postfix/main.cf に、allow_min_user=yes を追加すればOKだった。
PC > Linux | コメントする (0) | トラックバック (0)

◆ Virtual Host の設定

 今までこのsbを、http://www.nucl.net/blog/に設置していたわけだが、それを http://blog.nucl.net/に割り当ててみた。そのための設定メモ。

 まず、blog.nucl.net という名前が解決されないとダメだから、DNS に何らかの形で登録する。
 DNSサーバを立てているのであれば、BIND の順引きに CNAME レコードを追加。たぶんサーバ立ててる人だったらわかるだろうけど、「blog IN CNAME www」みたいな感じ。DynamicDNS を利用している場合は、サービス提供してもらってるところで blog.nucl.net がちゃんと通るように設定する。

 で、後は /etc/httpd/conf/httpd.conf に以下を追加。

 ServerName nucl.net
 NameVirtualHost *

 <VirtualHost *>
 DocumentRoot /home/httpd/html
 ServerName nucl.net
 HostNameLookups double
 UseCanonicalName off
 </VirtualHost>

 <VirtualHost *>
 DocumentRoot /home/httpd/html/blog
 ServerName blog.nucl.net
 HostNameLookups double
 UseCanonicalName off
 </VirtualHost>

 これで blog.nucl.net が通じるようになった。
 後は sb の設定を残すのみ。sb の初期設定ファイルを書き直して、管理画面から環境設定でサーバアドレスを変更した後、再構築すればOK。  思ったよりも簡単だったなぁ。
PC > Linux | コメントする (0) | トラックバック (0)

◆ マウスとキーボードの共有

 Linux と Windows の2台のマシンを1組の Mouse と Keyboard で操作しようとするためのメモ書き。

 Windows に接続した Mouse と Keyboard をメインとして、Linux 側の Mouse と Keyboard を乗っ取るようにしたかったんだけど、結果的にはなかなかうまくいかなかった。
 試したソフトの中で一番、おもしろかったのは Synergy っていうソフト。日本語対応版はこちら。Windows でも MacOS でも Linux でも動く。

 とりあえず、両マシンに Synergy を入れて、Windows は主で Linux は従にするつもりだったから、Windows 側で Server 設定を、Linux 側で Client 設定を行う。Server の設定は少々ややこしいんだけど、Windows は GUI で設定できるから何とかなると思う。Linux 側で Client 立ち上げるときは、

$ synergyc -n clientname machinename:24800

とすればいい。かなり簡単で、しかも Clipboard の共有もでき、日本語も問題ない。これでいいかなと思ってたら、どうも従の Linux 側のキーボードの効き具合がおかしい。
 どうも、ゆっくりキーボードたたけば問題無いんだけど、素早く連続的にキーを押すと、字がかぶって入力された。たとえば、「abc」と打ったつもりが、「aabcc」みたいな感じ。
 色々と調べたけどどうも解消方法がわからなかったので、Synergy はあきらめました。

 次に試したのは VNC。Hubbe's Corner で公開している win2vnc と x2vnc を借りました。

 Windows が主で Linux が従の場合は、Windows 側で win2vnc を動かして、Linux 側では vncserver を動かせばOK。Linux 側のコマンドはこんな感じ。

$ vncserver :1 -geometry 1000x750

 もし vncserver が無い場合は、# apt-get install vncserver でOK。
 これで、win2vnc から vncserver を支配すりゃいいわけだけど、これが何故かうまいこと行かなかった。何でだろうな〜。マウスカーソルもキーボードも効かなかったので、これは調査の必要あり。

 そこで、仕方がないので Linux を主に、Windows を従として設定してみることにしてみた。
 まずは、Windows 側で適当な VNC server をたてる。導入したのは Ultr@VNC 。Install した後は、Ultr@VNC Server を立ち上げて、Poller 周りをすべてOFFにした(パフォーマンスが上がるらしい)後 Start。Windows XP 使ってるなら、XP のサービスとして登録しておくのが楽かな。

 で、Linux 側では x2vnc を使う。 Vine Linux 3.1 だと make の時点で X がらみのファイルが無い、みたいなエラーをはかれたので、色々と調査したあげく、

# apt-get install XOrg-devel

 これを入れたらとりあえずコンパイルできるようになった。これに気づくまで本当に大変だったなぁ・・・
 その後、$ ./configure → $ make → # make install したら問題なく install 完了。
 x2vnc の使い方だが

$ x2vnc -west IPaddress:0

 IPaddress は Windows 機の IP address。west ってのは、従のwindows 機を、Linux 機に対して上下左右のどちらに配置するかという設定。west なら左側、right なら右側に windows 機を置けばいい。「:0」は必須だから忘れないように。

 これで、Linuxを主、Windowsを従としたシステムが完成した。マウスが二つのマシンを連続的に動くのはなかなか爽快!キーボードの入力も全く問題なしです

 クリップボードは、Linux側 でコピーしたものを Windows で貼り付けられるけど、逆はどうもうまいこと行かない。日本語が文字コードの問題だろうけど、うまいこと貼り付けられないのは問題だけど、まぁできないよりはよっぽどいい。
PC > Linux | コメントする (0) | トラックバック (0)

◆ WebMail (2)

 この前導入した SqWebMailだけど、hostnameを設定していないがために、メール送信時にFromのアドレスが間違っているいう問題が発生。

 そこで、INSTALLファイルを読むと、解決策が書いてあった。

 /usr/local/share/sqwebmail/hostname というファイルを作り、そこにhostnameを書いてやればいけた。
PC > Linux | コメントする (2) | トラックバック (0)

◆ WebMail

 サーバにWebMail機能を入れるのを忘れていたので、その導入作業メモ。

 現在のメール環境は、Postfix+Courier-IMAP(Maildir形式)なので、これに合ったWebMailとしてSqWebMail for Japaneseを入れることにする。

 まずは、wget して解凍。で、sqwebmailに移動。

$ wget http://www.tom.comm.waseda.ac.jp/~ichi/sqwebmail/japan/sqwebmail-3.3.7-p1.japan.1.4.tar.gz
$ tar zxvf sqwebmail-3.3.7-p1.japan.1.4.tar.gz
$ cd sqwebmail-3.3.7

 次は ./configure だけど、オプションがたくさんあってややこしい。色々と調べたあげく、次のように実行した。

$ ./configure --enable-mimecharset=iso-2022-jp --enable-cgibindir=/home/httpd/html/sqwebmail --enable-imagedir=/home/httpd/html/image --enable-imageurl=/image --enable-draftname=Draft --disable-autorenamesent --enable-https
(実際は、install先のpathは上記とは異なる。セキュリティ確保の為)

 すると、エラー 「configure: error: Cannot find either the gdbm or the db library.」が出た。うーむ・・・

$ rpm -qa | grep gdbm
gdbm-1.8.0-20vl1

 もちろん、入っているよなぁ・・・

# apt-cache search gdbm
gdbm - 拡張可能なハッシングを利用した GNU データベースルーチン
gdbm-devel - gdbm ライブラリ用の開発ライブラリとヘッダファイル
(+ あと5行ぐらい出たけど、省略)

 なんかdevelが入っていないようだ。これが臭いな〜

# apt-get install gdbm-devel

 で、再び上の$ ./configure (--option 達)をすると、ちゃんと通った。後は普通に

$ make
# make install-strip
# make install-configure

 make install-stirip の際に出力された指示の通り、cleancashe.pl をcron jobに追加 & authdaemond startの rc.d への追加。

# crontab -e
30 5 * * * /usr/local/share/sqwebmail/cleancache.pl

# vi /etc/init.d/authdaemond (新規作成)
#!/usr/sh
/usr/local/share/sqwebmail/libexec/authlib/authdaemond $1
 として、
# chmod 755 /etc/init.d/authdaemond して、
 /etc/rc.d/rc3.d/ と /etc/rc.d/rc5.d/ にリンクはった。

 で、authdaemond を起動しておく。

# /etc/init.d/authdaemond start

 これでとりあえずできあがり・・・のはずが、https://www.nucl.net/sqwebmail/sqwebmail にアクセスしたけど、apacheの設定がどうも合わないようで、実行してくれない。で、ちゃんとsqwebmailのマニュアルを読むと、sqwebmail は場所を変えても名前を変えてもちゃんと実行されるらしいので、対処療法だけど、

# cd /home/httpd/html/sqwebmail
# mv sqwebmail sqwebmail.cgi

 と拡張子cgiを付けるとちゃんと実行してくれた。
 これでようやくできあがり。
PC > Linux | コメントする (0) | トラックバック (0)

◆ Ruthemis

Ruthemisを導入した。いわゆるIRCボット。
といっても、なると(@)の配布機能しか無いけどね。

まず普通にruthemis.v4.5.tar.gzをwgetして、

$tar zxvf ruthemis.v4.5.tar.gz

して解凍。

etc/ の irc.config.rb と joinchannel.config.rb 、nick.config.rb を適切に修正した後、普通に実行した。

$ruby src/irc.class.rb wide &
$ruby src/nalter.class.rb wide &

これで、正常になると配布機能も普通に動いた・・・んだが、問題発生!
ssh のコンソールから作業をしていたんだけど、この画面を閉じると
同時に、ruthemis も終わってしまう。

そこで、我が Unix の先輩に解決策を聞いた。
とりあえず結論だけを記すと、

$nohup ruby src/irc.class.rb wide &
$nohup ruby src/nalter.class.rb wide &

と、nohupコマンドを噛ませばよいらしい。
nohup は hangup signal を無視してくれるようだ。
これでもいいんだけど、nohup から ruby ・・・ の output が
出されちゃうから、

$nohup ruby src/irc.class.rb wide > /dev/null &
$nohup ruby src/nalter.class.rb wide > /dev/null &

とすりゃ、これで万事解決だ。
PC > Linux | コメントする (0) | トラックバック (0)
1/1