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.30Linux 内核 4.19.0-5OpenJDK 11.0AppArmor 默认启用Nodejs 10.15.2NFtables 替换 iptables支持大量 ARM 64 和 ARMHF SBC 板Mailman 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”包含可以从中获取软件包的“sources”列表。sources.list文件可能因各种因素而异(Debian 是从哪个媒介安装的,是否从以前的版本更新,等等...)
59.5K
一加 10 Pro 评测
这是我们想要在我们的系统上的列表:
$ cat /etc/apt/sources.list
deb http://httpredir.debian.org/debian buster main non-free contrib
deb-src http://httpredir.debian.org/debian buster main non-free contrib
deb http://security.debian.org/debian-security buster/updates main contrib non-free
deb-src http://security.debian.org/debian-security buster/updates main contrib non-free
我们现在将讨论这个文件的内容及其不同的部分。
Debian sources.list 文件的内容和部分
“ sources.list”文件的部分如下:
Archive typeRepository URLDistributionComponent
我们现在将详细介绍这些部分。
Archive type
每行的第一个条目 - deb或deb-src表示存储库档案的类型。
deb表示提供的 URL 中的存储库包含预编译的包。这些是在使用apt-get、aptitude、synaptic等包管理器时默认安装的包...
deb-src指示带有 Debian 控制文件 ( .dsc ) 的源包和包含打包所需更改的diff.gz程序。
Repository URL
入口行的下一部分是将从中下载包的存储库的 URL。您可以从Debian Worldwide sources.list mirrors找到 Debian 存储库的主要列表。
Distribution
发行版可以分别是发布代号/别名(jessie、stretch、buster、sid)或发布类(old stable、stable、testing、unstable)。如果您打算跟踪发布类,请使用类名,如果您想跟踪 Debian 点发布,请使用代号。
Component
通常可以在 Debian 上使用三个组件,即:
main - 这包含作为 Debian 发行版一部分的软件包。这些软件包符合 DFSG。contrib - 此处的包符合 DFSG,但包含不在主存储库中的包。non-free - 这包含不符合 DFSG 的软件包。
正如我们在 Debian 10 Buster 上的以下sources.list文件中看到的那样,我们希望条目列出所有三种组件类型:
deb http://httpredir.debian.org/debian buster main non-free contrib
deb-src http://httpredir.debian.org/debian buster main non-free contrib
deb http://security.debian.org/debian-security buster/updates main contrib non-free
deb-src http://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 和 non-free 组件,请添加 buster-backports 行。例如,对于 Debian 10 Buster:
deb http://deb.debian.org/debian buster-backports main contrib non-free
deb-src http://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 http://security.debian.org/debian-security buster/updates InRelease
Hit:2 http://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”目录下创建一个文件。例如,要从上游存储库在 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 密钥并从当前目录安装。
例如,要下载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 一起使用
如果您担心隐私问题或不安全的数据传输,您可以在sources.list文件中使用Tor和 Debian 存储库。Apt可以通过Tor检索和下载更新。为此,您需要安装tor和apt-transport-tor软件包。然后就可以使用 Debian 提供的官方onion服务了。
deb tor+http://vwakviie2ienjx6t.onion/debian buster main
deb-src tor+http://vwakviie2ienjx6t.onion/debian buster main
deb tor+http://sgvtcaew4bxjd7ln.onion/debian-security buster/updates main
deb-src tor+http://sgvtcaew4bxjd7ln.onion/debian-security buster/updates main
deb tor+http://vwakviie2ienjx6t.onion/debian buster-updates main
deb-src tor+http://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 文件会使您的系统充满不稳定的软件包,您最终可能会遇到许多未解决的依赖关系甚至破坏您的系统。