2005/03/18(金)環境変数に関する勘違い
2005/03/18 23:00
これまでの自分の理解だと、Unixの環境変数をシステムにを大域的というか、ユーザーがシェル起動時に設定するものと、システムが起動時に設定するもので構成されていてどちらもシステム全体に影響を及ぼすようなものだと考えていた(Windowsチック)。だからログインシェルでMAILQUEUEを設定してやれば他のプロセスの環境変数もそれに従うように考えていた。
正しくは、Unixの環境変数は個々のプロセスが保持する。環境変数は親プロセスから子プロセスに継承されるものと、そのプロセスだけでしか有効でないものがある。bash系のシェルスクリプトで代入した時点でそのプロセスで有効となり、exportすると子プロセスでも有効になる。
だから、シェルスクリプトに環境変数の設定を書いて実行(シェルの子プロセスでは設定されたが)させ、シェルから確認したら「アレ、設定されてないぞ???」(親に戻ってきたらその設定は消えた)ってのは当たり前なのだな。
正規の環境変数の調べ方は以下。
例:qmailのMAILQUEUE環境変数を調べる
$ ps -e | grep qmail-send
$ cd /proc/<proc_number>/environ # cat environ | tr '\00' '\n' | grep MAILQUEUEで、ちゃんと設定されていればOK。trを使っているのは、environに記載される環境変数は\00で区切られているから。
[参考サイト]
man-pagesはちゃんと活用しないとダメだっつの。
http://www.linux.or.jp/JM/html/LDP_man-pages/man5/environ.5.html
http://www.atmarkit.co.jp/flinux/special/proctune/proctune01b.html
2005/03/18(金)swap領域の確保しなおし
2005/03/18 5:00
spamassassinを使っていると凄まじく重くなっていた問題。原因は物理メモリを使い切ったことなのだが、にしてもこんなに重くなるのは挙動不審だと思ったら、どうやらスワップが設定されていないらしい。
スワップ領域の確認
# free total used free shared buffers cached Mem: 124552 110944 13608 0 3608 20852 -/+ buffers/cache: 86484 38068 Swap: 0 0 0おいおいおいおい!
swapを0にしたことはないぞ。
別の方法で確認。
# cat /proc/meminfo MemTotal: 124552 kB MemFree: 13584 kB Buffers: 3636 kB Cached: 20856 kB SwapCached: 0 kB Active: 45332 kB Inactive: 4764 kB HighTotal: 0 kB HighFree: 0 kB LowTotal: 124552 kB LowFree: 13584 kB SwapTotal: 0 kB SwapFree: 0 kB Dirty: 4 kB Writeback: 0 kB Mapped: 31944 kB Slab: 50476 kB Committed_AS: 115528 kB PageTables: 1096 kB VmallocTotal: 909276 kB VmallocUsed: 724 kB VmallocChunk: 908552 kB # cat /proc/swaps #やっぱり動いていない。
起動設定を確認。
# cat /etc/fstab # /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> /dev/hda1 / ext2 errors=remount-ro 0 1 /dev/hda2 none swap sw 0 0 proc /proc proc defaults 0 0 /dev/fd0 /floppy auto user,noauto 0 0 /dev/cdrom /cdrom iso9660 ro,user,noauto 0 0おかしいな。やはり起動設定(fstab)には書かれているし、インストール後にswapの確認をした記憶がある。HDDを入れ替えたときになんかやっちゃったか。
# fdisk /dev/hda コマンド (m でヘルプ): p ディスク /dev/hda: ヘッド 16, セクタ 63, シリンダ 77520 ユニット = シリンダ数 of 1008 * 512 バイト デバイス ブート 始点 終点 ブロック ID システム /dev/hda1 * 1 73504 37045858+ 83 Linux 領域 1 はシリンダ境界で終わっていません: 物理=(1023, 254, 63) (1023, 15, 63) であるべきです /dev/hda2 73504 75592 1052257+ 83 Linux 領域 2 はシリンダ境界で終わっていません: 物理=(1023, 254, 63) (1023, 15, 63) であるべきです /dev/hda3 75592 77520 971932+ 82 Linux スワップ 領域 3 はシリンダ境界で終わっていません: 物理=(1023, 254, 63) (1023, 15, 63) であるべきですビンゴ。パーティションがおかしいっつね。うちは色々な理由(ウソ)があってswap以外パーティション切らないでやっているが、hda2は切った記憶がない。サイズも中途半端だし、こいつはなんだろう。
マウント確認。どうでもいいけど、mountって打つとPC-8001を思い出す。
# mount /dev/hda1 on / type ext2 (rw,errors=remount-ro) proc on /proc type proc (rw) devpts on /dev/pts type devpts (rw,gid=5,mode=620) tmpfs on /dev/shm type tmpfs (rw) sysfs on /sys type sysfs (rw) usbfs on /proc/bus/usb type usbfs (rw)マウントされてない。
確認のためにマウントして覗いてみる。
# mkdir /mnt/hda2 # mount -r -t ext2 /dev/hda2 /mnt/hda2 # ls -alF /mnt/hda2/ 合計 56 drwxr-xr-x 3 root root 4096 4月 19 2003 ./ drwxr-xr-x 3 root root 4096 3月 17 20:45 ../ drwxr-xr-x 2 root root 49152 4月 19 2003 lost+found/ debian:/mnt/hda2/lost+found# ls -alF 合計 52 drwxr-xr-x 2 root root 49152 4月 19 2003 ./ drwxr-xr-x 3 root root 4096 4月 19 2003 ../使われていないよう。hda2パーティション消そう。Linux上でhda3->hda2への差し替え方法が無いか調べてみたけど、なんか怖いことが書いてある情報しか出てこなかったのと今回は時間がないのでPartitionExpertで強引に切り直す。fdiskもようわからんし。
hda2消去、hda1をhda1+hda2まで拡張する。で処理時間3分強。swapがデバイスID:hda3のままなのでいったん消去して確保し直す。PartitionExpertはlinuxのデバイスIDが確認できるところがすばらしいが、変更できるとなおいいのにな。
再起動
# free total used free shared buffers cached Mem: 124552 115604 8948 0 2668 40500 -/+ buffers/cache: 72436 52116 Swap: 971924 0 971924いよし。
[参考サイト]
http://www.math.kobe-u.ac.jp/~kodama/tips-free-memory.html
http://www.glasscom.com/tone/linux/SysManage/Disk.htm
http://www.a-yu.com/opt/fdisk.html
http://x68000.q-e-d.net/~68user/unix/pickup?mount
2005/03/15(火)qmail-scanner(qmail-scanner インストール編)
2005/03/15 11:00
~Qmail Scannerインストール編~
Qmail Scannerをインストールしてウイルスチェックが出来るところまで。
●Qmail Scannerには以下のパッケージが必要。
・unzip
zip添付を開くのに必要
・Perl 5.005_03+以上
-PerlのTime::HiResモジュール
ナノセカンド精度のタイマーモジュール
-PerlのDB_Fileモジュール
Berkeley DB によって提供されている機能をPerlプログラムで使えるようにする
-suidperl
ディストリビューションによってパッケージ名が違う。debianではperl-suid
・MailDropのreformime
MIMEの展開・再構成に使うっぽい
・TNEF
MS OEやExchangeがリッチテキスト形式のメールを送る際に添付する、application/ms-tnefタイプの情報を読めるようにする。この時普通の添付もこれに吸収されてしまう?
・qmailqueue-patch
環境変数QMAILQUEUEを使えるようにする。qmailはQMAILQUEUEで設定されたキューにメールを渡すようになる。
[1]unzip確認
$ which unzip /usr/bin/unzip[2]perlバージョン+モジュール確認+perl-suidインストール
(1)Perlバージョンの確認
$ perl -v This is perl, v5.8.3 built for i386-linux-thread-multi(2)モジュールの確認
$ perl -mTime::HiRes $ perl -mDB_File $ perl -mSys::SyslogCan't locateで怒られないのでインストール済み。
(3)suidperlのインストール
aptをtestingにして、
# apt-get install perl-suidチェックしたのに、依存関係でperlのバージョンが5.8.4-7に上がってしまいました。
インストール確認
$ which suidperl /usr/bin/suidperl[3]MailDropのreformimeインストール
reformineだけで良いようだが、素直に全部ぶち込むことにする。
# apt-get install maildropインストール確認
$ which reformime /usr/bin/reformimecourier-maildropはメルサバCourier専用だろうか。普通のmaildropで良いと思う。
[4]TNEFインストール
# apt-get install tnefインストール確認
$ which tnef /usr/bin/tnef[5]qmailqueue-patchインストール
debianパッチにQMAILQUEUEパッチが含まれていたためこの作業は必要無し。
以下、気づかずに進めたときの作業ログ
# cd /usr/src/qmail-src/ # wget <a HREF="http://www.qmail.org/qmailqueue-patch" TARGET=_top>http://www.qmail.org/qmailqueue-patch</a> # tar -xvzf qmail_1.03.orig.tar.gz # cd qmail-1.03/ # patch -p1 <../qmail-date-localtime.patch # patch -p1 <../qmailqueue-patch # zcat ../qmail_1.03-36.diff.gz | patch -p1としたところで、
Reversed (or previously applied) patch detected! Assume -R? [n]と2回ほど注意される。conflictというより、単にdebianのpatchに含まれてるのではないかと思い、grepしたところ、
# zcat ../qmail_1.03-36.diff.gz | grep MAILQUEUE ++ binqqargs[0] = env_get("QMAILQUEUE"); ++ variable QMAILQUEUE. Also known as qmailqueue patch. ++QMAILQUEUE ++ if (env_get("QMAILQUEUE")) { ++ logstring(2,env_get("QMAILQUEUE")); + binqqargs[0] = env_get("QMAILQUEUE");これは含まれているっぽい。debian本家に調べに行くと、 http://packages.debian.org/changelogs/pool/non-free/q/qmail/qmail_1.03-36/changelogに、
qmail (1.03-21) testing unstable; urgency=low * Added QMAIL-QUEUE patchとなっているので、追加済み確定。
[6]qmail-scannerインストール
(1)qscandユーザー追加
# groupadd qscand # useradd -g qscand -s /bin/false qscand(2)ソースダウンロード
最新版は1.25
http://prdownloads.sourceforge.net/qmail-scanner/qmail-scanner-1.25.tgz
からソースをダウンロード(sourceforgeだからwgetじゃダメ)。
(3)インストール
$ tar -xvzf qmail-scanner-1.25.tgz $ cd qmail-scanner-1.25 # ./configure /usr/bin/reformime contains bugs. Please upgrade to a release that post-dates Mar 22 2002 (e.g. 1.3.8)reformimeが古いと怒られた。
# apt-show-versions -a -p maildrop maildrop 1.3.7-2 install ok installed maildrop 1.3.7-2 stable maildrop 1.5.3-1.1 testing maildrop 1.5.3-1.1 unstable maildrop/stable uptodate 1.3.7-2なので、testingを入れることにする。
# apt-get install maildrop/testing # ./configureスクリプト生成プログラムのテストが通ったので、ちゃんと生成し直す。
# ./configure --lang ja_JP.EUC --admin root --notify recips,admin --domain dt8.jp --install
- langは通知メールの言語、--adminと--domainは合わせて管理者メルアドだと思ってよい。--notifyは通知のポリシー決めで、recipsは受信者、adminは管理者へそれぞれ通知する。ウイルスメールの場合詐称があるので、送信元アドレスは当てにならずsenderは使いづらい。Stray Penguinにlsndr(ローカルの送信者)に通知するパッチがあるが、きちんと動くなら不用意にウイルスに感染した自ドメインのユーザへの自動通知が出来る? 今後の課題だろうか。adminの代わりにml宛先を除いたnmladmが使われることも多い。自分にはml宛先ウイルスを通知することによる不利益が今ひとつぴんと来ないので、当面adminで使う。その他の通知先は[参考サイト]を参照。
(4)QMAILQUEUE設定
/etc/init.d/qmail
に以下のdiff2行分を追加。
35a36,38 > QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl" > export QMAILQUEUE >qmailの起動スクリプトにQMAILQUEUEの設定をしておく。起動スクリプトは環境によって違うがtcpserver起動の前に設定されるようにしておけば大丈夫だろう。
(5)ulimit修正
同じく、
/etc/init.d/qmail
のulimitの値を変更。
53c53 < ulimit -v 8192 --- > ulimit -v 10240メモリ制限はQMAIL-SCANNERの頻出問題だ。私はこう理解している。デフォルトでqmailは自身の起動にギリギリ程度のメモリ値を設定ファイルに記述する。qmail-scannerを介し使うようにした時に、その設定値を超えてスクリプトがストップすることがある。想定外のストップにスクリプトは止まった箇所によって様々なエラーを吐く。ファイルがないといわれたり、パーミッションが違うと言われることもある。それで数多の管理者を混乱させるのだ。qmail-scannerインストール時には、このメモリ制限問題とパーミッション問題がよく起こる。発生したら適切に切り分ける必要がある。daemontools使用時?はulimitではなく、softlimitの設定値かもしれない。
(6)日本語euc->JIS修正
ウィルス告知メールがeucで飛んでくる。文字化けするメーラーも結構あるのでJISに修正してやる。
1876c1876 < open(SM,"|$qmailinject -h -f ''")||&error_condition("cannot open $qmailinject for sending quarantine report - $!"); --- > open(SM,"|/usb/bin/nkf -j|$qmailinject -h -f ''")||&error_condition("cannot open $qmailinject for sending quarantine report - $!"); 2003c2003 < open(SM,"|$qmailinject -h -f ''")||&error_condition("cannot open $qmailinject for sending quarantine report - $!"); --- > open(SM,"|/usr/bin/nkf -j|$qmailinject -h -f ''")||&error_condition("cannot open $qmailinject for sending quarantine report - $!");要するに、qmailinjectの前にパイプでnkfを挟んでやるだけだ。2箇所修正が必要。
(7)起動とテスト
qmailを再起動
# /etc/init.d/qmail restartテスト
# contrib/test_installation.sh -doit4通のメールのうち2通目と3通目がウィルス告知メールになっていれば成功だ。1通目は通常メールで、4通目はスパムテスト用なので、この段階では配信されるはず。
http://www.eicar.org/anti_virus_test_file.htm
からテストウィルスを落としてプロバイダ経由で送信(注:怒られる危険性があるのであんまりやってはいけません)すると、管理者宛と受信者宛に2通通知が届くことを確認する。
プロバイダ経由で普通のメールの送受信も確認しておく(メモリ制限問題でqmail-scannerが止まる場合、届かないことがある)。
あとは多量のウイルスで検査するも、放っておくも良し。
[参考サイト]
ここがわかりやすい。
http://www.asahi-net.or.jp/~aa4t-nngk/qmail6.html
以下はそれぞれ微妙に情報か解説が不足している。
http://www.atmarkit.co.jp/flinux/rensai/qmail08/qmail08c.html
http://www.itmedia.co.jp/help/howto/security/special6/02.html
http://www.tom.sfc.keio.ac.jp/~torry/ldap/ldap.html#doc10_1122
http://www.unix-power.jp/linux/qmail-scanner.html
http://www.fkimura.com/qmail0.html
関係する情報
http://www.i-ml.jp/cgi-bin/bbs/memo.cgi?m=e
http://moin.qmail.jp/
http://www.planet-green.com/linux/qmail.html
2005/03/15(火)qmail-scanner (clamav インストール編)
2005/03/15 11:00
~clamavインストール編~
今回長いのとトラブル頻出したので、インストール記事3ステップとトラブル記事に分けて書く。
[1]インストール
debianのtestingでも問題が出たので、unstableを入れた。Versionは0.83-3
# apt-get clamav/unstable動作確認。
# ps -e | grep clam 19213 ? 00:00:00 freshclam 24801 ? 00:00:03 clamdウイルス定義ファイル更新daemonのfreshclamとスキャン用のclamdが動いている。clamdはdaemonで動いているが、別にリアルタイムブロックしてくれるわけではない(はず)。daemonで動いているのは単に定義ファイルの読み込みが1回ですむからという理由のようだ。詳しくは[参考サイト]を見るといい。
[2]user権限変更
必ず必要なのが以下2点。他は設定しなくても大丈夫そうだ。
(1)clamdはqmail-scanner用のユーザqscandで動かす。
/etc/clamav/clamd.conf
User clamavを
User qscandに変更。
再起動
# /etc/init.d/clamav-daemon restart(2)clamdがtmpやソケットを作れなくなってしまうので、パーミッションを弄る。
# chgrp qscand /var/run/clamav # chmod 775 /var/run/clamavこのディレクトリ構造はdebianパッケージに強く依存するようなので、ソースからインストールした場合は[参考サイト]を参照した方がよい。
[3]clamのdaemon動作をチェックする
daemontoolsを使えば他のdaemonも含めて管理できるようだが、今回はシェルスクリプトとcronで定期的にプロセスが動いているかどうかを監視することにする。
/etc/cron.daily/check_clamを作成し、以下の内容とする。
#!/bin/sh if [ `ps -ef| grep /usr/bin/freshclam| grep -v grep| wc -l` != 1 ]; then message="freshclam stopped!" echo $message | mail -s "daemon Caution! : freshclam" urara@dt8.jp fi if [ `ps -ef| grep /usr/sbin/clamd| grep -v grep| wc -l` != 1 ]; then message="clamd stopped!" echo $message | mail -s "daemon Caution! : clamd" urara@dt8.jp fi1日おきにclamdとfreshclamが動いているかどうかを調べ、動いていなかったらメールを投げる。
ps -ef でフルパス指定しないと命名によってはこのスクリプト自体がgrepに引っかかる。grep -v grepは出力結果にgrep自体が含まれるので、"grep"が含まれているものを取り除く(反転する)。最初これを忘れていて混乱した。
なんでこんなことをするかというと、止まってすぐ分かるサービスと違って、freshclamは気づきにくくかつセキュリティへの影響が大きいから。ぶっちゃけ、一時サービスが止まってたことがあって心配なのでしばらくチェックさせたいのだ。本当はcronで書いちゃえばすむ話。
[参考サイト]
ここがわかりやすい。
http://www.asahi-net.or.jp/~aa4t-nngk/qmail5.html
clamav本家
http://clamav-jp.sourceforge.jp/jdoc/clamav.html
2005/03/12(土)aptを改める
2005/03/11 24:00
[1]便利なパッケージの追加
# apt-get install netselect # apt-get install apt-show-versionsnetselectはアクセス速度判定。apt-show-versionsはインストールしたパッケージのバージョンを確認出来る。
[2]netselectでアクセス速度判定
ocnも早かったが、ring.asahi-netも遜色なし。ring.asahi-netを提示されたのと今まで一部ここを使っていたので、asahi-netで決定。
[2]sources.listを書き直す
http://debian.fam.cx/index.php?AptGetに従って書き直す。
翻訳パッケージとセキュリティおよび、deb|deb-src+stable|testing|unstable+debian|debian-non-USの12種と、stable|testing|unstable+debian-jpの3種でOK。proposed-updatesは使わないことにする。
## use jp translation package deb http://ring.asahi-net.or.jp/archives/linux/debian/debian-ddtp ja/woody main deb http://ring.asahi-net.or.jp/archives/linux/debian/debian-ddtp ja/sarge main deb http://ring.asahi-net.or.jp/archives/linux/debian/debian-ddtp ja/sid main ## stable(woody) deb http://ring.asahi-net.or.jp/archives/linux/debian/debian woody main non-free contrib deb-src http://ring.asahi-net.or.jp/archives/linux/debian/debian woody main non- free contrib deb http://ring.asahi-net.or.jp/archives/linux/debian/debian-non-US woody/non-US main contrib non-free deb-src http://ring.asahi-net.or.jp/archives/linux/debian/debian-non-US woody/no n-US main contrib non-free deb http://ring.asahi-net.or.jp/archives/linux/debian/debian-jp woody-jp main co ntrib non-free # stable security and mirror deb http://security.debian.org/ woody/updates main contrib non-free deb http://ftp.debian.or.jp/debian-security woody/updates main contrib non-free ## testing(sarge) deb http://ring.asahi-net.or.jp/pub/linux/debian/debian sarge main contrib non-f ree deb-src http://ring.asahi-net.or.jp/pub/linux/debian/debian sarge main contrib n on-free deb http://ring.asahi-net.or.jp/pub/linux/debian/debian-non-US sarge/non-US main contrib non-free deb-src http://ring.asahi-net.or.jp/pub/linux/debian/debian-non-US sarge/non-US main contrib non-free deb http://ring.asahi-net.or.jp/pub/linux/debian/debian-jp sarge-jp main contrib non-free ## unstable(sid) deb http://ring.asahi-net.or.jp/pub/linux/debian/debian sid main contrib non-fre e deb-src http://ring.asahi-net.or.jp/pub/linux/debian/debian sid main contrib non -free deb http://ring.asahi-net.or.jp/pub/linux/debian/debian-non-US sid/non-US main c ontrib non-free deb-src http://ring.asahi-net.or.jp/pub/linux/debian/debian-non-US sid/non-US ma in contrib non-free deb http://ring.asahi-net.or.jp/pub/linux/debian/debian-jp sid-jp main contrib n on-free[3]パッケージリストの更新
# apt-get update当初、
Failed to fetch http://ring.asahi-net.or.jp/archives/linux/debian/debian/dists/wo ody/non-US/main/binary-i386/Packages 404 Not Found [IP: 202.224.39.15 80]といくつか出て怒られたが、non-USの付け忘れなど単なる記述ミス。発生した場合、実際にそのアドレスにアクセスして、どこまでURLを削れば見られるか確認するのが早い。
まだIgnがいくつか出るが、問題あるように見えないので無視する。
[4]デフォルトインストールポリシーの決定
ここで混乱したが、やっと結論。
/etc/apt/preferencesに
Package: * Pin: release a=testing Pin-Priority: 110 Package: * Pin: release a=unstable Pin-Priority: 90と書く。この場合、apt-get updateでstable(現在)->stable(最新),testing(現在)->testing(最新),unstable(現在)->testing(最新)と更新されるはず。
Pin-Priorityは
100未満:明示しない限りインストールされない。
101-999:優先度の高いディストリビューションの最新パッケージがインストールされる(downgradeしない)
1001-:優先度の高いディストリビューションの最新パッケージがインストールされる(downgradeする)
という解釈で良さそうだ。preferences中に記述しなければ500か989が使われると思う(多分989)。downgrade規定は必ず守られる。従って、testing,unstableで入れたものはstable(最新)よりも(現在)のバージョンが高いのでstable=989を使わずにtesting=110を使う。unstableはtesting(最新)のバージョン番号がunstable(現在)を上回るとインストールされ以降testingで更新される。preferencesを書けば、/etc/apt/apt.conf.d/99targetは不要。99targetだけだと、sources.listからunstableを削るか、stable(現在)->stable(最新),testing(現在)->unstable(最新)という構成にしかならなさそう。
書いていてなんだが、今ひとつ確証がない。
[5]apt-get upgrade
86packageくらいtestingが更新された。これ以降sources.listは追加してくだけでいい。標準ではstableが入るし意識しなくて良し。やれやれ。
[参考サイト]
http://debian.fam.cx/index.php?AptGet <-わかりやすい
http://debian.g-com.ne.jp/debian/dfund.html
http://qref.sourceforge.net/Debian/quick-reference/ch-package.ja.html
http://akiba.biz/Linux/Debian3.php
2005/03/09(水)qmail localtimeパッチ
2005/03/09 22:00
すでにソースファイルはaptで取得してあるので、そのディレクトリに移動。
# cd /usr/src/qmail-srcパッチダウンロード
# wget <a HREF="http://www.nlc.net.au/pub/unix/mail/qmail/qmail-date-localtime.patch" TARGET=_top>http://www.nlc.net.au/pub/unix/mail/qmail/qmail-date-localtime.patch</a>(注!:多くのドキュメントではftp://ftp.nlc.net.au/pub/unix/mail/qmail/だが、配布先が変わっている)
解凍
# tar -xvzf qmail_1.03.orig.tar.gzパッチ当て
# cd qmail-1.03 # patch -p1 < ../qmail-data-localtime.patch # zcat ../qmail_1.03-36.diff.gz | patch -p1実行権限付与
# chmod 755 debian/rulesコンパイル
# dpkg-buildpackage -us -ucmake: [binary-arch] エラー 1 (無視されました)とか出るが気にしないことにする。.debはきちんとできている。
インストール
# dpkg -i ../qmail_1.03-36_i386.deb念のため再起動…… と思ったら、ストップしてたかな。
# /etc/init.d/qmail restart動いてることを確認
# ps -ALL | grep qmailメールヘッダチェック
(パッチ前のメール)
Received: (qmail 9926 invoked from network); 27 Feb 2005 07:07:24 -0000 Received: from unknown (HELO mail.big.or.jp) (210.197.72.31) by i60-34-122-144.s04.a013.ap.plala.or.jp with SMTP; 27 Feb 2005 07:07:24 -0000(パッチ後のメール)
Received: (qmail 4664 invoked from network); 9 Mar 2005 22:19:51 +0900 Received: from unknown (HELO r-dd.iij4u.or.jp) (210.130.0.70) by i222-151-38-236.s04.a013.ap.plala.or.jp with SMTP; 9 Mar 2005 22:19:51 +0900直ったようだ。
2005/03/09(水)qmailのソースがビルドし直せない
2005/03/09 22:00
#dpkg-buildpackage /usr/bin/dpkg-buildpackage: debian/rules: /usr/bin/make: bad interpreter: 許可がありませんといわれて怒られる問題。
bad interpreterは改行の文字コード問題などで頻出するので、今回もdebian/rulesの文字コードがおかしい? などと思って延々悩んでしまった。これも恒例だが、/usr/bin/make:などエラーメッセージ直前のいくつかは読み飛ばさないと解釈を間違う。今回は単に、debian/rulesに実行権限が無くコンパイルできていなかった。chmod 755 debian/rules することで解決。気づいたときはいい加減寝た方が良いと思った……
パッチ当ての正常完了手順については次の記事を参照。
debianのパッケージ管理に関しては参考サイトを参照。ビルドコマンドは3種あるが、debuild,dpkg-bulidpackage,debian/rules binary-archの順に参照されていくようだ。debuildはうちの環境には入っていなかったし、必要とも思えない。
構築はrootで作業してしまっているので、dpkg-buildpackageオプションの-rfakeroot,-rsudoは必要ないだろう。-us,-ucオプションは、それぞれサインせずに、changelogを書かずにの意。
[参考サイト]
http://www.linux.or.jp/JF/JFdocs/debiantips.html#s5
http://www.ep.sci.hokudai.ac.jp/~epnetfan/zagaku/2000/1006/deb-make.html
http://debian.g-com.ne.jp/debian/dfund.html#makedeb
http://www.gfd-dennou.org/arch/cc-env/mksigen/TEBIKI.mksigen_slink2potato.txt
http://www.tomita.cc/pukiwiki/pukiwiki.php?・ム・テ・ア。シ・ク、ホゴョシ・・/textarea>
2005/03/03(木)スパム対策
2005/03/03 16:00
http://www.gabacho-net.jp/anti-spam/anti-spam-system.html
というのがある。
読んだときは感心したのだが、個人ユースは良いにしても鯖管がこれやっていいのだろうか。
重要なメールが1通来ないことは、スパムが100通来ることよりもまずいというのが大方の意見であるはず。ネットワークの仕組み含め熟考が必要か。
まあちょっと公共で使うには無理な気がするなあ。
2005/03/02(水)qmailタスク積み
2005/03/02 18:00
clamav(ウィルス対策
スパムアサシン(スパム対策
だそうです。
2005/02/28(月)aptとdpkg 使い方サイト
2005/02/27 25:00
http://www.a-yu.com/debian/apt.html
http://park15.wakwak.com/~unixlife/linux/de-pkg-3.html
(05/08/17追記)
http://debian.fam.cx/index.php?AptGet
ここも。