다음과 같은 폴더 구조를 가진 폴더가 있습니다.
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.postinst
package.postrm
package.preinst
package.prerm
dh_make -f
fakeroot dpkg-deb --build python3.6
create 를 실행하면 .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.
이 문장을 보면 내가 뭔가를 잊어버렸거나 뭔가 잘못한 것 같은 느낌이 든다.
postinst
sudo dpkg -i xxx.deb
명령 후에 스크립트가 실행되지 않는 이유는 무엇입니까 ?