質問: 適切なdebian postinstおよびpostrmスクリプトを作成するにはどうすればよいですか? 私はこれらのスクリプトを作成してみましたが、インストールはうまくいきますが、アプリケーションのバージョンがバンプされ、apx v2.0にアップグレードしようとすると、何もうまくいきません。これは私のpostinstスクリプトです#!/bin/sh set -e chmod 755 /usr/bin/apx chmod 755 /usr/lib/apx/apx.py chmod -r 755 /usr/lib/apx/data/binaries exit 0 これは私のpostrmスクリプトです#!/bin/sh set -e u_home=$(getent passwd $sudo_user | cut -d: -f6) log="/var/log/apx" uhome="$u_home/.apx" if [ -d $log ]; then rm -rf $log fi if [ -d $uhome ]; then rm -rf $uhome fi rm -rf /usr/lib/apx exit 0
回答: それらを削除する必要があります。postinstはファイルの権限のみを設定します。これらは、インストール後のスクリプトではなく、パッケージ化されたコンテンツで設定されることになっています。postrmは、ログファイルと、アンインストールするユーザーのホームディレクトリ内のファイルを削除します(sudoを使用してアンインストールされた場合)。これらはどちらも明確なno-nosであり、ホームディレクトリはメンテナースクリプトの立ち入りが禁止されており、ログは削除(およびパージ)時に残しておく必要があります。また、スクリプトは/usr/lib/apxも削除します。これはもう1つの禁止事項です:dpkgがこれを処理することになっています。私は強く debian new maintainers ’guide を読むことをお勧めします。