portsdb

ついで。 ひさしぶりにcvsupをしてportsdb
-uUでINDEXとINDEX.dbを更新しようとしたら、一部portsのMakefileが壊れているとやらでINDEXが更新できない。うむむ。
調べてみたら、わざわざ-Uをする必要はないのね。 portsdb -Fu
としてあげるとportsディレクトリの完成済みINDEXをfetchしてきてくれる。localでportsディレクトリをいじってない限り、こっちを使った方がよさそげ。

ついで。

ひさしぶりにcvsupをしてportsdb -uUでINDEXとINDEX.dbを更新しようとしたら、一部portsのMakefileが壊れているとやらでINDEXが更新できない。うむむ。

調べてみたら、わざわざ-Uをする必要はないのね。

portsdb -Fu

としてあげるとportsディレクトリの完成済みINDEXをfetchしてきてくれる。localでportsディレクトリをいじってない限り、こっちを使った方がよさそげ。

FreeBSDのPERL_LEVEL

ひさしぶりにサーバーのアップデートをやっていたら、またしてもトラブル。
一部のPerl関連のportsがPerl5.8以降を要求しやがる。で、japanese/perl5をアンインストールしてからlang/perl5.8をインストールしてやるが、システムに書かれたPERL_LEVELが5.6のままなので、PERL_LEVELをチェックしてやがるportsはそのままではインストールできない。
で、調べてみると以下のコマンドを使えばportsでいれたPerlを使うようにいろいろ設定を書き換えてくれ…

ひさしぶりにサーバーのアップデートをやっていたら、またしてもトラブル。

一部のPerl関連のportsがPerl5.8以降を要求しやがる。で、japanese/perl5をアンインストールしてからlang/perl5.8をインストールしてやるが、システムに書かれたPERL_LEVELが5.6のままなので、PERL_LEVELをチェックしてやがるportsはそのままではインストールできない。

で、調べてみると以下のコマンドを使えばportsでいれたPerlを使うようにいろいろ設定を書き換えてくれるらしい。

use.perl port

うーむ。

ThinkPad X20でSUSE 10.2 その2

どうやら、10.2からはBroadcom
43xxベースのカードについてはndiswrapper経由でなくカーネルドライバーが導入されたらしい。でも、カードごとのファームウェアは必要みたい。
で、まずはbcm43xx-fwcutterをYaSTでインストール
メルコのAirStationドライバーのcbg54/win2000にあるbcmwl5.sysがWin用のドライバーなので、ここからファームウェアを抽出する。
bcm43xx-fwcutter -w /lib/firmware bcmwl5….

どうやら、10.2からはBroadcom 43xxベースのカードについてはndiswrapper経由でなくカーネルドライバーが導入されたらしい。でも、カードごとのファームウェアは必要みたい。

で、まずはbcm43xx-fwcutterをYaSTでインストール

メルコのAirStationドライバーのcbg54/win2000にあるbcmwl5.sysがWin用のドライバーなので、ここからファームウェアを抽出する。

bcm43xx-fwcutter -w /lib/firmware bcmwl5.sys

で、後はカードをさしてあげるだけで自動認識〜。すげ〜。これでkismacとかも使えるかも。

ThinkPad X20でSUSE 10.2 その1

SUSE 10.2でtpbを使う。 とりあえず、nvram
moduleは最初からロードされる設定でインストールされるので、/usr/share/doc/packages/tpb/README.SUSEの指示どおりにここにある00-nvram.rulesを/etc/udev/rules.d/にコピーして再起動。
これで使えるはず? とりあえず~/.tpbrcを作成してみれ。see
man tpb.

SUSE 10.2でtpbを使う。

とりあえず、nvram moduleは最初からロードされる設定でインストールされるので、/usr/share/doc/packages/tpb/README.SUSEの指示どおりにここにある00-nvram.rulesを/etc/udev/rules.d/にコピーして再起動。

これで使えるはず?

とりあえず~/.tpbrcを作成してみれ。see man tpb.

sendmailですべてのメールを中継サーバーのSubmission portに送る

BIGLOBEがOutbound Port 25
Blockingをはじめてくれたおかげで、野良サーバーのsendmailがメールの配送ができなくなってしまった。これを回避するためにSubmission
Port(587)にメールを送る様に設定する必要があるが、困ったことにSubmission
Portは一般にSMTP
AUTHで認証される上に、BIGLOBEのSMTPサーバーはFromアドレスがBIGLOBEユーザーでないと中継を拒否しやがる。
前者はsendmail.cfをSMTP AUTH…

