如何在Ubuntu中添加Apt仓库
使用Ubuntu软件中心或命令行实用程序(例如)安装软件包时 apt
要么 apt-get
这些软件包是从一个或多个apt软件存储库下载的。 APT存储库是网络服务器或本地目录,其中包含可被APT工具读取的deb包和元数据文件。
虽然默认的Ubuntu存储库中有成千上万的应用程序可用,但有时您可能需要从第三方存储库中安装软件。
在本教程中,我们将向您展示两种在Ubuntu和Debian系统上添加apt仓库的方法。 第一种方法是使用 add-apt-repository
命令,第二个是使用文本编辑器手动添加存储库。
Apt来源
在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-src。 Deb表示存储库包含
.deb
软件包,而deb-src表示源软件包。 - 第二个条目是存储库URL。
- 第三个条目指定分发代码名称,例如beaver,xenial等。
- 最后的条目是存储库组件或类别。 默认的Ubuntu存储库分为四个组件-主组件,受限组件,Universe和multiverse。 通常,第三方存储库只有一个类别。
文件下的文件格式 /etc/apt/sources.list.d/
目录与常规目录相同 sources.list
文件。
大多数存储库都提供公用密钥,以对需要下载和导入的已下载软件包进行身份验证。
为了能够添加或删除存储库,您需要以具有sudo访问权限或root用户的身份登录。
通常,有关如何启用特定存储库的说明包含在软件文档中。
正在安装 add-apt-repository
(未找到add-apt-repository命令)
add-apt-repository
是一个Python脚本,可让您将APT存储库添加到 /etc/apt/sources.list
或移至 /etc/apt/sources.list.d
目录。 该命令还可以用于删除已经存在的存储库。
如果 add-apt-repository
在您的系统上不可用,您将收到一条错误消息,提示“找不到add-apt-repository命令”。
的 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
哪里 repository
可以是可以添加到 sources.list
像文件 deb http://repo.tld/ubuntu distro component
或PPA资料库中的 ppa:<user>/<ppa-name>
格式。
要查看的所有可用选项 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
文件。
现在,您可以从新启用的存储库中安装任何软件包:
sudo apt install mongodb-org
如果出于任何原因要删除以前启用的存储库,请使用 --remove
选项:
sudo add-apt-repository --remove 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'
添加PPA存储库
个人软件包档案(PPA)是一项服务,允许用户上传使用Launchpad构建和发布的Ubuntu源软件包作为apt信息库。
添加PPA存储库时, add-apt-repository
命令在下面创建一个新文件 /etc/apt/sources.list.d/
目录。
例如,要添加提供FFmpeg版本4.x的Jonathon F的PPA,请运行:
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
的 apt
命令将安装软件包及其所有依赖项。
手动添加存储库
如果您想更好地控制来源的组织方式,可以手动编辑 /etc/apt/sources.list
文件,并在文件中添加apt信息库行。
为了演示,我们将启用CouchDB存储库并安装软件。 CouchDB是一个免费的开源容错NoSQL数据库,由Apache Software Foundation维护。
要添加存储库,请打开 sources.list
使用文本编辑器保存文件:
sudo nano /etc/apt/sources.list
将存储库行添加到文件末尾:
/etc/apt/sources.list
deb https://apache.bintray.com/couchdb-deb bionic main
除了使用文本编辑器编辑文件外,您还可以使用以下命令将存储库行附加到 sources.list
文件:
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
要么 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。
如有任何疑问,请随时发表评论。
ubuntu apt