数量庞大的在线 Linux 软件包是如何进入我们电脑的?虽然你可以访问每个软件的下载页面,但存在一个更有效率的解决方案:软件包存储库(Package Repositories)。
什么是软件包存储库
软件包存储库是软件的中央存储位置。这些存储库托管在互联网上的服务器上,包含经过筛选的 Linux 软件包集合,无需手动下载和安装。这个系统是现代 Linux 软件包管理的一个基石,提供了一种精简且安全的方式来管理软件。
存储库如何工作
系统的软件包管理器需要知道在哪里可以找到这些存储库。你为其提供一个源链接,它会处理其余的事情。
例如,要安装 Docker,你不会直接从其网站下载。相反,你会配置软件包管理器使用 Docker 的官方存储库,该存储库托管在类似 https://download.docker.com/linux/ubuntu 的 URL 上。配置完成后,你的系统就可以访问该存储库中的所有软件包,例如 docker-ce、docker-ce-cli 和 containerd.io。
配置存储库源
你的 Linux 发行版已经预先配置了一组存储库,用于你系统上的所有基础软件包。在基于 Debian 的系统(如 Ubuntu)上,这些源的主要配置是通过 apt sources list(apt 源列表)管理的。
传统上,这个列表是一个单一文件:/etc/apt/sources.list。你机器上的软件包管理器会读取此文件,以了解应检查哪些存储库以获取可用软件和更新。
将新的存储库配置添加到 /etc/apt/sources.list.d/ 目录中也是一种常见做法。较新的 Ubuntu 版本(22.04+)甚至默认使用此目录,将源组织到结构化的 .sources 文件中。这种方法将第三方存储库与系统的默认源分开,使软件包管理更清晰、更有条理。apt 软件包管理器会同时使用 /etc/apt/sources.list 和 /etc/apt/sources.list.d/ 中的文件。