BIGLOBEがOutbound Port 25 Blockingをはじめてくれたおかげで、野良サーバーのsendmailがメールの配送ができなくなってしまった。これを回避するためにSubmission Port(587)にメールを送る様に設定する必要があるが、困ったことにSubmission Portは一般にSMTP AUTHで認証される上に、BIGLOBEのSMTPサーバーはFromアドレスがBIGLOBEユーザーでないと中継を拒否しやがる。

前者はsendmail.cfをSMTP AUTHを利用するように設定すれば回避できる。後者は、差出人書き換えはしたくないので、外部でSMTP AUTHで認証すればFromアドレスを問わずに中継してくれるプロバイダーを探したところ、asahi-netが使えることがわかったので、asahi-netを契約した。

で、sendmail.cfの改造。

sendmail.mcに以下の記述を追加する。

define(`SMART_HOST’, `esmtp:[mail.asahi-net.or.jp]’)
define(`RELAY_MAILER_ARGS’, `TCP $h 587′)
define(`ESMTP_MAILER_ARGS’, `TCP $h 587′)

FEATURE(`authinfo’)

SMART_HOSTの設定で、すべてのメールをasahi-netのメールサーバーに転送する様に設定する。そのままではPort 25に接続しようとしてBIGLOBEのフィルタに引っかかってしまうので、次の二行でSubmission Portに接続するようにする。多分、下の一行で十分だと思うが、esmtpでなくsmtpでリレーしないといけない場合に備えて両方書いておく。こう書いてしまうと、外部には587でしか接続しなくなってしまうと思われる。ということは、mailtertableで特定のアドレスだけ転送先を変えるとその先にも587で接続するしかなくなるので、全体のオプションでなく、接続先ごとに接続ポートを書ける様にしてほしいと思うが、まあ、どうせBIGLOBEからは587でしか出れないのであきらめよう。SMTPを25で、ESMTPを587で接続するようにして、BIGLOBE向け配送だけSMTPでBIGLOBEのサーバーに送ってもいいが、ちゃんと動くか確かめるのも面倒なので、全部asahi-netに頼ることにする。

最後の行がSMTP AUTHの認証を利用する設定。この設定を有効にすると、/etc/mail/authmap.dbにある認証情報のハッシュを元に接続先とSMTP AUTHで認証をしてくれる。

さて、このauthinfoを設定する。

まず、touch /etc/mail/authinfoして空ファイルを作成してから、chmod 600 /etc/mail/authinfoしてroot以外読み書き不可にする。セキュリティ上、先にこれをやってから編集すること。

このファイルに認証情報を書く。

AuthInfo:mail.asahi-net.or.jp “U:username” “P:password” “M:CRAM-MD5”

の様に、サーバーのFQDN、username、passwordを平文で記述しておく。最後のCRAM-MD5は暗証化方法だが、これは

telnet mail.asahi-net.or.jp 587

して、EHLO bam-system.ddo.jpとするとどの様な暗証化方法が可能か表示される。それを見るとDIGEST-MD5とCRAM-MD5が使えるみたいなので、ここではCRAM-MD5に設定しておく。

最後に、面倒なので自動化するために、/etc/mail/Makefileにauthinfoのハッシュ化もするように変更を加える。

SENDMAIL_MAP_SRC+= mailertable domaintable bitdomain uucpdomain
genericstable virtusertable access authinfo

最後のauthinfoを書き加えておくと、このファイルに変更があればmakemapでハッシュ化してauthinfo.dbを作成してくれる。

後は、/etc/mailに移動して、make all;make install;make restartで新しい設定でsendmailを有効化する。

うまくいったかどうか、外部からメールを投げてみて、/var/log/maillogで確認する。

FreeBSDのportsでsendmail入れ替えする時

FreeBSDのportsからsendmailを入れると、基本的には/etc/mail/mailer.confのsendmailのパスを/usr/local/sbin/sendmailにしてくれるので、何も変更の必要がないと思っていたら、少しだけ手動で変更する必要があることに気がついた。
/etc/mail/Makefile .if exists(/usr/share/sendmail/cf) SENDMAIL_CF_DIR?=
/usr/share/sendmail/cf SENDMAIL?…

FreeBSDのportsからsendmailを入れると、基本的には/etc/mail/mailer.confのsendmailのパスを/usr/local/sbin/sendmailにしてくれるので、何も変更の必要がないと思っていたら、少しだけ手動で変更する必要があることに気がついた。

/etc/mail/Makefile

.if exists(/usr/share/sendmail/cf)
SENDMAIL_CF_DIR?= /usr/share/sendmail/cf

SENDMAIL?= /usr/sbin/sendmail
MAKEMAP?= /usr/sbin/makemap

Makefile内のsendmail/cfのテンプレートのパスとsendmailおよびmakemapのパスだけは変更されていないので、portsから入れたsendmailのパスに変更する必要がある。

前者は/usr/local/share/sendmail/cfに、後者は/usr/local/sbin/sendmail,makemapに変更する。

後者はともかく、前者は変えておかないともしかするとm4でcfを作るときに最新のcfテンプレートじゃないと新機能が反映しない可能性がある。

ついでに、portsで入れるsendmailのcf周りのドキュメントのパスは以下の通り。

/usr/local/share/sendmail/cf/

SUSEで上書きされたMBRのGRUBを修復

SUSEとWinなマルチブートのX20でWinを入れ直す羽目になって内蔵HDDのMBRが上書きされてしまった時の修復方法。
まずは、SUSEのインストールディスク1でブートする。インストーラーに入らずにRescueイメージでブートし、コマンドプロンプトを出す。
Linuxの/bootが入っているパーティションをマウントする。X20は/dev/hda5に/bootが入っている。
#正確には/dev/hda2が拡張領域で、その中の論理パーティションの一つ目に入っているので/dev/hda5になる。…

SUSEとWinなマルチブートのX20でWinを入れ直す羽目になって内蔵HDDのMBRが上書きされてしまった時の修復方法。

まずは、SUSEのインストールディスク1でブートする。インストーラーに入らずにRescueイメージでブートし、コマンドプロンプトを出す。

Linuxの/bootが入っているパーティションをマウントする。X20は/dev/hda5に/bootが入っている。

#正確には/dev/hda2が拡張領域で、その中の論理パーティションの一つ目に入っているので/dev/hda5になる。

具体的には、mount /dev/hda5 /bootで/bootにマウントしてやる。

最後にgrub-installを実行する。引数なしで起動すると/boot/menu.lstを参照して、/dev/hdaすなわち内蔵ディスクのMBRにGRUBを再インストールしてくれる。

コメント出来ない問題

COREBlogを最新(1.2.5)にアップデートしたら、コメントをつけようとするとエラーを吐き出す様になってしまったよ。
バージョンをダウングレードしてみないとね。

COREBlogを最新(1.2.5)にアップデートしたら、コメントをつけようとするとエラーを吐き出す様になってしまったよ。

バージョンをダウングレードしてみないとね。

最近のZopeインストール

最新のportsでZopeをFreeBSDにインストールする機会があったので覚書。
www/zopeをインストールするだけで基本的には完了。
この時点で、/usr/ports/www/zopeにおりてmake
instanceで最初のinstance作成。
で、ja-zope-ejSplitterをportsで導入すれば、pycodeも入れてくれる。以前はpythonの2.3と2.4の間の依存関係で手動で入れなければいけなかったが、今は問題が解消されているっぽい。
で、ここでzopeを起動すれ…

最新のportsでZopeをFreeBSDにインストールする機会があったので覚書。

www/zopeをインストールするだけで基本的には完了。

この時点で、/usr/ports/www/zopeにおりてmake instanceで最初のinstance作成。

で、ja-zope-ejSplitterをportsで導入すれば、pycodeも入れてくれる。以前はpythonの2.3と2.4の間の依存関係で手動で入れなければいけなかったが、今は問題が解消されているっぽい。

で、ここでzopeを起動すれば、最初からejSplitter導入済みでzopeサイトを立ち上げる事が出来る。

後の処理は以前と同じ。

pTunes for PalmOS5

MissingSync 4.0でiTunesとpTunes for
Palmがシンクできるのはいいのだが、曲によってID3タグが反映されたり反映されなかったり。
どうにも動作がうまくないと思っていたが、結論は簡単だった。
ID3タグがv2.2だとすべて問題なく反映されるらしい。
ということで、シンク前にID3タグをv2.2にすべて変更することをお忘れなく。:-)

MissingSync 4.0でiTunesとpTunes for Palmがシンクできるのはいいのだが、曲によってID3タグが反映されたり反映されなかったり。

どうにも動作がうまくないと思っていたが、結論は簡単だった。

ID3タグがv2.2だとすべて問題なく反映されるらしい。

ということで、シンク前にID3タグをv2.2にすべて変更することをお忘れなく。:-)