Dpkg
“dpkg-buildpackage -rfakeroot -d -us -uc -S 失敗”是什麼意思?
我正在嘗試建構一個簡單的 Debian 軟體包,我使用 root 使用者執行了以下步驟:
首先,我下載了上游壓縮包,然後:
$ mv hithere-1.0.tar.gz hithere_1.0.orig.tar.gz
然後:
$ tar xf hithere_1.0.orig.tar.gz
之後:
$ cd hithere-1.0 $ dch --create -v 1.0-1 --package hithere $ cd debian/ $ rm *.ex *.EX
然後我編輯了“控製文件”和“版權文件”:
$ nano control $ nano copyright $ cd .. $ debuild -S
在最後一條命令之後,生成了此錯誤:
root@mehrnaz-MS-A934:/home/fabdollahei/hithere-1.0# debuild -S dpkg-buildpackage -rfakeroot -d -us -uc -S dpkg-buildpackage: warning: using a gain-root-command while being root dpkg-buildpackage: source package hithere dpkg-buildpackage: source version 1.0-1 dpkg-buildpackage: source distribution unstable dpkg-buildpackage: source changed by root <f.abdollahei@itrc.ac.ir> dpkg-source --before-build hithere-1.0 dpkg-source: error: syntax error in hithere-1.0/debian/control at line 15: block lacks the 'Package' field dpkg-buildpackage: error: dpkg-source --before-build hithere-1.0 gave error exit status 255 dpkg-source: error: syntax error in hithere-1.0/debian/control at line 15: block lacks the 'Package' field dpkg-buildpackage: error: dpkg-source --before-build hithere-1.0 gave error exit status 255 debuild: fatal error at line 1364: dpkg-buildpackage -rfakeroot -d -us -uc -S failed
我如何擺脫那個致命的錯誤?
該消息只是說該
dpkg-buildpackage
命令失敗。如果您閱讀這些消息,您會立即註意到問題出在哪裡:dpkg-source: error: syntax error in hithere-1.0/debian/control at line 15: **block lacks the 'Package' field** dpkg-buildpackage: error: dpkg-source --before-build hithere-1.0 gave error exit status 255
如果你解決了這個問題(可能還有其他問題,以後可能會出現)它應該可以工作。
dpkg-buildpackage -rfakeroot -d -uc -us -S failed
方法;
dpkg-buildpackage
是執行的命令的名稱。dpkg-buildpackage 是一個用於建構 Debian 軟體包或“.debs”的工具。-rfakeroot
是命令的第一個參數,並告訴 dpkg-buildpackage 就像 dpkg-buildpackage 具有 root 權限一樣。從手冊頁;“當 dpkg-buildpackage 需要以 root 身份執行部分建構過程時,它會為其執行的命令添加前綴”,在本例中為 fakeroot。(不要使用su
)。- 該
-d
標誌的意思是“不檢查建構依賴項和衝突”。-uc
並且-us
意味著不要分別簽署更改文件或原始碼。-S
意味著建構一個源包。Debian 軟體包有兩種類型;二進制和源。二進製文件是從源包建構的。- “失敗”意味著命令失敗,但我猜你知道這一點。:-)