使用 Ubuntu 软件中心或命令行实用程序(例如apt
or apt-get
这些软件包是从一个或多个 apt 软件存储库下载的。 APT 存储库是网络服务器或本地目录,其中包含 APT 工具可读的 deb 包和元数据文件。
虽然默认 Ubuntu 存储库中有数千个可用的应用程序,但有时您可能需要从第 3 方存储库安装软件。
在本教程中,我们将向您展示在 Ubuntu 和 Debian 系统上添加 apt 存储库的两种方法。第一种方法是使用add-apt-repository
命令,第二个是使用文本编辑器手动添加存储库。
适当的来源#
在 Ubuntu 和所有其他基于 Debian 的发行版上,apt 软件存储库在/etc/apt/sources.list
文件或在单独的文件中/etc/apt/sources.list.d/
目录。
里面的存储库文件的名称/etc/apt/sources.list.d/
目录必须以以下结尾.list
.
的一般语法/etc/apt/sources.list
文件采用以下格式:
deb http://repo.tld/ubuntu distro component...
- 该行中的第一个条目定义了存档的类型。存档类型可以是deb or deb-src。 Deb 暗示存储库包含
.deb
包,而 deb-src 表示源包。
- 第二个条目是存储库 URL。
- 第三个条目指定发行版代码名称,例如beaver、xenial等。
- 最后的条目是存储库组件或类别。默认的 Ubuntu 存储库分为四个部分 - main、restricted、universe 和 multiverse。一般来说,第三方存储库只有一类。
下文件的格式/etc/apt/sources.list.d/
目录与常规目录相同sources.list
file.
大多数存储库都提供公钥来验证需要下载和导入的下载包。
为了能够添加或删除存储库,您需要以具有以下权限的用户身份登录须藤访问或根。
通常,有关如何启用某个存储库的说明包含在软件文档中。
安装中add-apt-repository
(未找到 add-apt-repository 命令)#
add-apt-repository
是一个 Python 脚本,允许您将 APT 存储库添加到/etc/apt/sources.list
或到一个单独的文件/etc/apt/sources.list.d
目录。该命令还可用于删除已存在的存储库。
If the add-apt-repository
在您的系统上不可用,您将收到一条错误消息,指出“add-apt-repository 命令未找到”。
The add-apt-repository
实用程序包含在software-properties-common
包裹。要安装它,请运行以下命令:
sudo apt update
sudo apt install software-properties-common
添加存储库add-apt-repository
#
的基本语法add-apt-repository
命令如下:
add-apt-repository [options] repository
Where repository
可以是可以添加到的常规存储库条目sources.list
文件如deb http://repo.tld/ubuntu distro component
或 PPA 存储库ppa:<user>/<ppa-name>
format.
查看所有可用选项add-apt-repository
命令类型man add-apt-repository
在您的终端中。
默认情况下,在 ubuntu 18.04 及更高版本上add-apt-repository
如果导入存储库公钥,还将更新包索引。
包索引是一个数据库,保存系统中启用的存储库中可用包的记录。
假设您想要安装MongoDB来自他们的官方存储库。
首先导入存储库公钥:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
使用以下命令添加 MongoDB 存储库。
sudo add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'
存储库将被附加到sources.list
file.
您现在可以从新启用的存储库安装任何软件包:
sudo apt install mongodb-org
如果出于任何原因您想要删除以前启用的存储库,请使用--remove
option:
sudo add-apt-repository --remove 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'
添加 PPA 存储库#
个人包档案 (PPA) 是一项服务,允许用户上传使用 Launchpad 作为 apt 存储库构建和发布的 Ubuntu 源包。
添加 PPA 存储库时add-apt-repository
命令在下面创建一个新文件/etc/apt/sources.list.d/
目录。
例如,添加 Jonathon F 的 PPA,它提供FFmpeg版本 4.x 您将运行:
sudo add-apt-repository ppa:jonathonf/ffmpeg-4
当出现提示时按Enter
将启用存储库。
Press [ENTER] to continue or Ctrl-c to cancel adding it.
PPA 存储库公钥将自动下载并注册。
将 PPA 添加到系统后,您可以安装存储库包:
sudo apt install ffmpeg
The apt命令将安装该包及其所有依赖项。
手动添加存储库#
如果您想更好地控制源的组织方式,您可以
手动编辑/etc/apt/sources.list
文件并将 apt 存储库行添加到该文件中。
为了进行演示,我们将启用 CouchDB 存储库并安装该软件。CouchDB是由 Apache 软件基金会维护的免费开源容错 NoSQL 数据库。
要添加存储库,请打开sources.list
与您的文件文本编辑器
:
sudo nano /etc/apt/sources.list
将存储库行添加到文件末尾:
/etc/apt/sources.list
deb https://apache.bintray.com/couchdb-deb bionic main
您可以使用以下命令来代替使用文本编辑器编辑文件append存储库行到sources.list
file:
echo "deb https://apache.bintray.com/couchdb-deb $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list
$(lsb_release -cs)
将打印 Ubuntu 代号。例如,如果您有Ubuntu版本18.04 该命令将打印bionic
.
另一种选择是在以下位置创建一个新的存储库文件/etc/apt/sources.list.d/
目录。
手动配置存储库时,您还需要手动将公共存储库密钥导入到系统中。为此,请使用wget
or curl
:
curl -L https://couchdb.apache.org/repo/bintray-pubkey.asc | sudo apt-key add -
上面的命令应该输出OK
这意味着 GPG 密钥已成功导入,并且此存储库中的包将被视为受信任。
在从新添加的存储库安装软件包之前,您必须更新软件包索引:
sudo apt update
更新包索引后,您可以从新添加的存储库安装包:
sudo apt install couchdb
结论#
我们已经向您展示了如何在 Ubuntu 中添加 apt 存储库。相同的说明适用于任何基于 Debian 的发行版,包括 Kubuntu、Linux Mint 和 Elementary OS。
如果您有任何疑问,请随时发表评论。