2

一部のファイルを更新する必要がある Debian パッケージがあります。これらのファイルは、Debian パッケージのアンインストール後に存在します。apt-get remove を呼び出すときに、パッケージと一緒にそれらを削除したい。

更新されたファイルを追加すると

/var/lib/dpkg/info/<package>.list

それらは削除されます。

更新: postrm.debhelper スクリプトのフォルダーを削除します。

rm -rf フォルダー

しかし、それは正しくないと感じます。;)

4

1 に答える 1

3

まず、これはパッケージとしてはやや不適切な動作のように聞こえると思います。アンインストール時に、インストール前に存在していたファイルが削除されます。一般の人々が使用することを意図したパッケージで、この種のことを行うことは強くお勧めしません。しかし、それが私的使用のためであり、関係者がそれが何をするかを理解していれば、それは問題ないはずです.

prerm または postrm のファイルを削除するのが最良の答えのように聞こえます。rmただし、無条件に実行しないようにしてください。prerm と postrm は、パッケージ全体の削除以外のいくつかの状況で呼び出すことができます。

パッケージ自体のコンテンツがファイルシステムから削除される前にファイルが削除されることを完全に確認したい場合を除き、prerm よりも postrm を使用することをお勧めします。

postrm では、次のようなことをお勧めします

case "$1" in
    purge|disappear)
        rm -rf $your_folder
esac

パッケージが「パージ」ではなく「削除」された場合でもファイルを削除したい場合は、そこに追加できます (「削除」とは、パッケージの構成ファイルが保持されることを意味します。これは通常、パッケージの可能性を意味removepurgeます。disappear後で再インストールされます)。

postrm は、通常のパッケージのアップグレード時、またはアップグレードまたは初期インストールが失敗したときにも呼び出されます (アクションupgradefailed-upgradeabort-install、およびabort-upgrade)。それらがいつ、どのように使用されるかについての詳細な説明については、Debian ポリシーを参照してください。これらの場合、ほとんど間違いなく実行したくないでしょうrm

于 2014-02-24T17:51:54.003 に答える