ubuntu上的軟體源

zhangzl419發表於2024-03-14

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、官方源

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

Main:包含Ubuntu官方支援的自由軟體。
Restricted:包含Ubuntu官方支援的非自由軟體,如硬體驅動程式。
Universe:包含社群支援的自由軟體。
Multiverse:包含社群支援的非自由軟體。
例如,要安裝OpenSSH伺服器軟體包,可以使用以下命令:

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

3、第三方源

除了官方源之外,我們還可以新增第三方源,透過它們來獲取更多軟體包。
最常見的第三方源是PPA(Personal Package Archives),由社群維護。新增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

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目錄新增為其儲存軟體包的位置。



相關文章