2008年1月16日 星期三

Ubuntu Source.list 說明

因為 Ubuntu 原生於 Debian, 所以也是對於自由很堅持,因此希望把自由軟體和非自由軟體拆開來放。有些是因為人力的問題,有些套件是在 Debian 裏面有,但是不被 Ubuntu 官方支援的。所以 Ubuntu 的處理方式是把它們拆成以下四大主要組件庫,類似 Debian 一樣,讓使用者選擇需要。前兩個 Main 和 Restricted 是官方正式支援的,Universe 和 Multiverse 是不被官方正式支援的。而 Restricted 和 Multiverse 裏面是 non-free 的軟體。

main
大部份常用的自由軟體都會收編在 main 裏面,這裡面所含的軟體需要完全符合 Ubuntu 對自由軟體的定義,詳細規定請見http://www.ubuntu.com/ubuntu/licensing。因此通常使用 main 就可以應付日常所需。而 main 裏面所有軟體,都是官方支援的,所以 Ubuntu 將會提供 main 的安全更新和技術支援。而它的角色和 Debian 裏面的 main 差不多。

restricted
裏 面所含的是非自由軟體,通常是不公開程式碼的程式或者授權不符合 Ubuntu 的要求。例如顯示卡驅動程式等等。雖然是非自由軟體,但是因為這些都是比較重要的非自由軟體,所以 Ubuntu 在符合該軟體授權下,將會進行穩定性上的測試,並也提供安全更新。因為不是自由軟體,所以 Ubuntu 在遇到問題時不一定能解決,所以維護品質沒有 main 那個好。桌面使用者通常都會使用 Restricted 這個組件庫,來對多媒體支援有比較好的效果。

universe
這 裡面大部分的軟體都是自由軟體,而且幾乎都是包含在 Debian 裏面的 main 中。但是因為人力上的問題,所以 Ubuntu 無法親自去包這些套件,而是直接由Debian 裏面抓下來從新編譯,或者是直接從外部程式碼自動編譯出來的。不管怎麼樣,這裡面的軟體是不被 Ubuntu 正式支援的,Ubuntu 雖然有提供它的安全更新,但是不保證能即時修正或能穩定運行。例如國內有名的打 BBS 軟體、 PCManX 就放在這裡面,或國內有名的輸入法程式 gcin 也是包含在這裡面。Ubuntu 預設沒有啟用 universe 套件庫,所以想要用的人得自己在 sources.list 啟用。

multiverse
裏面的軟體都是非自由軟體,但是因為重要性不足或授權的因素,所以放在這裡。而這裡的軟體也是不被官方正式支援的。而和 universe 一樣,Ubuntu 預設也是沒有啟用它。

而 除了以上這幾個組件庫以外,它還有其他附屬的組件庫。因為這些組件庫在穩定版出來以後,就不會再更動,所以當有漏洞的時候怎們辦?或者有人懶得每半年都更 新一次,但是又想要在舊版 Ubuntu 裏面享用一些比較新版的軟體時,總不能自己編譯和搞定 library 的問題吧!所以在上面四大組件庫,都有以下三個分支。

security
穩定版本正式釋出後,如果程式有重大安全性上的問題,將會 在這裡更新。而這裡所謂的更新,通常只會打上 patch (這裡指原始程式碼的修正檔。), 還是同一個版本,所以功能也不會增加。因為 security 套件庫是針對系統安全而更新,所以裏面大部份更新都和伺服器或系統架構有關。而這個組件庫預設是被開啟的。

updates
這 也是在穩定版釋出後,提供系統更新的一個方式。但是和 security 不同的是,這裡所做的更新都是和安全性沒有關,而是和程式的 bug 相關。例如某套桌面軟體有時候會當掉,而這個當然和系統安全沒關係了,這種更新就會放在這裡。updates 裏面的更新和 security 一樣,也只做 patch, 所以也是同一個版本,不會有新功能。這個組件庫也是預設被開啟的。

backports
例如 6.06 (Dapper) 中附的網頁瀏覽器是 Firefox 1.5.0.3, 但是在穩定版釋出後,也許這段時間裏面出現了 1.5.1, 1.5.2, 1.5.3 等版本,但是在主套件庫中軟體是一定不會更新的,而預設開啟的 security 或 updates 套件庫除非是有安全性的問題或者是有些 bug,否則不會更新。就算是因為安全性或 bug 而更新,也通常不會換成新版的。所以 backports 就是為了解決這樣的問題,開發者會將新版的軟體就會放在 backports 中,讓使用者使用舊版發行版但是可以用到比較新的套件。而通常在 backports 中的程式都是和桌面相關,而不會去更新到系統或伺服器架構,這樣才能保證系統運作穩定。而預設 backports 是沒有使用的,所以要自己修改 sources.list 來啟用。
(備註: 使用者可以要求希望哪些軟體進入 backports, 詳細辦法可以參閱http://backports.ubuntuforums.org)

沒有留言: