[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-devel:11160] symlink and lost files



勘違いかもしれませんが、こういう現象にあって困っています。slink環境です。

ptex-bin_2.1.8-8に含まれている

/usr/lib/texmf/web2c/ptex.fmt
/usr/lib/texmf/web2c/ptex.pool

というファイルを、ptex-bin_2.1.8-8slink1(現在制作中)では、

/var/lib/texmf/web2c/ptex.fmt
/var/lib/texmf/web2c/ptex.pool

に移動させました。tetex-binをインストールしてあるので、

/usr/lib/texmf/web2c -> /var/lib/texmf/web2c

というシンボリックリンクがはられています。つまり、みかけ上は、移動は
なかったことになります。この条件で、以下のような問題がおきています。

ptex-bin_2.1.8-8をインストールした状態で、次にptex-bin_2.1.8-8slink1を
インストール(アップグレード)すると、/var/lib/texmf/web2c/ptex.fmt
と/var/lib/texmf/web2c/ptex.poolがなくなってしまいます。ですが、
dpkgの管理データベース上ではこれらがまだ存在しています。もう一度
インストールすると、今度はちゃんとファイルが存在します。

これって、dpkgが、/usr/lib/texmf/web2c/にあるファイルと
/var/lib/texmf/web2c/にあるファイルを別物だと誤解したために、上書きしたと
認識せず、古いパッケージを削除するときに新しいパッケージのファイルまで
消してしまった、というのが原因なんでしょうか? もしそうだとすれば、
どうやればこれを避けられるのでしょうか?

一瞬、postinstで*.fmtを生成すればいいかと思いましたが、ptex.poolは
どうしようもなさそうです。

「もう一度インストールしてくれ」といってpostinstでコケる、という手も
ありそうですが、かっこよくない…。
-- 
喜瀬“冬猫”浩@南国沖縄