문제

데비안 기반 시스템에서 개인 용도로 일부 소프트웨어 (자체 설치 업체가있는)를 다시 포장하고 있습니다. 해당 소프트웨어는 이미 컴파일되어 (소스 없음) 기본적으로 설치 프로그램을 $DESTDIR 나무.

불행히도 설치 프로그램은 시스템 사용자 이름과 GroupName이 이전에 작성되도록 요구합니다. 이제는 데비안 패키지를 구축하고 설치하기 전에 "손으로"하는 것이 간단한 문제라는 것을 알고 있습니다. 그러나 Debuild에게 "사용자 생성을 가짜"하도록 지시 할 수 있는지 궁금합니다 (Fakeroot와 함께 루트로 실행하는 동안). 편집 debian/preinst.ex 그리고 debian/postrm.ex 파일은 해당 작업을 수행하는 데 효과가 있지만 이는 또한 짓다 해당 사용자가 빌드 후 불필요 해지는 단계.

따라서 기본적 으로이 탄약은 데비안 빌드 도구 (및 도구 내에서 도구가 빌드 내에서 실행) 특정 사용자가 이미 존재한다는 것을 "믿는"데 도움이됩니다. Chroot-Ed 환경 (예 : PBuilder)에서 실행되지 않으면 어떻게해야합니까?

도움이 되었습니까?

해결책

조금 늦었지만 내 가장 좋은 추측은 LD_PRELOAD, 동적 라이브러리에 컴파일 된 별도의 C 파일을 구축 해야하는 동적 라이브러리를 구축해야합니다. getpwnam() 아마도 설치 프로그램이 사용자를 확인하는 데 사용하는 것일 것입니다.

그러나 먼저, 나는 할 것이다 진짜 "설치자"가 포장되지 않은 모드로 강요 될 수 없는지 확인하십시오. 많은 설치 업체가 숨겨진 옵션을 사용할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top