Linux 設定日記

設定したことを忘れないように書いてあります。

2009.04.07
RAIDの再作成

LILOの設定がやっと終わり、RAIDを再構成。 もとのディスクの/dev/hdacはバックアップ用なので、だめもとでpartedが使えないかと試したが、 raidデバイスの片割れでは、知らないディスクタイプとエラーがでる。

仕方ないので一度パーテションを開放して再構築。 mdadmでRAIDを再構築したが、微妙にタイミングがあわなかったみたいで、ブロックサイズを合わせているにも関わらず、makefsをすると、

mkfs -t ext3 /dev/md4
No such device or address while trying to determine filesystem size. 

となる。なので blockdev --readapt としてパーテションテーブルを再度よみなおしたら、フォーマット可能となった。

2009.04.06
ディスク

スペイン旅行の写真をストレージに保存したら、ディスクの容量がなくなってしまった。 現在raidは80Gと250Gの2本で組んでおり、写真の保管領域は17G程度。250Gのほうの余った160G程度はoptにマウントしてバックアップにしている。 バックアップは一時的には削除してもかまわないので、二つのパーテションを一つにすることで、容量アップを狙う。

まず80Gのディスク(/dev/hdc)を取り外して起動してみるが、L 01 01 ... 01となって起動しない。/dev/hdcを再度接続すれば起動する。 起動は、/dev/hdaから起動されている(LILOメニューが違う)のに、/dev/hdcがはずれていると起動できない。

で、biosパラメータを変えたり、MBRに書き込むオプションを入れたりしていたが結局、
boot=/dev/hda を boot=/dev/md1

raid-extr-boot=/dev/hda,/dev/hdc
を追加したのが効果があった。たぶん。

2009.03.31
ClamAVのアップデート

また

LibClamAV Warning: ***********************************************************
LibClamAV Warning: ***  This version of the ClamAV engine is outdated.     ***
LibClamAV Warning: *** DON'T PANIC! Read http://www.clamav.net/support/faq ***
LibClamAV Warning: ***********************************************************
というメッセージがでる。ClamAVがアップデートされたようだ。 無視したいところだが、cronのメールがたまるので、再度アップデートすることに。

SOURCEFORGE.JPにはclamav-updateなるプロジェクトもあるようだが、パッケージ管理を作るのがめんどくさくて前と同じ方法をとることにした。

パッケージの作成方法は、取得するtarballが異なるだけで前回と同じ

--- clamav.spec.org 2008-12-24 00:00:00.000000000 +0900
+++ clamav.spec     2009-03-31 00:00:00.000000000 +0900
@@ -1,7 +1,7 @@
 Summary: Clam AntiVirus
 Summary(ja): Clamアンチウィルススキャナ
 Name: clamav
-Version: 0.93.3
+Version: 0.95
 Release: 1%{_dist_release}
 License: GPL
 Group: Applications/System
アップデートしたらfreshclamを起動。
ClamAV update process started at Tue Mar 31 00:00:00 2009
main.cvd is up to date (version: 50, sigs: 500667, f-level: 38, builder: sven)
nonblock_connect: connect timing out (30 secs)
Can't connect to port 80 of host db.jp.clamav.net (IP: 120.29.184.26)
Trying host db.jp.clamav.net (218.44.253.75)...
Downloading daily-9155.cdiff [100%]
Downloading daily-9156.cdiff [100%]
Downloading daily-9157.cdiff [100%]
Downloading daily-9158.cdiff [100%]
Downloading daily-9159.cdiff [100%]
Downloading daily-9160.cdiff [100%]
Downloading daily-9161.cdiff [100%]
Downloading daily-9162.cdiff [100%]
Downloading daily-9163.cdiff [100%]
Downloading daily-9164.cdiff [100%]
Downloading daily-9165.cdiff [100%]
Downloading daily-9166.cdiff [100%]
Downloading daily-9167.cdiff [100%]
Downloading daily-9168.cdiff [100%]
Downloading daily-9169.cdiff [100%]
Downloading daily-9170.cdiff [100%]
Downloading daily-9171.cdiff [100%]
Downloading daily-9172.cdiff [100%]
Downloading daily-9173.cdiff [100%]
Downloading daily-9174.cdiff [100%]
Downloading daily-9175.cdiff [100%]
Downloading daily-9176.cdiff [100%]
Downloading daily-9177.cdiff [100%]
Downloading daily-9178.cdiff [100%]
Downloading daily-9179.cdiff [100%]
Downloading daily-9180.cdiff [100%]
Downloading daily-9181.cdiff [100%]
Downloading daily-9182.cdiff [100%]
Downloading daily-9183.cdiff [100%]
Downloading daily-9184.cdiff [100%]
Downloading daily-9185.cdiff [100%]
Downloading daily-9186.cdiff [100%]
daily.cld updated (version: 9186, sigs: 37762, f-level: 41, builder: ccordes)
Database updated (538429 signatures) from db.jp.clamav.net (IP: 218.44.253.75)

2009.01.07
Active Perl 5.10でDBD:mysqlが動かない

Active PerlをVersionUpしたら、DBD:mysqlが動かない。良く覚えていないが、Perl 5.8のDLLエラーだった。

現在利用してバージョンが5.10系なので、アップデートしていないことが問題かと思い、PPMから再インストールしようとしたら、Reinstallが選べない。 仕方ないので、一度アンインストールしてからと、アンインストールを実行すると、PPMのリストからDBD::mysqlが消えてしまった。

