/etc/apt/sources.list
will list the different repositories that publish Debian packages. APT will then import the list of packages published by each of these sources. This operation is achieved by downloading Packages.xz
files or a variant such as Packages.gz
or .bz2
(using a different compression method) in case of a source of binary packages and by analyzing their contents. In case of a source of source packages, APT downloads Sources.xz
files or a variant using a different compression method. When an old copy of these files is already present, APT can update it by only downloading the differences (see sidebar TIP Incremental updates).
/etc/apt/sources.list
file represents a package source (repository) and is made of at least three parts separated by spaces. For a complete description of the file format and the accepted entry compositions see sources.list(5).
例 6.1. Example entry format in /etc/apt/sources.list
deb url distribution component1 component2 component3 [..] componentX deb-src url distribution component1 component2 component3 [..] componentX
deb
deb-src
Packages.xz
files, it must give a full and valid URL. This can consist in a Debian mirror or in any other package archive set up by a third party. The URL can start with file://
to indicate a local source installed in the system's file hierarchy, with http://
or https://
to indicate a source accessible from a web server server, or with ftp://
or ftps://
for a source available on an FTP server. The URL can also start with cdrom:
for CD-ROM/DVD/Blu-ray disc based installations, although this is less frequent, since network-based installation methods are eventually more common.
./
” which refers to the absence of a subdirectory. The packages are then directly at the specified URL. But in the most common case, the repositories will be structured like a Debian mirror, with multiple distributions, each having multiple components. In those cases, name the chosen distribution by its “codename” — see the list in sidebar 社区 Bruce Perens,一位有争议的领导者 — or by the corresponding “suite” oldstable
, stable
, testing
, unstable
) and then the components to enable. A typical Debian mirror provides the components main
, contrib
, and non-free
.
cdrom
条目描述了你所有的CD/DVD光盘。 与其他条目不同,因为一个CD光盘需要插入光驱中,并且每次只能读一张,所以并不总是可用。因此这种仓库管理起来稍有不同,需要加在apt-cdrom
程序中,经常与add
参数一起执行。后者会要求驱动中插入光盘,并会浏览内容,寻找Packages
文件。这些文件会用于更新可用软件包的数据库(此过程由apt update
命令执行)。 自此, 如果某软件包需要光盘,APT 可发出要求插入光驱。
sources.list
文件,它被用于 Stable 版本的 Debian 系统:
例 6.2. /etc/apt/sources.list
给 Debian Stable 使用者的文件
# Security updates deb http://security.debian.org/ buster/updates main contrib non-free deb-src http://security.debian.org/ buster/updates main contrib non-free ## Debian mirror # Base repository deb https://deb.debian.org/debian buster main contrib non-free deb-src https://deb.debian.org/debian buster main contrib non-free # Stable updates deb https://deb.debian.org/debian buster-updates main contrib non-free deb-src https://deb.debian.org/debian buster-updates main contrib non-free # Stable backports deb https://deb.debian.org/debian buster-backports main contrib non-free deb-src https://deb.debian.org/debian buster-backports main contrib non-free
stable
, stable-updates
, stable-backports
) because we don't want to have the underlying distribution changed outside of our control when the next stable release comes out.
sources.list
中所列出的第一个会被使用。因此,非官方来源的包一般在此文件末尾处。
security.debian.org
, a small set of machines maintained by the Debian System Administrators. This archive contains security updates prepared by the Debian Security Team and/or by package maintainers for the Stable and Oldstable distribution.
Debian Security Advisory
(DSA) and announces it together with the security update on the debian-security-announce@lists.debian.org
mailing list (archive).
proposed-updates
repository, carefully selected by the Stable Release Managers. All updates are announced on the debian-stable-announce@lists.debian.org
mailing list (archive) and will be included in the next Stable point release anyway.
deb https://deb.debian.org/debian buster-updates main contrib non-free
计划更新
仓库里准备(由稳定发布管理员监督)。
buster-proposed-updates
alias which is both more explicit and more consistent since stretch-proposed-updates
also exists (for the Oldstable updates):
deb https://deb.debian.org/debian buster-proposed-updates main contrib non-free
stable-backports
仓库存放“软件包的向后移植版本”。该术语指的是一些近期发布的软件针对旧的发行版重新编译的包,这里所指的旧发行版通常是指稳定(Stable)的发行版本。
stable-backports
are only created from packages available in Testing. This ensures that all installed backports will be upgradable to the corresponding stable version once the next stable release of Debian is available.
APT
will not install them unless you give explicit instructions to do so (or unless you have already done so with a former version of the given backport):
$
sudo apt-get install package/buster-backports
$
sudo apt-get install -t buster-backports package
sources.list
文件,用于系统运行 Debian 测试或非稳定 版本:
例 6.3. Debian Testing/Unstable 用户的 /etc/apt/sources.list
文件
# Unstable deb https://deb.debian.org/debian unstable main contrib non-free deb-src https://deb.debian.org/debian unstable main contrib non-free # Testing deb https://deb.debian.org/debian testing main contrib non-free deb-src https://deb.debian.org/debian testing main contrib non-free # Testing security updates deb http://security.debian.org/ testing-security main contrib non-free deb-src http://security.debian.org/ testing-security main contrib non-free # Stable deb https://deb.debian.org/debian stable main contrib non-free deb-src https://deb.debian.org/debian stable main contrib non-free # Stable security updates deb http://security.debian.org/ stable/updates main contrib non-free deb-src http://security.debian.org/ stable/updates main contrib non-free
sources.list
file APT will install packages from the Unstable suite. If that is not desired, use the APT::Default-Release
setting (see 第 6.2.3 节 “系统升级”) to instruct APT to pick packages from another suite (most likely Testing in this case).
sources.list
内,并不表示该软件包可顺利使用,应加入这一个行:
deb https://deb.debian.org/debian experimental main contrib non-free
sources.list
examples in this chapter refer to package repositories hosted on deb.debian.org
. Those URLs will redirect you to servers which are close to you and which are managed by Content Delivery Networks (CDN) whose main role is to store multiple copies of the files across the world, and to deliver them as fast as possible to users. The CDN companies that Debian is working with are Debian partners who are offering their services freely to Debian. While none of those servers are under direct control of Debian, the fact that the whole archive is sealed by GPG signatures makes it a non-issue.
deb.debian.org
can try to find a better mirror in the official mirror list:
ftp.country-code.debian.org
(e.g. ftp.us.debian.org
for the USA, ftp.fr.debian.org
for France, etc.) which are covering many countries and which are pointing to one (or more) of the best mirrors available within that country.
deb.debian.org
, there used to be httpredir.debian.org
. This service would identify a mirror close to you (among the list of official mirrors, using GeoIP mainly) and would redirect APT's requests to that mirror. This service has been deprecated due to reliability concerns and now httpredir.debian.org
provides the same CDN-based service as deb.debian.org
.
mentors.debian.net
site is interesting (although it only provides source packages), since it gathers packages created by candidates to the status of official Debian developer or by volunteers who wish to create Debian packages without going through that process of integration. These packages are made available without any guarantee regarding their quality; make sure that you check their origin and integrity and then test them before you consider using them in production.
sources.list
保持不变,但是 APT 被配置为把它们作为代理使用。
/etc/approx/approx.conf
中:
# <name> <repository-base-url> debian https://deb.debian.org/debian security http://security.debian.org
sources.list
file to point to the approx server:
# Sample sources.list pointing to a local approx server deb http://localhost:9999/security buster/updates main contrib non-free deb http://localhost:9999/debian buster main contrib non-free