apt仓库
1.0、参考
1.1、apt仓库的配置文件

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相当于一些标签,或者是更具体的一些小分类。

Debianmain包含符合DFSG(Debian Free Software Guidelines)的自由软件包,而且这些软件包不依赖不符合该指导原则的软件包。 这些软件包被视为Debian发型版的一部分。
contrib包含符合DFSG(Debian Free Software Guidelines)的自由软件包,不过这些软件包依赖不在main分类中的软件包。
non-free包含不符合DFSG(Debian Free Software Guidelines)指导原则的非自由软件包。
Ubuntumain官方支持的自由软件
restricted官方支持的非完全自由的软件
universe社区维护的自由软件
multiverse社区维护的非自由软件
1.5、总结

下面是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-cacheapt-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
1.5、apt仓库的分类

apt的仓库分为了两种:

  • 公开的仓库
    用户在添加公开的仓库的时候,不需要进行授权。
  • 私有的仓库(Personal Package Archives,PPA)
    用户在添加私有的仓库的时候,需要进行授权。
1.1、PPA

PPA源的形式是:

ppa:user/ppa-name
1.1.1、添加PPA源

使用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命令进行安装。

1.1.2、删除PPA源

在使用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错误了。