ubuntu上的軟件源

0、Ubuntu上安裝軟件的方式和原理

Ubuntu 中安裝軟件的方式:

在 Ubuntu 中軟件安裝的方式和 Windows 系統中雙擊 exe 文件的傻瓜式軟件安裝的方式有很大的不同,它主要可以分爲下面三種安裝方式:

  1. 可執行文件安裝。具體分爲2種,1)通過 apt 包管理工具從軟件源中安裝; 2)通過 deb 格式的軟件包安裝
  2. 從軟件源碼手動編譯安裝

通過軟件源安裝軟件的原理:

其實通過軟件源安裝軟件的原理非常簡單。
Ubuntu 系統中自帶了一個名爲 apt的軟件包管理工具,它的主要功能就是負責 Ubuntu 系統中所有軟件包的管理,包括從軟件源中下載軟件,卸載系統中已經安裝的軟件等。

而每當我們通過 sudo apt-get install 命令去安裝一個軟件時,apt-get工具就會從系統中一個叫做源列表的文件中去讀取軟件源的網址信息,
查找包含該軟件的軟件源的網址,然後就從這個網址上把指定的軟件給下載下來,然後由 apt-get 包管理工具在本地進行一些解壓和安裝的操作。

1、ubuntu上的3種軟件源

APT (Advanced Packaging Tool) 用於管理Ubuntu及其衍生版本的軟件包。APT依賴於存儲在Ubuntu軟件倉庫中的軟件包。Ubuntu軟件倉庫源是APT用於獲取軟件包的位置。

Ubuntu軟件倉庫源分爲以下幾種類型:

官方源(Main、Restricted、Universe、Multiverse)
第三方源(PPA)
本地源(Local)
其中:
1)官方源由Canonical官方維護。
2)第三方源由社區或第三方維護。
3)本地源則是本地計算機上存儲軟件包的位置。

2、官方源

Ubuntu 官方軟件源中包含了 Ubuntu 系統中所用到的絕大部分的軟件。
它對應的軟件源網址列表是 /etc/apt/sources.list。
在這個文件中,記錄了 Ubuntu 官方源的地址,基本格式內容如下所示

deb [web/ftp地址] [發行版名字][ main/contrib/non-free]

deb開頭的行設置下載軟件軟件包的路徑,而以deb-scr開頭的行設置下載軟件包源碼的路徑,

deb [arch=amd64] http://mirrors.zju.edu.cn/ubuntu trusty main universe restricted multiverse
deb [arch=amd64] http://mirrors.zju.edu.cn/ubuntu trusty-security main universe restricted multiverse
deb [arch=amd64] http://mirrors.zju.edu.cn/ubuntu trusty-updates main universe restricted multiverse
deb [arch=amd64] http://mirrors.zju.edu.cn/ubuntu trusty-backports main universe restricted multiverse
deb-src [arch=amd64] http://mirrors.zju.edu.cn/ubuntu trusty main universe restricted multiverse
deb-src [arch=amd64] http://mirrors.zju.edu.cn/ubuntu trusty-security main universe restricted multiverse
deb-src [arch=amd64] http://mirrors.zju.edu.cn/ubuntu trusty-updates main universe restricted multiverse
deb-src [arch=amd64] http://mirrors.zju.edu.cn/ubuntu trusty-backports main universe restricted

Main、Restricted、Universe、Multiverse是Ubuntu官方源的四個組件。每個組件包含不同類型的軟件包。

Main:包含Ubuntu官方支持的自由軟件。
Restricted:包含Ubuntu官方支持的非自由軟件,如硬件驅動程序。
Universe:包含社區支持的自由軟件。
Multiverse:包含社區支持的非自由軟件。
例如,要安裝OpenSSH服務器軟件包,可以使用以下命令:

sudo apt-get update
sudo apt-get install openssh-server

3、第三方源

除了官方源之外,我們還可以添加第三方源,通過它們來獲取更多軟件包。

