Debian 是有史以來最受歡迎的 Linux 發行版之一,現在它獲得了 新版本發布 Debian 10 Buster. Debian 衍生出很多衍生品,其中最受歡迎的是 Ubuntu。
Debian Linux 發行版被廣泛使用,因為它的核心包管理 – APT,以及它的包格式 .deb。 Debian 中的每個應用程序、系統實用程序或遊戲都是作為一個包分發的。 您可以使用 APT(自動或手動)將這些軟件包安裝到您的系統上。
在本指南中,我們將簡要了解 Debian 10 的新功能,熟悉 APT 包管理器,並了解如何在 Debian 10 Buster 上配置它的 sources.list 文件。
讓我們看看有哪些新功能和最重要的變化。
Debian 10 Buster 的新特性
新的 Debian 10 Buster 最重要的特性是:
- GNOME 桌面 3.30
- Linux 內核 4.19.0-5
- OpenJDK 11.0
- AppArmor 默認啟用
- 第 10.15.2 章
- NFtables 替換 iptables
- 支持大量 ARM 64 和 ARMHF SBC 板
- 郵差3
- Bash 5.0 默認
- Debian 實施 /usr/merge
- 安全啟動支持
- Debian-Live 鏡像的 Calameres Live-installer
什麼是 APT 管理器以及它的 sources.list
APT 是 Debian 及其衍生產品中使用的包管理器。 APT 代表 Advanced Package Tool,它是一組用於管理 Debian 軟件包以及安裝在 Debian 系統上的所有應用程序的工具。
APT 用於安裝、更新或刪除應用程序和軟件包。
APT 能夠解決依賴問題並從包存儲庫中檢索請求的包。 它將軟件包的實際安裝和刪除委託給 dpkg – 低級核心 Debian 軟件包工具。 APT 主要由其命令行工具使用,但也有可用的 GUI 工具。
Debian 中的文件“/etc/apt/sources.list”包含可以從中獲取軟件包的“源”列表。 source.list 文件可能因各種因素而異(Debian 是從哪種介質安裝的,是否從以前的版本更新,等等…)
這是我們想要在我們的系統上的列表:
$ cat /etc/apt/sources.list
deb https://httpredir.debian.org/debian buster main non-free contrib
deb-src https://httpredir.debian.org/debian buster main non-free contrib
deb https://security.debian.org/debian-security buster/updates main contrib non-free
deb-src https://security.debian.org/debian-security buster/updates main contrib non-free
我們現在將討論這個文件的內容以及它的不同部分。
Debian sources.list 文件的內容和部分
“sources.list”文件的部分如下:
- 檔案類型
- 儲存庫網址
- 分配
- 零件
我們現在將詳細介紹每個部分。
檔案類型
每行的第一個條目 – deb 或 deb-src 代表存儲庫檔案的類型。
德布 表示提供的 URL 中的存儲庫包含預編譯的包。 這些是使用 apt-get、aptitude、synaptic 等包管理器時默認安裝的包…
deb-src 表示帶有 Debian 控製文件 (.dsc) 和 diff.gz 的源包,其中包含打包程序所需的更改。
儲存庫網址
條目行的下一部分是將從中下載包的存儲庫的 URL。 您可以從 Debian Worldwide sources.list 鏡像中找到 Debian 存儲庫的主要列表。
分配
發行版可以分別是發行代號/別名(jessie、stretch、buster、sid)或發行類(old stable、stable、testing、unstable)。 如果您打算跟踪發布類,則使用類名,如果您想跟踪 Debian 點發布,請使用代號。
零件
通常有三個組件可以在 Debian 上使用,即:
- 主要的 – 這包含屬於 Debian 發行版的軟件包。 這些軟件包符合 DFSG 標準。
- 貢獻 – 此處的軟件包符合 DFSG,但包含不在主存儲庫中的軟件包。
- 非免費 – 這包含不符合 DFSG 的軟件包。
正如我們在 Debian 10 Buster 上的以下 sources.list 文件中看到的那樣,我們希望條目列出所有三種組件類型:
deb https://httpredir.debian.org/debian buster main non-free contrib
deb-src https://httpredir.debian.org/debian buster main non-free contrib
deb https://security.debian.org/debian-security buster/updates main contrib non-free
deb-src https://security.debian.org/debian-security buster/updates main contrib non-free
如果您的 sources.list 文件不同,您必須在 main 之後添加 contrib 和 non-free 部分才能列出所有包。 如果您的系統是這種情況,您可以使用 nano、vim 或任何其他編輯器編輯文件 /etc/apt/sources.list 以進行更改。 我們將在本文的下一節中討論。
如果您還需要 Backports、contrib 和非自由組件,請添加 buster-backports 行。 為了 example,對於 Debian 10 Buster:
deb https://deb.debian.org/debian buster-backports main contrib non-free
deb-src https://deb.debian.org/debian buster-backports main contrib non-free
您可以改為在上述所有 URL 中使用“https://…”,以通過加密的 HTTPS 連接使用存儲庫。 (Debian 9 Stretch 或更早版本的用戶需要先安裝 apt-transport-https 包。)
如果您的 sources.list 包含所有部分,我們可以使用 apt-get 運行包更新。 這將確保您的 apt 索引同步。 然後您可以從存儲庫安裝新軟件包。
$ sudo apt-get update
Hit:1 https://security.debian.org/debian-security buster/updates InRelease
Hit:2 https://cdn-fastly.deb.debian.org/debian buster InRelease
Reading package lists... Done
在某些情況下,您可能會在更新包列表時遇到存儲庫錯誤。 在這種情況下,請使用 apt 而不是 apt-get。 apt 優於 apt-get 用於交互式使用。
$ sudo apt update
$ sudo apt upgrade -y
如果這不能解決問題,那麼第二個選擇是使用 –allow-releaseinfo-change
$ sudo apt-get --allow-releaseinfo-change update
添加自定義存儲庫
在“/etc/apt/sources.list”文件中添加自定義和第三方存儲庫並不總是可取的。 相反,您可以在“/etc/apt/sources.list.d”目錄下創建一個文件。 為了 example,要從其上游存儲庫在 Debian 10 Buster 上安裝 docker-ce,您將執行以下操作:
$ sudo vim /etc/apt/sources.list
添加內容:
deb [arch=amd64] https://download.docker.com/linux/debian buster stable
您可以使用 GNOME 工具來編輯您的 sources.list 文件。 通過菜單 → 系統 → 管理 → 軟件源訪問它。
gksu --desktop /usr/share/applications/software-properties.desktop /usr/bin/software-properties-gtk
另一種方法是使用用於添加第三方存儲庫的 apt 命令:
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository
"deb [arch=amd64] https://download.docker.com/linux/debian
$(lsb_release -cs)
stable"
然後,您可以繼續更新 apt-cache 並使用 apt-get 安裝 docker-ce 包。 這是添加任何其他第三方存儲庫的推薦方法。
您會注意到這不起作用,因為您的系統上沒有 docker 存儲庫的 GPG 密鑰。 我們接下來會講到。
導入 apt 密鑰
使用 apt 和 sources.list 存儲庫時,有時需要導入 GPG 密鑰。 這通常使用命令 apt-key 完成,語法如下:
# apt-key adv --keyserver [server-address] --recv-keys [key-id]
或者您可以直接下載 GPG 密鑰並從當前目錄安裝它。
作為 example, 要下載 docker 存儲庫 GPG 密鑰,您將運行:
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
OK
要測試密鑰是否正確安裝,請運行以下命令:
$ sudo apt-key fingerprint 0EBFCD88
pub rsa4096 2017-02-22 [SCEA]
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid [ unknown] Docker Release (CE deb)
sub rsa4096 2017-02-22 [S]
之後你將運行:
$ sudo apt-get update
$ sudo apt-get install docker-ce
將 Apt 與 Tor 結合使用
如果您擔心隱私問題或不安全的數據傳輸,您可以將 Tor 與您的 sources.list 文件中的 Debian 存儲庫一起使用。 Apt 可以通過 Tor 檢索和下載更新。 為此,您需要安裝 tor 和 apt-transport-tor 包。 然後您就可以使用 Debian 提供的官方洋蔥服務。
deb tor+https://vwakviie2ienjx6t.onion/debian buster main
deb-src tor+https://vwakviie2ienjx6t.onion/debian buster main
deb tor+https://sgvtcaew4bxjd7ln.onion/debian-security buster/updates main
deb-src tor+https://sgvtcaew4bxjd7ln.onion/debian-security buster/updates main
deb tor+https://vwakviie2ienjx6t.onion/debian buster-updates main
deb-src tor+https://vwakviie2ienjx6t.onion/debian buster-updates main
筆記: Debian 較少支持 https,因為 Debian 軟件包分發具有使用 GPG 驗證軟件包的機制。 在這種情況下,包簽名方案比 https 更好。 您可以使用 https 鏡像,但請確保已安裝 apt-transport-https 包。
結論
我們已經看到瞭如何在 Debian Linux 中操作 sources.list 文件和包存儲庫。 這是新 Debian 版本 – Debian 10 Buster 的更新文章。 你應該安全地使用這些信息,因為操作 sources.list 文件會使你的系統充滿不穩定的包,你最終可能會遇到許多未解決的依賴項,甚至破壞你的系統。