しかたないので、Pure Perlで記述されているDBD::mysqlPPをインストールしてみた。 ちょっと試した段階では、問題なさそうと思っていたが、select時に、where節を入れるとすごく遅くて使い物にならなかった。

なんとか対処する方法を捜していたら、ActiveStateには存在しないが、リポジトリを追加すれば選択できるようになると判明。

Edit -> PreferenceからRepositoriesのタブを選択して、Suggestedのリストボックスからuwinnipegを選択し、AddしたらDBD::mysqlが選べるようになった。 一応ロケーションも書いておくと、http://cpan.uwinnipeg.ca/PPMPackages/10xx/。

再インストールしたDBD::mysqlでは、実用的な速度になった。

2008.12.21
ClamAV

linuxでもアンチウイルスが必要かと思ってclamavをインストール。普通にapt-get clamavとしたのだが、daemonが立ち上がらない。

エラーメッセージはconfファイルが読み込めないというので、/etc/clamd.confと/etc/freshclam.conf中のExampleをコメントアウトしたら立ち上がった。だが、

LibClamAV Warning: ***********************************************************
LibClamAV Warning: ***  This version of the ClamAV engine is outdated.     ***
LibClamAV Warning: *** DON'T PANIC! Read http://www.clamav.net/support/faq ***
LibClamAV Warning: ***********************************************************
というメッセージがでる。Vineのパッケージは古いようだ。 しかたなく、ソースパッケージをリメイクすることとした。

まずはapt-get source clamavでソースを取得。rpm -i clamav-0.93.3-1vl4.src.rpmで展開。うちの環境では/usr/srcにインストールされる。

/usr/src/redhat/SOURCEにsourceforgeから取得した最新の0.94.2のtar ballを置く。 /usr/src/redhat/SPECにある、clamv.specファイルを編集。といっても、varsionを0.93.3から0.94.2に書き換えるだけ。

rpm -ba clamv.specとして、パッケージを作成。ソースパッケージは不要なので本当は-baでなく-bbで十分なんだが、いつもソースパッケージも作っている。

ビルドしたときに、依存関係のエラーがでたので、apt-get install curl-devel gmp-develとして、追加でインストールした。

/usr/src/redhat/RPMS/i386/にclamav-devel-0.94.2-1vl4.i386.rpmが作成されるので、rpm -Uvh clamav-devel-0.94.2-1vl4.i386.rpmでインストールすることでアップデート完了。

2008.10.22
和布蕪(MeCab)

過去ログを眺めていると、昔は和布蕪(MeCab)を利用していたことを思い出した。

当時はVineを使ってたのだが、その後、Debianに変更した際にnamazuがMeCabに対応していなかったため、しかたなくKakasiを使っていた。

今回のアップデートを行ったことで、Mecabに対応できたので、ここからパッケージをダウンロードしてみた。問題なし。

2008.10.21
NamazuでNegative Numberのエラー

昔からnamazuを利用して全文検索を提供しているのだが、しょっちゅうインデックスが作成できなくなる。 大抵は、「ASSERTION ERROR!: NMZ.r and NMZ.t are not consistent」なので、インデックスを削除して 再作成すれば問題ないのだが、今回は、「The "negative number" problem occurred.」で落っこちる。

Webを確認すると、メモリ or ハードディスクエラーで致命的な障害となっているが、特定のディレクトリの ファイル群をインデックス化するときにのみ起こる(ファイルは同じではない)、かつメモリー&HDDには特に 異常メッセージが発生していないので、namazuの問題と推測した。

かといってできることは限られている。最新版のインストールをするのみ。 現状のnamazuは、2.0.17 RC4となっている(どこから拾ってきたのか記憶にないが、サポートページにはない)。 最新は2.0.18なのでバージョンアップすることにした。

tar ballからのアップデートなら簡単そうだが、debパッケージで管理しているので、パッケージを作成した。 しかし0から作成するのは面倒なので、まずは、apt-get source namazu2として、ソースファイルを取得した。 これは、2.0.14のソースファイルであった。 このソースファイルと、2.0.18のtarballを/root/debに展開し、2.0.14のdebianディレクトリを2.0.18にコピーした。

その上で以下の様に編集。
debian/controlはそのまま。 debian/changesの一番上に、2.0.18の行を追加。subversionは1.0にしておく。 debina/rulesで、libnmz.so.7.0.0を7.1.0に変更。 dh_movefiles -plibnmz7 --sourcedir=debian/$(tmp) \ usr/lib/libnmz.so.7 usr/lib/libnmz.so.7.0.0 この状態で、/root/deb/namazu-2.0.18のディレクトリに移動し、dpkg-buildpackage -rfakerootを実行。 依存関係でいくつかインストールしなければならないパッケージが存在したためエラーとなったが、 対象パッケージをインストールすることで、

 libnmz7-dev_2.0.18-1.0_i386.deb
 libnmz7_2.0.18-1.0_i386.deb
 namazu2-common_2.0.18-1.0_all.deb
 namazu2-index-tools_2.0.18-1.0_all.deb
 namazu2_2.0.18-1.0_i386.deb

のファイルが作成された。証明書が見つからず電子署名ができないというメッセージがでたが配布するわけでは ないので問題ない。