[ 上一頁 ] [ 目錄 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ A ] [ 下一頁 ]


Debian新維護人員手冊
第 7 章 - 檢查套裝軟體中的錯誤


7.1 lintianlinda套裝軟體

在你的.changes檔案上執行lintian(1)linda(1);它們會檢查出其中很多常見的錯誤。通常使用命令:

        lintian -i gentoo_0.9.12-1_i386.changes
        linda -i gentoo_0.9.12-1_i386.changes

當然,要用為你的套裝軟體產生的.changes檔案的檔案名稱取代掉上面的。如果這個 命令的執行結果顯示在套裝軟體中有錯誤(以E:開始的行),清仔細閱讀關於錯誤的 說明(以N:開始的行),糾正錯誤,然後根據前文完整的rebuild, 第 6.1 節所述 重新建立套裝軟體。如果在輸入的資訊中有以W:開始的行,它們代表警告,那就要 調整套裝軟體或是如果你確認這些警告是不是spurious的(讓Lintianoverride它 們;請參考文件以獲得更多的資訊。)

你可以用debuild(1)命令,它會首先 用dpkg-buildpackage建立套裝軟體,接著運 行lintianlinda


7.2 mc命令

你可以用dpkg-deb(1)解壓*.deb包裝檔中 的內容。你也可以用debc(1)列出產生的Debian包裝檔中 的內容。

這也可以用如mc(1)的檔案管理器直接完成,使用它, 不只有可以瀏覽*.deb檔案的內容,還可以瀏覽*.diff.gz*.tar.gz檔案的內容。

請注意來源碼包裝檔和二進位包裝檔中沒有用處的檔案或零長度的檔案。通常cruft都不能被 正確地清理;請調整你的rules檔案來修復它們。

技巧:使用“zgrep ^+++ ../gentoo_0.9.12-1.diff.gz”命令可以得到 一系列對來源檔案進行的修改或增加。而“dpkg-deb -c gentoo_0.9.12-1_i386.deb”或“debc gentoo_0.9.12-1_i386.changes”會列出二進位包裝檔中的檔案。


7.3 debdiff命令

你可以用debdiff(1)命令來比較兩個Debian二進位軟 件包裝檔中的檔案清單。這對於核對是否有錯誤地放置或刪除了檔案和其它粗心大意 的修改是很有用的。你可以用“debdiff old-package.change new-package.change”檢查一組*.deb檔案。


7.4 interdiff命令

你可以用interdiff(1)命令比較兩個diff.gz檔案。這對於核對維護者在更新包裝檔時對於來源碼包裝檔是否有粗心大意 地修改是很有用的。執行“interdiff -z old-package.diff.gz new-package.diff.gz”。


7.5 debi命令

自己安裝你的套裝軟體,比如用root的身份使用debi(1)命令。嘗試在其它的機器上而不只是你自己的機器上安裝並執行你 的套裝軟體,並仔細觀察所有的在安裝和執行時系統給出的錯誤資訊。


7.6 pbuilder包裝檔

對於淨室(chroot)建構環境而言,要核對編譯環境的依賴關係,pbuilder套裝軟體是很有用的。使用它可以確保在auto-builder中為不 同的體系結構完全從來源碼完成編譯,從而避免了很嚴重的FTBFS(無法從來源碼編 譯)的bug,而這種bug經常會出現在RC(發佈臨界版)中。要了解Debian軟體 包裝檔auto-builder的更多資訊,請參考http://buildd.debian.org/

最簡單地使用pbuilder包裝檔的方法是直接以root身份使 用pbuilder命令。例如,在包裝檔含了.orig.tar.gz.diff.gz.dsc的目錄下使用下面的命令 可以建構一個套裝軟體。

      root # pbuilder create # if second time, pbuilder update
      root # pbuilder build foo.dsc

新建構的套裝軟體可以在/var/cache/pbuilder/result/中找到,而它們 的所有者都是root使用者。

pdebuild命令讓你可以以普通用戶的身份使用pbuilder包裝檔的功能。從來源碼樹的根中,當其父目錄中有orig.tar.gz時,你可以輸入下面的命令:

      $ sudo pbuilder create # if second time, sudo pbuilder update
      $ pdebuild

新建構的套裝軟體會在/var/cache/pbuilder/result/中,而其所有者將 不再是root使用者。 [2]

如果你希望增加新的apt來源讓pbuilder包裝檔,你可以設定OTHERMIRROR~/.pbuilderrc/etc/pbuilderrc且(對srage)可執行

      $ sudo pbuilder update --distribution sarge --override-config

使用--override-config則需要更新chroot環境中的apt來源。

參考http://www.netfort.gr.jp/~dancer/software/pbuilder.htmlpdebuild(1)pbuilderrc(5)pbuilder(8)


[ 上一頁 ] [ 目錄 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ A ] [ 下一頁 ]


Debian新維護人員手冊

version 1.2.3, 2005年4月3日.

Josip Rodin joy-mg@debian.org
華文版翻譯:李凌 lilingv@gmail.com
華文版翻譯:鄭原真 ycheng@slat.org