如何在Debian 9上配置sources.list
这是关于如何在代号为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存储库,则可能最终会破坏系统或者遇到许多未解决的依赖项。