심볼릭 링크를 생성하기 위한 postinst 스크립트가 포함된 Debian 패키지가 있습니다. .deb
패키지를 설치하려고 하면 --root
(패키지가 설치된 위치를 변경하고 싶기 때문에) 다음 오류가 발생합니다.
dpkg (subprocess): unable to execute installed post-installation script: No such file or directory
subprocess installed post-installation script returned error exit status 2
dpkg
.NET에서 postinst 스크립트를 찾으려고 합니다 /var/lib/dpkg/info
. 내가 이해할 수 없는 것은 dpkg
매뉴얼 페이지에 따르면 using 옵션 --root
도 . 그렇다면 왜 postinst 스크립트를 찾으려고 하는 걸까요 ?admindir
newdir/var/lib/dpkg
/var/lib/dpkg/info/
-i --root=newdir
이 관리자 스크립트 없이 다른 패키지를 만들고 동일한 옵션을 사용하여 설치해 보았지만 오류가 발생하지 않았습니다.
이 작업을 수행할 수 있는 방법을 알려주십시오.
답변1
dpkg
postinst 스크립트가 실제로 발견되었습니다 /your/root/var/lib/dpkg/info
. 실행을 시도합니다. 문제는 다음과 같습니다.로더 누락: dpkg
postinst 스크립트를 찾았지만 스크립트의 인터프리터가 존재하지 않기 때문에 실행하려고 하면 "해당 파일이나 디렉터리가 없습니다"라는 오류가 표시됩니다(예: Python 스크립트이고 python-minimal
설치되지 않음). instdir의 대안을 사용하려면 인터프리터가 instdir 아래에 있어야 합니다(dpkg는 패키지 스크립트를 실행하기 전에 instdir로 루트를 변경합니다).
태그가 지정된 패키지가 인터프리터를 제공하지 않는 경우 Essential
패키지가 인터프리터를 제공하는 패키지에 종속되어 있는지 확인하세요.