sources.list文件和sources.list.d目录
sources.list文件和sources.list.d目录
1 sources.list文件
Debian 是一款广泛使用的 Linux 发行版,它使用 apt
软件包管理工具来处理软件包的安装、升级和删除。apt
管理软件包的工作依赖于一个或多个软件仓库(repository),这些仓库定义在 /etc/apt/sources.list
文件以及 /etc/apt/sources.list.d/
目录下的文件中。
/etc/apt/sources.list
文件包含了 Debian 软件包管理器 apt
所需的软件源列表。软件源是指存储有软件包及其数据的服务器或本地目录,它们允许用户安装和更新软件包。这些源可以是官方的,也可能是第三方的。
源的格式一般是这样的:
1 | 类型 URL 发行版 软件分区 |
- 类型:软件源的类型。通常是
deb
用于二进制包,或者是deb-src
用于源代码包。 - URL:软件源的网址或路径。
- 发行版:指定发行版的代号(如 stretch,buster,bullseye)或类别(如 stable,testing,unstable)。
- 软件分区:软件库的分区,如 main、contrib 和 non-free。
例如:
1 | deb http://mirrors.tencentyun.com/ubuntu jammy main restricted |
jammy
是 Ubuntu 版本的代号。在这个例子中,jammy
代表 Ubuntu 22.04 LTS (代号为 Jammy Jellyfish)。它指定了要从哪个 Ubuntu 版本的仓库中获取软件包。main
:这是 Ubuntu 官方支持的软件包集合,包含开源且免费分发的软件。restricted
:这是 Ubuntu 官方支持的,但由于许可或版权原因,只有少量闭源软件包的集合。例如,一些硬件驱动程序可能包含在restricted
组件中。
2 sources.list.d目录
目录结构:
/etc/apt/sources.list.d
是一个目录,可以包含多个.list
文件,每个文件都是一个单独的源列表。分离管理:每个软件源可以被单独放在一个文件中,这样可以更好地管理和组织复杂的源配置。例如,可以为第三方软件源或特定的软件源创建单独的
.list
文件。它适合于复杂的系统配置,尤其是在需要使用多个独立管理的软件源时。这样,如果需要禁用或移除某个源,只需修改或删除对应的文件即可,而不会影响其他源。
例如:
1 | ubuntu@VM-24-12-ubuntu:/etc/apt/sources.list.d$ ll |
优先级:在使用 APT 的时候,系统会同时读取
/etc/apt/sources.list
和/etc/apt/sources.list.d/
目录下的所有.list
文件。在配置了新的源后,需要执行:
1 | apt-get update |
以下是一个示例,为docker.list
的内容:
1 | deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.cloud.tencent.com/docker-ce/linux/ubuntu jammy stable |
其中[]
是可选的参数:
arch=amd64
:指定了软件包的架构为 amd64
,这表示适用于 64 位的 x86 架构(Intel 或 AMD 处理器)。
signed-by=/usr/share/keyrings/docker-archive-keyring.gpg
:指定了用于验证该软件包源的 GPG 密钥的位置。/usr/share/keyrings/docker-archive-keyring.gpg
是一个密钥文件,用于确保从这个源下载的软件包是经过签名和信任的。
3 其他
- 从默认源换成镜像源:[[Docker实践学习笔记#^7c1a05]]
- 在
sources.list.d
下添加新的源:[[Docker实践学习笔记#^18d0f4]]