Dpkg

“dpkg-buildpackage -rfakeroot -d -us -uc -S 失敗”是什麼意思?

  • August 21, 2020

我正在嘗試建構一個簡單的 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方法;

  1. dpkg-buildpackage是執行的命令的名稱。dpkg-buildpackage 是一個用於建構 Debian 軟體包或“.debs”的工具。
  2. -rfakeroot是命令的第一個參數,並告訴 dpkg-buildpackage 就像 dpkg-buildpackage 具有 root 權限一樣。從手冊頁;“當 dpkg-buildpackage 需要以 root 身份執行部分建構過程時,它會為其執行的命令添加前綴”,在本例中為 fakeroot。(不要使用su)。
  3. -d標誌的意思是“不檢查建構依賴項和衝突”。
  4. -uc並且-us意味著不要分別簽署更改文件或原始碼。
  5. -S意味著建構一個源包。Debian 軟體包有兩種類型;二進制和源。二進製文件是從源包建構的。
  6. “失敗”意味著命令失敗,但我猜你知道這一點。:-)

引用自:https://unix.stackexchange.com/questions/160513