적절한 debian postinst 및 postrm 스크립트를 어떻게 만들 수 있나요?

적절한 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

이건 내 사후 스크립트야

#!/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

답변1

삭제해야 합니다.

귀하의 postinst유일한 파일 권한 설정; 이는 설치 후 스크립트가 아닌 패키지 콘텐츠에 설정되어야 합니다.

postrm제거하는 사용자의 홈 디렉토리에 있는 로그 파일 및 파일을 삭제합니다( 를 사용하여 제거했다고 가정 ) sudo. 둘 다 절대 금물입니다. 홈 디렉토리는 관리자 스크립트에 대한 제한이 없으며 로그는 제거(및 제거) 시 뒤에 남겨져야 합니다. 귀하의 스크립트는 또한 /usr/lib/apx또 다른 no-no: 삭제 dpkg를 처리해야 합니다.

강하게읽어보시길 권합니다데비안 새 유지관리자 가이드.

관련 정보