설치 후 postinst 스크립트가 실행되지 않습니다.

설치 후 postinst 스크립트가 실행되지 않습니다.

다음과 같은 폴더 구조를 가진 폴더가 있습니다.

total 8
drwxr-xr-x 2 pi pi 4096 mar 21 19:08 DEBIAN
drwxr-xr-x 6 pi pi 4096 mar 21 18:02 usr

내부 DEBIAN폴더 :

-rw-r--r-- 1 pi pi   150 mar 21 18:05 changelog
-rw-r--r-- 1 pi pi     2 mar 21 18:05 compat
-rw-r--r-- 1 pi pi   516 mar 21 18:05 control
-rw-r--r-- 1 pi pi 13774 mar 21 18:05 copyright
-rwxr-xr-x 1 pi pi  1396 mar 21 20:45 postinst
-rwxr-xr-x 1 pi pi   919 mar 21 19:08 postrm
-rwxr-xr-x 1 pi pi   679 mar 21 19:08 preinst
-rwxr-xr-x 1 pi pi   866 mar 21 19:08 prerm

파일 의 내용은 postinst다음과 같습니다.

#!/bin/sh
# postinst script for cpython
#
# see: dh_installdeb(1)

set -e

# summary of how this script can be called:
#        * <postinst> `configure' <most-recently-configured-version>
#        * <old-postinst> `abort-upgrade' <new version>
#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
#          <new-version>
#        * <postinst> `abort-remove'
#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
#          <failed-install-package> <version> `removing'
#          <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package


case "$1" in
    configure)
    ;;

    abort-upgrade|abort-remove|abort-deconfigure)
    ;;

    *)

        #echo "postinst called with unknown argument \`$1'" >&2
        #exit 1
    ;;
esac

ln -sf XXX YYY

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.


exit 0

,,, dh_installdeb명령을 사용하여 스크립트를 폴더에 복사합니다. (이 파일은 명령으로 생성됩니다.)package.postinstpackage.postrmpackage.preinstpackage.prermdh_make -f

fakeroot dpkg-deb --build python3.6create 를 실행하면 .deb생성되지만 .deb설치하려고 하면 실행되지 않습니다 postinst(스크립트에 나타나는 심볼릭 링크가 생성되지 않음).

한 가지 이상한 점은 해당 DEBIAN폴더 안에 스크립트에 다음이 포함되어 있다는 것입니다.

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

생성된 콘텐츠를 추출 .deb하고 파일을 검사 하면 postinst동일한 메시지가 표시됩니다.

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

이 문장을 보면 내가 뭔가를 잊어버렸거나 뭔가 잘못한 것 같은 느낌이 든다.

postinstsudo dpkg -i xxx.deb명령 후에 스크립트가 실행되지 않는 이유는 무엇입니까 ?

관련 정보