2010年4月18日 星期日

淺談 debian packaging - 4

上回書說 control 檔裡的幾個重要標籤。整個 debian 的套件管理幾乎可以說是靠這麼少少的數個標籤所撐起來的。那麼延續著 control 檔的話題,這次就先把相依關係更清楚的講解一下,然後談談我個人認為 debian package 管理中最偉大的東西 - 虛擬套件。

我認為最快的學習就是先強記一些基本的概念及關鍵字之後,透過實例或操作來印證。要理解套件之間的相依,最好的工具就是 aptitude 和 synaptics。
俗話說:「沒圖沒真相。」,以下就以一張 aptitude 的螢幕擷圖來實際說明幾個最常用的標籤。

這是在 Ubuntu 9.10 (karmic) 裡,對 apt 這個套件按 Enter (查看詳細資訊)的結果。以下列舉一些相依關係,用比較自話的方式來描述他們。

  • 必須要安裝 libc 2.4 版 (或比 2.4 還新的版本,如 2.4.1、2.5 等等),apt 這個套件裡的東西才能正常執行。
  • apt-doc 裝不裝都可以,有裝有保庇,沒裝無要緊。
  • ubuntu-keyring 最好是裝一下,沒裝的話還是可以執行啦,不過可能需要調整一下、修改個設定檔,或者是某些常用的功能會錯誤一類的。
  • 如果你有裝 libapt-pkg-dev (比 0.3.7 更舊的版本),有一部份的檔案會被 apt 這個套件蓋掉。
  • apt 這個套件會提供 libapt-pkg-libc6.10-6-4.8 這個虛擬套件。
  • 如果你有裝 apt-move 的話,最好裝一下這個 apt。(注意到了嗎,apt-move 是歸類在依賴於 apt 的套件之中的,所以被推薦的是 apt 才對。
看到這邊,喝杯茶思考一下,相信對套件之間的相依關係已經有一幅清晰的圖案浮現了吧。