/etc/apt/sources.list
会列出发布 Debian 软件包不同的仓库(或软件源)。接下来APT会从每一个软件源导入所发布的软件包列表。这个过程是通过下载 Packages.{gz,bz2,lzma,xz}
这个文件(若是二进制包的仓库)和Sources.{gz,bz2,lzma,xz}
文件(若是软件包源的仓库),并分析这两个文件内容完成的。如果文件的旧版本已经存在,APT仅下载更新的部分(参见:sidebar TIP Incremental upgrade)。
/etc/apt/sources.list
文件中每个有效的代码行包括对源的描述,由三个被空格分开的部分组成。
deb
” 表示二进制软件包,
deb-src
” for source packages.
Packages.gz
中给出的文件名,必须是有效URL的全称):此区域存在于一个 Debian 镜像或其他任何由第三方所建的软件源文档中。这个 URL 可以用 file://
起始来表示系统里安装了本地仓库,或以 http://
表示仓库可通过网络服务器来获取,或用 ftp://
表示软件源在一个 FTP 服务器上。URL 还可以用 起始表示从 cdrom://
开始安装。因基于网络的安装愈来愈流行,这个方法已不那么常用了。
./
” 表示子目录不存在 - 这个软件源就位于给定的 URL上)。 不过一般来讲,仓库的结构类似于一个 Debian 的镜像, 包括很多分支,每一分支有很多组成部分。通常命名选定的分支(由 “codename” 来命名 - 参看附栏中的目录COMMUNITY Bruce Perens, a controversial leader 或是由对应的 “suites” — stable
, testing
, unstable
),然后命名下面的组成部分(或分区)(从main
, contrib
和non-free
中选择) 来激活一个典型的 Debian 镜像。
cdrom
条目描述了你所有的CD/DVD光盘。 与其他条目不同,因为一个CD光盘需要插入光驱中,并且每次只能读一张,所以并不总是可用。因此这种仓库管理起来稍有不同,需要加在apt-cdrom
程序中,经常与add
参数一起执行。后者会要求驱动中插入光盘,并会浏览内容,寻找Packages
文件。这些文件会用于更新可用软件包的数据库(此过程由apt-get update
命令执行)。 自此, 如果某软件包需要光盘,APT 可发出要求插入光驱。
sources.list
文件:
例 6.1. /etc/apt/sources.list
给 Debian Stable 使用者的文件
# Security updates↵ deb http://security.debian.org/ wheezy/updates main contrib non-free↵ deb-src http://security.debian.org/ wheezy/updates main contrib non-free↵ ↵ ## Debian mirror↵ ↵ # Base repository↵ deb http://ftp.debian.org/debian wheezy main contrib non-free↵ deb-src http://ftp.debian.org/debian wheezy main contrib non-free↵ ↵ # Stable updates↵ deb http://ftp.debian.org/debian wheezy-updates main contrib non-free↵ deb-src http://ftp.debian.org/debian wheezy-updates main contrib non-free↵ ↵ # Stable backports↵ deb http://ftp.debian.org/debian wheezy-backports main contrib non-free↵ deb-src http://ftp.debian.org/debian wheezy-backports main contrib non-free↵
stable
, stable-updates
, stable-backports
)来命名。
sources.list
中所列出的第一个会被使用。因此,非官方来源的包一般在此文件末尾处。
security.debian.org
(位于 Debian 系统管理员Debian System Administrators维护的小范围网络)。其上的文档包括为那些稳定版本准备的安全更新(由 Debian 安全团队和/或软件包维护者预备)。
计划-更新proposed-updates
的子库,是由稳定更新管理员小心选定的。
计划更新
仓库里准备(由稳定发布管理员监督)。
wheezy-proposed-updates
别名。因为squeeze-proposed-updates
也存在,别名的使用更清楚更一致(对于Oldstable更新来讲):
deb http://ftp.debian.org/debian wheezy-proposed-updates main contrib non-free
stable-backports
repository hosts “package backports”. The term refers to a package of some recent software which has been recompiled for an older distribution, generally for Stable.
stable-backports
repository is now available on the usual Debian mirrors. But backports for Squeeze are still hosted on a dedicated server (backports.debian.org
), and requires the following sources.list
entry:
deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free
stable-backports
are always 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.
↵ $sudo apt-get install package/wheezy-backports
↵ $sudo apt-get install -t wheezy-backports package
↵
sources.list
文件,用于系统运行 Debian 测试或非稳定 版本:
例 6.2. /etc/apt/sources.list
file for users of Debian Testing/Unstable
↵ # Unstable↵ deb http://ftp.debian.org/debian unstable main contrib non-free↵ deb-src http://ftp.debian.org/debian unstable main contrib non-free↵ ↵ # Testing↵ deb http://ftp.debian.org/debian testing main contrib non-free↵ deb-src http://ftp.debian.org/debian testing main contrib non-free↵ ↵ # Stable↵ deb http://ftp.debian.org/debian stable main contrib non-free↵ deb-src http://ftp.debian.org/debian stable main contrib non-free↵ ↵ # Security updates↵ deb http://security.debian.org/ stable/updates main contrib non-free↵ deb http://security.debian.org/ testing/updates main contrib non-free↵ deb-src http://security.debian.org/ stable/updates main contrib non-free↵ deb-src http://security.debian.org/ testing/updates main contrib non-free↵
sources.list
文件来从非稳定安装软件包。如果这不是你所需要的,用APT::Default-Release
设置(参见 第 6.2.3 节 “System Upgrade”)来指示 APT 从另一分布获取软件包(一般用 测试)。
sources.list
file does not lead to the systematic use of its packages. The line to be added is:
deb http://ftp.debian.org/debian experimental main contrib non-free↵
sources.list
files. However, be careful not to add random packages. Each source is designed for a particular version of Debian (the one used to compile the packages in question); each user should maintain a certain coherence in what they choose to install.
mentors.debian.net
site is also interesting, since it gathers source 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
is left unchanged, but APT is configured to use them as proxy for outgoing requests.
/etc/approx/approx.conf
:
↵ # <name> <repository-base-url>↵ debian http://ftp.debian.org/debian↵ security http://security.debian.org↵
# 指向本地 approx 服务器的sources.list 范例 ↵ deb http://apt.falcot.com:9999/security wheezy/updates main contrib non-free↵ deb http://apt.falcot.com:9999/debian wheezy main contrib non-free↵