如何在Debian 9上配置sources.list

时间:2020-03-05 15:24:55  来源:igfitidea点击:

这是关于如何在代号为Stretch的Debian 9上配置sources.list文件的简要介绍。
Debian是最流行的Linux发行版之一,其大部分优势来自Debian软件包管理apt的核心。

Debian中的所有内容(无论是应用程序还是任何其他组件)都内置在软件包中,然后将该软件包安装到系统上(由安装程序或者由我们安装)。

了解APT和sources.list

Debian及其衍生产品的软件包管理器是适当的。
代表Advanced Package Tool的APT是一组用于管理Debian软件包的工具,因此可以管理我们Debian系统上安装的应用程序。
APT使得:

  • 安装应用程式
  • 删除应用
  • 更新申请
  • 修复损坏的软件包

APT能够解决依赖性问题并从指定的软件包存储库中检索请求的软件包。
它将软件包的实际安装和删除委托给dpkg。

APT主要由命令行工具使用,但是有一些可用的GUI工具可供使用。

Apt使用Debian中的/etc/apt/sources.list文件作为其操作的一部分。
该文件包含可从中获取软件包的“来源”列表。
该文件中的条目通常遵循此格式。

deb http://site.example.com/debian distribution component1 component2 component3
deb-src http://site.example.com/debian distribution component1 component2 component3

上面显示的条目是虚构的,不应使用。
以下是该文件分为不同部分时的内容:

存档类型:

每行deb或者deb-src的第一个条目表示归档的类型。

  • deb表示提供的URL包含预编译的软件包。这些是使用apt-get或者aptitude之类的软件包管理器时默认安装的软件包。
  • deb-src指示源软件包,其中包含Debian控制文件(.dsc)和diff.gz,其中包含打包程序所需的更改。

储存库网址:

该行的下一个条目是将要从中下载软件包的存储库的URL。
我们可以从Debian Worldwide的sources.list镜像中找到Debian存储库软件包的主列表。

分配:

“发行版”可以分别是发行代码名称/别名(jessie,stretch,buster,sid)或者发行类(旧的稳定版,稳定版,测试版,不稳定版)。
如果我们打算跟踪发布类,请使用类名;如果要跟踪Debian点发布,请使用代码名。

成分

通常在Debian上可以使用三个组件,分别是:

  • main-它包含Debian发行版中的软件包。这些软件包符合DFSG。
  • contrib-这里的软件包符合DFSG的要求,但包含不在主存储库中的软件包。
  • 非免费-包含不符合DFSG的软件包。

Debian 9上完整的sources.list文件如下所示:

deb http://deb.debian.org/debian stretch main
deb-src http://deb.debian.org/debian stretch main
deb http://deb.debian.org/debian stretch-updates main
deb-src http://deb.debian.org/debian stretch-updates main
deb http://security.debian.org/debian-security/stretch/updates main
deb-src http://security.debian.org/debian-security/stretch/updates main

然后要获得contrib和non-free组件,请在main之后添加non-free的contrib,如下所示:

deb http://deb.debian.org/debian stretch main contrib non-free
deb-src http://deb.debian.org/debian stretch main contrib non-free
deb http://deb.debian.org/debian stretch-updates main contrib non-free
deb-src http://deb.debian.org/debian stretch-updates main contrib non-free
deb http://security.debian.org/debian-security/stretch/updates main contrib non-free
deb-src http://security.debian.org/debian-security/stretch/updates main contrib non-free

对sources.list文件进行更改后,必须运行以下命令:

$sudo apt-get update

这将确保apt索引是同步的。
然后,我们可以从存储库中安装新软件包。

添加自定义存储库

并非总是建议在文件/etc/apt/sources.list中添加自定义和第三方存储库。
相反,我们可以在/etc/apt/sources.list.d目录下创建一个文件。
例如,要从其上游存储库在Debian 9上安装docker,我们将执行以下操作:

$sudo vim /etc/apt/sources.list

添加内容:

deb https://apt.dockerproject.org/repo debian-stretch main

然后,我们可以继续更新apt-cache并从中安装docker软件包。
这是添加任何其他第三方存储库的推荐方法。

导入apt键

使用apt和sources.list存储库时,有时需要导入gpg密钥。
通常使用语法为apt-key的命令完成此操作。

# apt-key adv --keyserver  <server-address>--recv-keys  <key-id>

例如,要下载docker仓库gpg密钥,我们将运行:

# apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

然后

# apt-get update &&  apt-get install docker-engine

通常,使用sources.list文件相对容易。
我们唯一需要关注的就是正确的分发。
如果在稳定安装中添加带有不稳定软件包的sid存储库,则可能最终会破坏系统或者遇到许多未解决的依赖项。