Ubuntu 爲了分辨官方的源和第三方的源才設計成在sources.list存儲官方源網址 和 sources.list.d/下存放第三方軟件源地址。

最常見的第三方源是PPA(Personal Package Archives),由社區維護

所謂 PPA 源,就是指 “Personal Package Archives” ,也就是個人軟件包集。
這其實是一個網站,即-launchpad.net。Launchpad 是 Ubuntu 母公司 Canonical 有限公司所架設的網站,是一個提供維護、支援或聯絡 Ubuntu 開發者的平臺。
由於不是所有的軟件都能進入 Ubuntu 的官方的軟件庫,launchpad.net 提供了 PPA,允許開發者建立自己的軟件倉庫,自由的上傳軟件。供用戶安裝和查看更新。

添加PPA源可以通過以下命令:

sudo add-apt-repository ppa:用戶名/倉庫名
sudo apt-get update

例如,要添加Node.js的PPA源,可以使用以下命令:

sudo add-apt-repository ppa:nodejs/ppa
sudo apt-get update
sudo apt-get install nodejs

例如,我們想要添加一個 Wireshark軟件的 PPA 源,我們可以根據它官網上提供的命令來進行添加,如下圖所示

當我們添加完 PPA 源之後,系統就會在 /etc/apt/sources.list.d/ 文件夾裏創建了兩個文件:

我們再來打開一下 wireshark-dev-stable-trusty.list文件,看看裏面的內容是什麼:

deb http://ppa.launchpad.net/wireshark-dev/stable/ubuntu trusty main
deb-src http://ppa.launchpad.net/wireshark-dev/stable/ubuntu trusty main

Ubuntu根據軟件包的開發組織對該軟件的支持程度,以及遵循來源的程度,劃分如下:
一.核心(Main)。官方維護的開源軟件,是由Ubuntu官方完全支持的軟件,包括大多數流行的、穩定的開源軟件,是Ubuntu默認安裝的基本軟件包。
二.公共(Universe)。社區維護的開源軟件,是由Ubuntu社區的計算機愛好者維護的軟件,是Linux世界中完全自由和開源的部分,包括了絕大多數軟件。
這些軟件都是以(Main)中的軟件包爲基礎,編寫而成。但此類軟件包沒有安全升級的保障。
三.受限(Restricted)。官方維護的非開源軟件,是專供特殊用途,且沒有自由軟件版權,不能直接修改的軟件,但仍然被Ubuntu團隊支持。
四.多元化(Multiverse)。非Ubuntu官方維護的非開源軟件,是那些非自由軟件,通常不能被修改,用戶使用這些軟件包時,需要特別注意版本問題。

Ubuntu根據軟件包的必要性和安全性,又將軟件包劃分爲四類:
一.安全更新(Security)。穩定的、安全的軟件包,是必須要安裝的軟件包。
二.最新更新(Updates)。最新完成的更新軟件包,建議安裝的。
三.推薦更新(Proposed)。提前釋放的更新,處於alpha測試階段的軟件包。
四.修補更新(Backports)。在Ubuntu舊版本中部分添加新的功能,該類軟件包無任何技術支持。

4、本地源

有時,我們需要將軟件包存儲在本地計算機上,例如在沒有internet連接時。可以通過創建本地源的方式自己管理軟件包。例如,可以將deb軟件包放在/var/cache/apt/archives目錄中,然後使用以下命令將該目錄添加爲本地源:

sudo apt-ftparchive packages /var/cache/apt/archives > Packages
sudo gzip -c Packages > Packages.gz
sudo apt-ftparchive release . > Release

然後,可以使用以下命令將該源添加到apt的源列表中:

sudo echo "deb [trusted=yes] file:///var/local_repo ./" > /etc/apt/sources.list.d/local.list  #注意file後面三個/
sudo apt-get update

以上命令將在本地創建名爲local的源,並將/var/local_repo目錄添加爲其存儲軟件包的位置。



參考資料:
1、https://blog.csdn.net/ymz641/article/details/132959142



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章