Linux
在單獨的建構環境中建構 *.deb 包時出錯
我正在嘗試將 *.deb 包建構到 chroot 中。在建構第一個包 - bash 時,遇到了困難。我使用 debootstrap 和 chroot 建構軟體包。
- 我安裝 debootstrap:sudo debootstrap stable /stable-chroot http://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 bullseye main
- 下載要建構的原始碼 - apt source bash(或使用 debian 網站上的 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 建構子程序返回退出狀態 2
我試圖在網上找到它,但沒有成功,我的知識還不足以理解這個錯誤的本質。請告訴我,也許我必須在建構環境中調整一些東西,或者我需要一些額外的包嗎?
bash 建構需要一個有效的
/proc
and/dev
,因此您需要在進入之前將它們綁定掛載到您的 chroot 中。與手動完成所有這些不同,您可能會發現使用諸如
pbuilder
or之類的工具會更容易,sbuild
它會為您處理所有這些。要開始使用pbuilder
,安裝它,執行sudo pbuilder create
然後執行
pdebuild
而不是debuild
.