2

カスタム ビルドの Debian パッケージを持っていますが、現在は問題なくインストールおよびアンインストールされますが、いくつかの問題があります。

  1. アンインストール プロセスでディスク上のファイルをチェックする方法を教えてください。/etc/file.confファイルが存在する場合、パッケージをアンインストールしたくないとしましょう。それは可能ですか?prerm と postrm にチェックを追加しようとしましたが、パッケージによってインストールされたすべてのファイルは、IF prerm および postrm スクリプトがエラーで終了しても削除されます。

おそらく、これらのスクリプトで使用する必要がある特定の終了コードがあると思いますか?

  1. アンインストール中に、パッケージによって作成された一部のディレクトリが空ではないため、削除されないことがあります。エラーは次のようなものです: 「dpkg: 警告: パッケージ名の削除中に、ディレクトリ '/opt/packagename/' が空ではないため、削除されませんでした。」内容に関係なく、パッケージによってインストールされたすべてのファイルを強制的に削除する方法はありますか?

私は答えを探してドキュメントを数回調べましたが、適切な場所を見ていないようです。

4

1 に答える 1

2

アンインストール プロセスでディスク上のファイルをチェックする方法を教えてください。ファイル /etc/file.conf が存在する場合、パッケージをアンインストールしたくないとしましょう。それは可能ですか?prerm と postrm にチェックを追加しようとしましたが、パッケージによってインストールされたすべてのファイルは、IF prerm および postrm スクリプトがエラーで終了しても削除されます。

prerm スクリプトをゼロ以外で終了しても、インストールされたすべてのファイルが削除されるわけではありません。

#!/bin/sh
if [ -x /etc/file.conf ]; then
  echo "You shall not remove me" >&2
  exit 1
fi

アンインストール中に、packaged によって作成された一部のディレクトリが空ではないため、削除されないことがあります。エラーは次のようなものです:「dpkg: 警告: パッケージ名の削除中に、ディレクトリ '/opt/packagename/' が空ではないため、削除されませんでした。」内容に関係なく、パッケージによってインストールされたすべてのファイルを強制的に削除する方法はありますか?

パッケージによってインストールされたファイルは削除されます。この警告は、アプリケーションの存続期間中に作成されたファイルを示しています。postrm スクリプトを使用してそれらを削除できます。

補足として、パッケージは /opt に何かを入れるべきではありません。

于 2012-07-27T19:34:34.897 に答える