2016-07-12 6 views
1

사용자가 정말로 설치하고 싶은지 묻기 위해 debconf를 사용하는 deb (간단한 부울 템플릿)을 구축 중입니다. 정상적으로 설치를 종료하는 가장 좋은 방법은 무엇입니까? 나중에 사용자가 apt-get install pkg-name 일 수 있고 새로운 구성 메뉴가 표시 될 수 있도록하려면 어떻게해야합니까?메인테이너 스크립트에서 deb 설치를 정상적으로 종료하려면 어떻게해야합니까?

내 현재 솔루션은 다음과 같은 preinst 스크립트에서 값을 확인하는 것입니다

db_get pkg-name/confirm_install 
if [ "$RET" = "false" ]; then 
     db_purge 
     exit 1 
fi 

exit 1 계속하고 패키지가 설치 생각에서 apt-get을 유지하기 위해 필요하고, db_purge 함께 다시 설치하는 사용자 수 깨끗한 debconf db. 그러나, 그것은 불쾌한 오류를 던졌습니다 :

dpkg: error processing pkg-name (--configure): 
subprocess installed post-installation script returned error exit status 1 
Errors were encountered while processing: 
pkg-name 
E: Sub-process /usr/bin/dpkg returned an error code (1) 

deb maintainer 스크립트에서 설치를 종료하는 더 좋은 방법은 있습니까?

+0

how bout'db_get pkg-name/confirm_install | 사실 ' –

답변

1

나는 거기 있다고 믿지 않습니다. dpkg의 관점에서 볼 때, 사용자는 패키지를 설치할 것을 요청했고, 그것이 일어나지 않으면 결국 그것이 일어나지 않았고 왜 안되는지 보여주기 위해 가능한 많은 설명을 할 필요가있다.

대신 사용자가 특별한 "재구성"스크립트 (또는 표준 dpkg-reconfigure $yourpkg)를 실행할 때까지 패키지가 깔끔하게 설치되지만 패키지가 제공하는 추가 동작을 사용 가능하게하지 않아도되도록 할 수 있습니다.

+0

당신이 옳다는 것이 두려워요. 많은 검색을 한 후에는이를 수행 할 방법을 찾을 수없는 것 같습니다. 다른 사람들이 아이디어를 가지고 있는지 당신의 대답을 받아 들일 때까지 며칠을 드리겠습니다. – KernelSanders