しむらです。 On Fri, 24 Oct 2003 10:53:09 +0900 In article <20031024104534.C61B.HOTTA@xxxxxxxxxxxxxx> HOTTA Michihide <hotta@xxxxxxxxxxxxxx> wrote: > [root@db2 /root]# apt-get remove emacsen-common > 以下のパッケージが削除されます: > IIIMECF Mule-UCS apel emacsen-common flim rail ruby-mode semi > xemacs21.4 > スクリプト apel-10.3-0vl9 の実行に失敗 > スクリプト IIIMECF-0.6-0vl1 の実行に失敗 > スクリプト ruby-mode-1.6.7-0vl5 の実行に失敗 > スクリプト Mule-UCS-0.85-0vl0.1 の実行に失敗 > スクリプト rail-1.2.5-0vl5 の実行に失敗 > E: Sub-process /bin/rpm returned an error code (255) apel, IIIMECF, ruby-mode, Mule-UCS, rail のアンインストール時に実行さ れるスクリプトの実行に失敗しています。 そのため、apel, IIIMECF, ruby-mode, Mule-UCS, rail は削除されずに残っ ていると思います。 # 先の [vine-users:062495] には、 # > のようになりますが、データベースからは削除されます。その後 # とありましたが、ここで削除されているのを確認したのは emacsen-common # のことですよね? このため、 1. この削除されなかったパッケージが emacsen, emacsen-common, semi を 要求している。 2. しかし、emacsen, emacsen-common, semi は削除されてしまっている。 という (未解決の依存関係がある) 状態になり、 # apt-get -f install すると、不足しているパッケージをインストールしようとします。 削除されなかったパッケージは、アンインストール時 (preun = ファイルが削 除される前) に、以下のようなスクリプトが実行されます。 /usr/lib/emacsen-common/emacs-package-remove hoge /usr/lib/emacsen-common/remove-package-list hoge emacs-package-remove, remove-package-list は emacsen-common パッケージ に含まれています。 % rpm -qf /usr/lib/emacsen-common/emacs-package-remove emacsen-common-0.4-0vl19 % rpm -qf /usr/lib/emacsen-common/remove-package-list emacsen-common-0.4-0vl19 アンインストール時にスクリプトが実行されるよりも前に、emacsen-common が削除されてしまうと、スクリプトの実行に失敗してしまいます。 emacs-package-remove, remove-package-list を実行する前に、これらが存在 するかどうかを確認するように、パッケージを修正すれば良いような気がしま す。 # /usr/lib/rpm/macros でマクロが定義されているので、これを修正して、片 # っ端からリビルド? -- KAZUKI SHIMURA <ksh@xxxxxxxxxxxxxxxxxxx>