올바른 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. 즉, dpkg문제를 처리해야 합니다.

강하게꼭 읽어보시길 추천드립니다데비안 새 유지관리자 가이드.

관련 정보