postinst
스크립트 를 만들 필요 는 없지만 솔루션은 여전히 까다 롭습니다. dh
와일드 카드를 사용합니다 debian/rules
:
#!/usr/bin/make -f
%:
dh $@
binary:
dh $@
필요한 모든 작업을 수행합니다. 그러나 일부 디렉토리 소유권을 재정의해야합니다 (데이터라고 함). 그래서 나는 예외를 만들어야합니다, 나는 특별한 지시문을 사용합니다 (이것은 예입니다) :
override_dh_install:
dh_install #calls default *.install and *.dirs installation
install -d -o www-data -g www-data $(CURDIR)/debian/<package_name>/var/www/<something>/data
데이터 디렉토리는 * .dirs 파일에있을 필요는 없습니다. 그러나 여전히 하나의 트릭이 있습니다. Debhelper에는 소유권을 다시 루트로 수정하는 스크립트 dh_fixperms가 포함되어 있으므로 다음도 재정의해야합니다.
override_dh_fixperms:
dh_fixperms --exclude data
그게 다야. data dir은 conffile로 계산되지 않으므로 remove 패키지에서 제거됩니다. conffile로 만들어야한다면 또 다른 이야기입니다.