apt
仓库的配置文件是:
/etc/apt/sources.list
/etc/apt/sources.list.d/*.list
apt
仓库的配置文件的详细规则,可以通过下面的命令查看:
man 5 sources.list
/etc/apt/sources.list
配置文件的规则有两种,但是,我们通常使用的一种格式被称为单行模式, 就是一行展示完想要表达的信息。每一行的规则是一样的,除了注释外。
#
开始的是注释。
单行模式的规则是:
ArchiveType RepositoryURL Distribution Component...
ArchiveType:
ArchiveType
指明了包(软件包
和源码包
)的格式。
deb | 软件包是deb 格式 |
deb-src | 源码包是deb 格式,默认是不配置的,如果您想使用apt-get source 命令下载源代码的话,就需要配置 |
rpm | 软件包是rpm 格式 |
rpm-src | 源码包是rpm 格式,默认是不配置的,如果您想使用apt-get source 命令下载源代码的话,就需要配置 |
RepositoryURL:
仓库的URL
。
这个URL
通常会根据当前用户所在地选择一个离他最近的镜像。
你可以在下面的地址中找到一些在地理位置上靠近你的镜像:
Distribution:
对于操作系统官方的apt
仓库,Distribution
通常是版本代号。
Debian | ${VERSION_CODE_NAME} | 与当前版本号对应的版本代号,或者是下个版本的版本代码,下个版本是测试版本,当前版本是稳定版本 |
sid | 不稳定版的版本代号 | |
Ubuntu | ${VERSION_CODE_NAME} | |
${VERSION_CODE_NAME}-updates | ||
${VERSION_CODE_NAME}-security | ||
${VERSION_CODE_NAME}-backports |
Component:
Component
相当于一些标签,或者是更具体的一些小分类。
Debian | main | 包含符合DFSG(Debian Free Software Guidelines) 的自由软件包,而且这些软件包不依赖不符合该指导原则的软件包。 这些软件包被视为Debian 发型版的一部分。 |
contrib | 包含符合DFSG(Debian Free Software Guidelines) 的自由软件包,不过这些软件包依赖不在main 分类中的软件包。 | |
non-free | 包含不符合DFSG(Debian Free Software Guidelines) 指导原则的非自由软件包。 | |
Ubuntu | main | 官方支持的自由软件 |
restricted | 官方支持的非完全自由的软件 | |
universe | 社区维护的自由软件 | |
multiverse | 社区维护的非自由软件 |
下面是Ubuntu默认的配置,我相信你已经可以看懂了:
#deb cdrom:[Ubuntu 16.04.1 LTS _Xenial Xerus_ - Release amd64 (20160719)]/ xenial main restricted
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://cn.archive.ubuntu.com/ubuntu/ xenial main restricted
# deb-src http://cn.archive.ubuntu.com/ubuntu/ xenial main restricted
## Major bug fix updates produced after the final release of the
## distribution.
deb http://cn.archive.ubuntu.com/ubuntu/ xenial-updates main restricted
# deb-src http://cn.archive.ubuntu.com/ubuntu/ xenial-updates main restricted
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## universe WILL NOT receive any review or updates from the Ubuntu security
## team.
deb http://cn.archive.ubuntu.com/ubuntu/ xenial universe
# deb-src http://cn.archive.ubuntu.com/ubuntu/ xenial universe
deb http://cn.archive.ubuntu.com/ubuntu/ xenial-updates universe
# deb-src http://cn.archive.ubuntu.com/ubuntu/ xenial-updates universe
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://cn.archive.ubuntu.com/ubuntu/ xenial multiverse
# deb-src http://cn.archive.ubuntu.com/ubuntu/ xenial multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ xenial-updates multiverse
# deb-src http://cn.archive.ubuntu.com/ubuntu/ xenial-updates multiverse
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://cn.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src http://cn.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse
## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu xenial partner
# deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://security.ubuntu.com/ubuntu xenial-security main restricted
# deb-src http://security.ubuntu.com/ubuntu xenial-security main restricted
deb http://security.ubuntu.com/ubuntu xenial-security universe
# deb-src http://security.ubuntu.com/ubuntu xenial-security universe
deb http://security.ubuntu.com/ubuntu xenial-security multiverse
# deb-src http://security.ubuntu.com/ubuntu xenial-security multiverse
你可以自由修改这个配置文件啦,不过要记得,你修改完这个配置之后第一个要做的就是使用apt-get update
命令进行更新软件的索引列表。 这样,我们在使用apt-cache
和apt-get
命令过程中才能得到预想的结果。
阿里云:
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
apt
的仓库分为了两种:
PPA
源的形式是:
ppa:user/ppa-name
使用apt-add-repository
命令来添加PPA
源:
sudo apt-add-repository ppa:user/ppa-name
这个命令的实质是在/etc/apt/sources.list.d
目录下创建了一个与/etc/apt/sources.list
源配置文件类似的源配置文件。
之所以与原来的配置文件分开,是因为这样管理起来方便,也好删除。
在此命令执行的过程中提示您保存授权文件,只要按回车键即可。
添加完全源之后,必须使用sudo apt-get update
命令更新索引列表。 然后才能使用sudo apt-get install -y
命令进行安装。
在使用sudo apt-get update
命令的时候,经常看到某些PPA
源过时了,出现了404
错误, 既然是过时了,我们也没有留着的必要性了,删除之,首先要找出那些404 Not Found
的源,使用如下命令:
sudo apt-get update | grep "404 Not Found"
使用sudo apt-add-repository --remove xx
命令进行删除。
再次使用sudo apt-get update
命令的时候,就不会出现404
错误了。