網頁

搜尋此網誌

2013年12月19日 星期四

Debian package 套件開發工具

Debian 套件 (Debian package) 有兩種類型,一種是執行檔套件 (Binary package),另一種是原始檔套件 (Source package),一般使用套件管理工具 (如 apt-get ) 安裝的都是執行檔套件。
  • Binary package
    以 .deb 為副檔名,套件裡面包含可直執行檔、組態檔 (configuration file)、man/info 頁面、版權資訊與相關文件。
  • Source package
    包含兩個部分,以 .dsc 為副檔名的描述檔,以及以 .orig.tar.gz 為副檔名的壓縮原始檔,另外也有可能包含一個以 .diff.gz 為副檔名的壓縮檔。
這裡我主要討論最常使用的 Binary package ,說明建置一個執行檔套件需要有哪些套件?在這裡我將採取最原始的 Debian 套件管理程式 (dpkg) 進行這項工作,使用 dpkg-deb 指令建置 Debain 套件。當然,也有其他高階的工具可以使用,不過那隱藏了一些細節,我認為不利於學習,所以我還是採用 dpkg。

由於系統預設已安裝 debconf 和 dpkg 兩個套件,下列是 Ubuntu 內建的指令:
  • 屬於 dpkg 套件
    • dpkg
    • dpkg-deb
    • dpkg-divert
    • dpkg-maintscript-helper
    • dpkg-query
    • dpkg-split
    • dpkg-statoverride
    • dpkg-trigger
  • 屬於 debconf 套件
    • debconf
    • debconf-apt-progress
    • debconf-communicate
    • debconf-copydb
    • debconf-escape
    • debconf-set-selections
    • debconf-show
    • dpkg-preconfigure
    • dpkg-reconfigure
  • 補充:其中有一個 dpkg-log-summary 指令是屬於 xdiagnose 套件,在此不列入。
當我們想要建立一個執行檔套件時,使用內建的 dpkg-deb 指令就可以開始建置,不需要再安裝其他套件。但是一個 Debain 套件包含相關設定,該如何開始學習呢?這時候就必須參考說明文件,除了線上文件之外,建議安裝 dpkg-dev 套件,或是 build-essential 套件 (build-essential已包含 dpkg-dev),dpkg-dev 除了提供一些指令之外,還包含很多有關 Debain 套件的說明文件,對於學習相當有用。

安裝指令是 sudo apt-get install dpkg-dev 或 sudo apt-get install build-essential,安裝完成之後,Ubuntu 將增加下列說明文件,請使用 man 指令讀取:
  • deb-control
  • deb-extra-override
  • deb-old
  • deb-override
  • deb-shlibs
  • deb-split
  • deb-src-control
  • deb-substvars
  • deb-symbols
  • deb-triggers
  • deb-version
  • deb
  • dpkg-architecture
  • dpkg-buildflags
  • dpkg-buildpackage
  • dpkg-checkbuilddeps
  • dpkg-distaddfile
  • dpkg-genchanges
  • dpkg-gencontrol
  • dpkg-gensymbols
  • dpkg-mergechangelogs
  • dpkg-name
  • dpkg-parsechangelog
  • dpkg-scanpackages
  • dpkg-scansources
  • dpkg-shlibdeps
  • dpkg-source
  • dpkg-vendor
參考資料:
補充:還有 debconf-doc 套件有其他的說明文件。
###

沒有留言:

張貼留言

熱門文章