chroot에 *.deb 패키지를 빌드하려고 합니다. 첫 번째 패키지인 bash를 빌드하는 동안 어려움에 부딪혔습니다. 패키지를 빌드하기 위해 debootstrap과 chroot를 사용합니다.
Debootstrap을 설치했습니다: sudo debootstrap stable /stable-chroothttp://deb.debian.org/debian/;
필요한 패키지를 설치합니다: apt -y install wget dpkg-dev devscripts dh-make locales;
로캘 설정을 구성합니다.
/etc/apt/source.list 구성 - deb-src 추가http://deb.debian.org/debian불스아이 메이저
빌드할 소스 코드 다운로드 - apt source bash(또는 데비안 웹사이트에서 wget 사용)
빌드 종속성 설치 - apt build-dep bash
마지막으로 build -debuild -b (dpkg-buildpackage도 시도)
결과적으로 bash 패키지를 빌드할 때 다음 오류가 발생합니다.
mkdir -p stamps : # #327477을 참조하세요. HAVE_DEV_STDIN을 정의해야 합니다. (test -d /dev/fd && test -r /dev/stdin < /dev/null)
|| (test -d /proc/self/fd && test - r /dev/stdin < /dev/null) make: *** [debian/rules:102: before-build] 오류 1 dpkg-buildpackage: 오류: debian/rules build 하위 프로세스가 종료 상태 2를 반환했습니다.
온라인에서 찾으려고 노력했지만 성공하지 못했으며 이 오류의 성격을 스스로 이해할 만큼 지식이 부족합니다. 빌드 환경에서 뭔가를 조정해야 하거나 추가 패키지가 필요한지 알려주십시오.
답변1
bash 빌드에는 유효한 /proc
and 가 필요 /dev
하므로 입력하기 전에 chroot에 바인드 마운트해야 합니다.
pbuilder
sbuild
이 모든 작업을 수동으로 수행하는 것보다 스크립트 또는 스크립트와 같은 도구를 사용하여 이 모든 작업을 처리하는 것이 더 쉬울 수 있습니다 . 시작하려면 pbuilder
설치하고 실행하십시오.
sudo pbuilder create
pdebuild
그런 다음 대신 실행하십시오 debuild
.