linux
有許多的發行版,產生了許多的軟體包管理工具,例如
redhat/centos
的yum
,ubuntu/debian
的apt-get
,suse
的yast
等,由於預設官方的軟體倉庫都在國外,加上
gfwdebian
與ubuntu
包管理工具就是都是
apt,
先看ubuntu
的軟體源的格式
(以阿里雲軟體源為例
):deb trusty main restricted universe multiverse
deb-src trusty main restricted universe multiverse
整個軟體源結構可以分解為四個部分:
第一部分
第二部分
第三部分
第四部分
軟體包格式
軟體包伺服器位址
發行版版本代號
軟體包的分類目錄
deb/deb-src
trusty/trusty-updates/trusty-security/trusty-backports/proposed
main、restricted、universe、multiverse
第三部分嚴格來說不算是發行版版本代號,它應該是ubuntu系統發布之後,在此基礎上進行的安全性更新的分類。
第四部分是按照軟體包的自由度來分類的:
main(主要的)-
-「main」元件包括了自由軟體、可以被自由發布的軟體和被ubuntu團隊完全支援的軟體。其中包括了大多數流行的和穩定的開源軟體,當您安裝ubuntu時預設安裝的就是這些軟體。
restricted(限制的)
--「restricted」元件是專供普遍用途,而且沒有自由軟體版權,但依然被ubuntu團隊支援的軟體。請注意,因為不能直接修改軟體,因而我們可能不能提供完全的技術支援,即便如此,我們還能向實際作者反饋bug報告。
universe(宇宙,世界,全人類)-
-「universe」元件是整個自由、開源linux世界的縮影。在「universe」元件中,你可以找到大多數開源軟體,以及在開源版權下的軟體,所 有這些都是在公共源的基礎上建立的。這些軟體都是使用「main」中的元件編寫的,它們能與「main」元件相安無事地共同執行,但它們沒有安全公升級的保 障。「universe」元件包含了數以千計的軟體。雖然是公共的,使用者必須明白它們與穩定的ubuntu核心的軟體的差異和不穩定。
multiverse(多元的)
現在,作為以上位置的新增功能,實際上新的軟體包都儲存在pool目錄中
下面我們來看一下ubuntu軟體源映象站的目錄結構(以中科大ubuntu軟體源映象站為例):
這裡重點介紹dists和pool兩個資料夾,其他的資料夾平常在我看來需要了解的意義不大。
dists/:
本目錄包含「發行版」(distributions),此處是獲得 ubuntu 發布版本(releases)和已發布版本(pre-releases)的軟體包的正規途徑。有些舊軟體包及 contens-*.gz packages.gz 等檔案仍在其中。
存在於dists目錄下的物理目錄名,例如trusty-updates和trusty-security,就是「附加的倉庫」。當某個ubuntu發行版處於維護階段。將包的必要公升級和安全更新放在附加的倉庫裡。其附加倉庫通常有「版本代號-updates」、「版本代號-security」、「版本代號-proposed」等等。dists目錄包含的全是ubuntu發行版目錄及其附加倉庫目錄(如:trusty、trusty-update、trusty-security、trusty-backports就是ubuntu trusty發行版目錄及其附加倉庫目錄)。
pool/:
所有 ubuntu 發布版及已發布版的軟體包的實體地址。軟體包均放進乙個巨大的「池子(pool)」,按照原始碼包名稱分類存放。為了方便管理,pool目錄下按屬性再分類(main、restricted、 universe和multiverse),分類下面再按原始碼包名稱的首字母歸檔。這些目錄包含的檔案有:執行於各種系統架構的二進位制軟體包,生成這些二進位制軟體包的原始碼包。
下面我們試著在已知ubuntu映象站伺服器位址的情況下在sources.list自己寫出一行可用的軟體源,下面以中科大ubuntu映象站為例:
我們知道ubuntu還有其他的附加倉庫,ubuntu附加倉庫的命名格式是「版本代號-限定詞」,限定詞是這update、security、proposed、backports四個詞中的乙個,比方說版本代號trusty和限定詞update組合就是trusty-update附加倉庫,trusty和security組合就是trusty-security附加倉庫,以此類推可以自行寫出ubuntu所有的附加倉庫的目錄名稱。
在sources.list檔案裡只有一條包含發行版倉庫trusty的軟體源還不夠,我們還要寫出包含其他4個附加倉庫的軟體源,只要把已經寫好的軟體源中的trusty依次替換成trusty-update、trusty-security、trusty-proposed、trusty-backports即可,下面是完整的包含所有附加倉庫的軟體源:
deb trusty-update main universe restricted multiverse
deb trusty-security main universe restricted multiverse
deb trusty-proposed main universe restricted multiverse
deb trusty-backports main universe restricted multiverse
下面再附上我自己寫的網易163的軟體源:
deb precise main universe restricted multiverse
deb precise-security main universe restricted multiverse
deb precise-proposed main universe restricted multiverse
deb precise-update main universe restricted multiverse
deb precise-backports main universe restricted multiverse
修改ubuntu的軟體源
修改ubuntu的軟體源,是修改 etc apt sources.list 檔案 ubuntu14.04可修改為如下配置 deb trusty main restricted universe multiverse deb trusty security main restricted univer...
更換 Ubuntu 的軟體源
備份原始檔 sudo cp etc apt sources.list etc apt sources.list.bcakup修改原始檔 sudo vi etc apt sources.list cat etc apt sources.list 阿里雲源 deb bionic main restric...
ubuntu更新軟體源
身為在中國的ubuntu使用者,當您費勁千辛萬苦安裝好ubuntu,準備開始體驗一下開源作業系統的魅力的時候,您會發現有很多的軟體還沒有安裝或者是更新,這時候千萬不要急著去安裝或者更新,因為您還沒有更新ubuntu的軟體源,這樣直接安裝會非常的慢,慢到讓人eggache。如果您先更新了軟體源,一定會...