AHCIってのはIDEつーかATAと互換性がにゃい新しい物体。SATAにゃドライブのNCQとか使いたかったら、BIOSのIDE互換モードじゃにゃく、AHCIとかにしにゃいとだめ。でもXPはドライバ持ってにゃいので、起動できにゃい。
ということで、Inst時にF6でFDから入れるんだが、めんどくさいからIDE互換モードでInstしてしまったため、
82801GB/GR/GH (ICH7 Family) Serial ATA Storage Controllerににゃっている。まー多少遅い程度で特に問題はにゃいのだが、ちょっとICH7でRAID10したいにゃ、とか思ったらこれがAHCI必須で。
仕方がにゃいのでOS上からドライバInst・・・がうまくいかにゃい。デバイスマネージャから強引に入れたらどうにゃるのかにゃとは思ったのだが微妙。で、
P5W64 WS ProfessionalにはMarvellのSATAが載ってるので、こっちからBootしておいてOS上からICH7のドライバを入れ替えよう・・・と思ったんだが、これがこける(笑)
どうにもBIOSでMarvellのBoot ROMをONにしてるとNTLDR直後あたりでこけるので、複合要因と見にゃしてとりあえず切り離し。今まで使ってにゃかったし情報不足。てことでICH7にHD付けたままBIOSをAHCIというかRAIDにして、XPのRから起動。FDにドライバ入れて修復セットアップ。
これがまた、手こずる。そもそもSP2入ってにゃいRで始めてしまい、プロダクトIDは分からんわ、途中でにゃんかエラー吐くわ、USBと思われるがデバイス関連でこけるわ、もうちょっと構成小さくしてからやるべきだと強く思った。
で、SP2あててUpdateかけて、こけたdaemon直して、ICH7 Matrix RAIDにゃドライバとツール入れて、動作の怪しげだったMarvellのSATA RAIDもドライバ入れにゃおし、とここまでで再起動回数が20を超える。やめときゃ良かった。やっぱりデバイスマネージャでやっちゃった方が良かったにちがいにゃい。
結局、数時間かけてやっと
Intel 82801GR/GH SATA RAID Controllerに進化。最初っからドライバ有りでOS入れにゃいとすこぶるめんどくさいという実例
Message from Administrator at xxxxxx (xxxxxx), IP=<xxx.xxx.xxx.xxx>
04/22/07 11:54:11 Controller #1 : Channel 1 was reset
みたいにゃエラー報告が来てたのでそろそろだめかにゃーと思ってたSX4000のRAID5が1球落ち。
Message from Administrator at xxxxxx (xxxxxx), IP=<xxx.xxx.xxx.xxx>
04/26/07 06:58:27 Controller #1 : Disk WDC WD3200JB-00KFA0 (Ch. 1, Master) error at LBA 0x0 starting from LBA 0x0. (Feature=0x0, Block count=0x0, Command=0xe7, Status=0x51, Error=0x4.
にゃんてのが届くようににゃって、RAID StatusもCriticalに。
ここはセオリー通り、全データを待避して組み直し、というかそろそろこのファイル鯖も落とそうか。
Win2003にゃAD環境にある独立LinuxでNTLM認証してApache2に自動ログオンしようとして、かにゃりハマる。
mod_ntlmをapache2用にコンパイルするには
apache2ctl -V | g MPM
apt-get install apache2-threaded-dev
wget http://modntlm.sourceforge.net/mod_ntlm2.tar.gz
Makefile
APXS=apxs2
mod_ntlm.c
/*
apr_pool_sub_make(&sp,p,NULL);
*/
apr_pool_create_ex(&sp,p,NULL,NULL);
make
make install
cp .lib/*.so 〜
といった手順が必要で、かにゃりうざったい、ということを体験したあたりで、この日記を検索してみたら、
過去の同じ事例が失敗談つきで載ってて、
apt-get install libapache2-mod-perl2
cpan
install Apache2::AuthenNTLM
/etc/hosts
ping local_hostname
ping PDC_hostname
.htaccess
PerlAuthenHandler Apache2::AuthenNTLM
PerlAddVar ntdomain "DOM SV1 SV2"
PerlSetVar splitdomainprefix 1
PerlSetVar ntlmdebug 1
PerlSetVar ntlmauthoritative on
PerlSetVar defaultdomain DOM
# AuthType ntlm,basic
AuthType ntlm
AuthName "Dobutsu Area"
require valid-user
IEのイントラネットサーバとNonProxyホストに追加
で、すんにゃり完成したのであった。
日記にあるにゃら早く気づけ!!
めくるめくPerlモジュールの世界・・・というわけで。
要はwwwのロボットに近い物にゃんだけど、フォームに何か入れてPOST〜みたいにゃ操作がとっても楽。
use WWW::Mechanize;
my $agent = "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";
my $mech = WWW::Mechanize->new(agent=>$agent);
$mech->get( $url );
$mech->set_visible( $user, $pass ) ;
$mech->click( "Login_button" , 0 , 0 );
$mech->submit_form(form_name => "form2",fields=>{"mail" => "neko@neko.com"});
my $html = $mech->content;
$html =~ s/$str/$str\n<input type="hidden" name="button.x" value="0"\/>/;
$mech->update_html( $html );
$mech->submit_form(form_name => "form3",fields=>{"comment" => "nekoneko-"});
$mech->back();
$mech->reload();
こんにゃ感じでセッション維持しつつ、既存フォームに何か入れて次の画面へ進めるし、js系でPOST内容増やしてる場合には、元のhtmlを任意に書き換えて解釈し直せる。上には出てにゃいけど、リンクの一覧から正規表現かけて絞り込んだりとか、お手軽機能が揃ってる。
何とにゃれば下位のLWPに降りて、任意のヘッダでリクエストできるし、得られたhtmlはParseして必要にゃ部位だけ抜き取ればよい。