前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在 Ubuntu 上如何添加 Apt 软件源

在 Ubuntu 上如何添加 Apt 软件源

作者头像
雪梦科技
发布2020-05-09 17:34:16
20.4K0
发布2020-05-09 17:34:16
举报
文章被收录于专栏:ITCoderITCoder

当使用 Ubuntu 软件中心或者从终端命令行输入apt或者apt-get安装软件包时,软件包被从一个或者多个软件源下载下来。一个 APT 软件源是一个网络服务器或者一个本地目录,它包含 deb 软件包和可以被 APT 工具读取的元文件。

虽然默认的 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文件中的通用格式是下面这样:

代码语言:javascript
复制
deb http://repo.tld/ubuntu distro component...
  • 第一个是归档类型。归档类型可以是deb或者deb-src。Deb 表明源包含的是.deb软件包,而 deb-src 表明是源码软件包。
  • 第二个是软件源的 URL 地址
  • 第三个指明了发行版的版本号,例如  beaver, xenial 等等。
  • 最后一个是软件源组件或者分类。默认的 Ubuntu 软件源被分成四个组件- main, restricted, universe 和 multiverse。通常,第三方源只有一个分类。

/etc/apt/sources.list.d/目录下的文件格式和正常的sources.list文件格式一样。

大部分源提供了一个用于授权下载软件公开的 key,需要下载并且导入。

想要添加或者移除一个软件源,你需要以 root 或者 sudo 权限用户登录。

通常,关于如何启用某个特殊的软件源的指令,都包含在软件的文档中。

二、安装add-apt-repository (add-apt-repository command not found )

add-apt-repository是一个 Python 脚本,它允许你添加一个 APT 软件源到/etc/apt/sources.list或者一个/etc/apt/sources.list.d目录下的单独文件中。这个命令也可以用来移除一个已经存在的软件源。

如果add-apt-repository在你的系统上不可用,你可能会得到错误提示:“add-apt-repository command not found”。

add-apt-repository工具被包含在software-properties-common软件包。想要安装它,运行下面的命令:

代码语言:javascript
复制
sudo apt update
sudo apt install software-properties-common

三、使用add-apt-repository添加软件源

add-apt-repository命令的基本语法如下:

代码语言:javascript
复制
add-apt-repository [options] repository

repository可以是一个正常的可以被添加到sources.list文件的软件源条目,例如deb http://repo.tld/ubuntu distro component,也可以是一个类似ppa:<user>/<ppa-name>格式的 PPA 源。

想要查看add-apt-repository命令所有的选项,在终端输入man add-apt-repository

默认情况下,在 Ubuntu 18.04 或者更新的发行版上,如果公开的 key 被导入,add-apt-repository还会更新软件包的索引。

软件包索引是一个数据库,它记录了在你的系统上,来自软件源的所有可用软件包。

比如说,你想从它们的官方软件源中安装 MongDB

首先导入软件源的公开 Key:

代码语言:javascript
复制
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

使用下面的命令添加 MongoDB 软件源:

代码语言:javascript
复制
sudo add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'

这个软件源将会被添加到sources.list文件中。

你现在可以从最新启用的软件源中安装任何软件包了:

代码语言:javascript
复制
sudo apt install mongodb-org

如果因为任何原因,你想移除一个之前启用的软件源,使用--remove选项:

代码语言:javascript
复制
sudo add-apt-repository --remove 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'

四、添加 PPA 软件源

个人软件包归档(PPA)是一个服务,它允许用户上传通过 Launchpad 构建和公开的 Ubuntu 源码软件包。

当添加一个 PPA 软件源时,add-apt-repository命令在/etc/apt/sources.list.d/目录下创建一个新文件。

例如,添加提供 FFmpeg 的 Jonathon F 的 PPA,你需要运行:

代码语言:javascript
复制
sudo add-apt-repository ppa:jonathonf/ffmpeg-4

当被提示时,按Enter,这个源将被启用。

代码语言:javascript
复制
Press [ENTER] to continue or Ctrl-c to cancel adding it.

PPA 软件源的公开 Key 将会被自动下载并导入。

一旦 PPA 被添加到你的系统中,你可以安装软件源的软件包:

代码语言:javascript
复制
sudo apt install ffmpeg

apt命令将会安装软件包和它所有的依赖软件包。

五、手动添加软件源

如果你想对于你的软件源如何组织拥有更多控制操作,你可以手动编辑文件/etc/apt/sources.list并且在文件中添加 apt 软件源的地址。

为了演示,我们将会启用 CouchDB 软件源并且安装软件。CouchDB是一个免费并且开源的容错 NoSQL 数据库,由 Apache 自由软件基金会维护。

想要添加源,使用你的文本编辑器打开sources.list文件。

代码语言:javascript
复制
sudo nano /etc/apt/sources.list

将软件源添加到文件最后一行:

代码语言:javascript
复制
deb https://apache.bintray.com/couchdb-deb bionic main

如果不用文本编辑器,你也可以通过下面的命令,直接将软件源添加到sources.list文件:

代码语言:javascript
复制
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/目录下创建一个新的软件源文件。

当手动配置软件源时,你仍然需要手动导入公开源 key 到我们的系统。想要这么做,使用wget或者curl

代码语言:javascript
复制
curl -L https://couchdb.apache.org/repo/bintray-pubkey.asc | sudo apt-key add -

上面的命令将会打印出OK,这代表 GPG key 已经被城管导入,并且这个软件源的软件包可以被信任。

在安装最近添加的软件源中的软件包时,你必须更新软件包索引:

代码语言:javascript
复制
sudo apt update

一旦软件包索引更新完成,你可以从最近添加的软件源中安装软件包:

代码语言:javascript
复制
sudo apt install couchdb

六、总结

我们已经展示了如何在 Ubuntu 中添加 apt 软件源。同样的指令同样适合于基于 Debian 的任何 Linux 发行版,包括 Kubuntu, Linux Mint 和 Elementary OS。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年12月17日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、 Apt 源文件
  • 二、安装add-apt-repository (add-apt-repository command not found )
  • 三、使用add-apt-repository添加软件源
  • 四、添加 PPA 软件源
  • 五、手动添加软件源
  • 六、总结
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档