[Namazu-win32-users-ja 877] Re: mknmzがrenameできない

Tadamasa Teranishi yw3t-trns @ asahi-net.or.jp
2006年 12月 27日 (水) 15:13:34 JST


寺西です。

Masanori Okada/岡田政則 wrote:
> 
> 関係のバージョンは
> ・activeperl:ActivePerl-5.8.8.819-MSWin32-x86-267479
> ・namazu:nmz2.0.16.002-win32
> です。

ご使用のOSのバージョンは何でしょう。
ファイルシステムは FAT32でしょうか、NTFSでしょうか?

> mewからではうまくいかないので、mknmz -Vを利用しました。
> logの最後は
> 
> @@ Processing mail/news file ...
> 1026/15797 - /c|/okada/mail/inbox/2233 [message/rfc822]
> mknmz: rename(C:/okada/Namazu/Mail/inbox/NMZ.tmp_i.tmp, C:/okada/Namazu/Mail/inb
> ox/NMZ.i.tmp): Permission denied

pl/util.pl 42行目でエラーとなっているようです。

> こんな感じで終了してしまいます。この場合はinbox/2233ですが、
> これは一定しません。

毎回、インデックスを削除し、mknmz を実行しても一定になりませんか?

> 1.このエラーが出る前はmknmzrcの$FILE_SIZE_MAXで引っかかっていて
> そのエラーは出なくなりました。
> # $FILE_SIZE_MAX   = 2000000;
> $FILE_SIZE_MAX   = 20000000;

$FILE_SIZE_MAX の制限の問題と、この問題は無関係です。

> 2.また引っかかったファイルだけ別のdirectoryでmknmzすると
> うまくいきます。

別directoryでmknmzを実行するのではなく、問題のファイルだけを
mknmz で指定した場合はどうなるでしょうか?

つまり、問題のファイルをコピーしたもので試すのではなくて、オリジナル
ファイルで処理した場合はどうなるかということです。
 
> 3. また変数HOMEはC:\namazuにしていません。理由が分からないのとnamazurcや
> mknmzrcで対処できるかなと考えたからです。

環境変数HOMEは別に C:\namazu である必要はありません。
しかし、HOMEは必ず設定してください。

なお、C:\namazu 以外に設定する場合は、自己責任でどうぞ。

> そもそもなぜrenameでpermission denied するのでしょうか。
> 回避できる方法をお教え願えれば幸いです。

perl の rename で Permission denied が発生していますが、リネーム前
のファイルか、リネーム後のファイルの属性に問題があって、書き換えが
できないのでしょう。
# 何故、そのような状況が発生するかはともかく。

> C:\okada\Mail\inbox>ls -l 2233
> -rwx------+ 1 okada なし 4552561 Mar 10  2005 2233

この ls は何の ls コマンドか分かりませんが、ここに表示されている
属性だけで決まるものではありません。
NTFS属性等とかにも関係します。

これだけの情報では何とも言えませんが、文書ファイルのアクセス権に
問題があるのではないかと思います。
NTFSをご使用なら、inbox 以下のNTFSアクセス権を書き換えれば良いのでは
ないかと思います。
--
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)  yw3t-trns @ asahi-net.or.jp
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E




Namazu-win32-users-ja メーリングリストの案内