【Ubuntu】PPA介绍
摘要:
Ubuntu
中的PPA
源是什么?
【说明】所用环境VMwareWorkstation16.0 + Ubuntu18.04.6
一、存储库
存储库(repository
)是一组文件,其中包含了有关各种软件的版本信息和详细信息。例如每个 Ubuntu
版本都有自己的4
个官方存储库:
Main | Canonical 支持的免费和开源软件 |
Universe | 社区维护的免费和开源软件 |
Restricted | 设备的专有驱动 |
Multiverse | 有版权和合法性问题限制的软件 |
其实简单说,存储库其实就是托管在任意服务器上的软件包的集合。按照我自己的理解,就是像GitHub
一个仓库一样,里边放了软件的各种相关信息,可以通过该仓库的地址来找到这个软件的安装包,进行安装和管理。当系统知道了这个软件安装包的地址的时候就可以通过命令来进行安装和更新,这些地址都存在于Ubuntu
系统下的/etc/apt/sources.list
文件下,如下图所示。
当我们执行sudo apt-get update
命令时,系统将使用 APT 工具
来检查软件的存储库并将软件及其版本信息存储在缓存中。当我们使用 sudo apt install package_name
安装软件时,系统就会使用该信息从存储实际软件的 URL
获取该软件包。如果存储库中没有关于所要安装的某个个软件包的信息,那么终端中将返回以下错误:
1 | E: Unable to locate package |
二、PPA
1.PPA
是什么?
PPA
全称为 Personal Package Archives(个人软件包档案)
,个人两个字也表明了这是开发人员自己个人的东西,可能并未得到分发的正式认可。
PPA
其实是 Ubuntu Launchpad
网站提供的一项服务,当然不仅限于Launchpad
。它允许个人用户上传软件源代码,通过 Launchpad
进行编译并发布为二进制软件包,作为 apt
新立得源供其他用户下载和更新。在Launchpad
网站上的每一个用户和团队都可以拥有一个或多个PPA
。 通常 PPA
源里的软件是官方源里没有的,或者是最新版本的软件。相对于通过 Deb
包安装来说,使用 PPA
的好处是,一旦软件有更新,通过相应的命令就可以直接升级到新版本。
launchpad官网 | https://launchpad.net/ |
【PPA
和存储库关系】
存储库
包含了包,是托管在任意服务器上的软件包的集合PPA
是包,也是软件的集合,也可以理解为托管在Launchpad
服务器上的软件包,不过PPA
是一种特殊的存储库,就像一个正方形是一种特殊的矩形。用于通过Launchpad
或类似应用程序上载要构建和发布为APT存储库
的源包,主要是由非Ubuntu
官方开发人员维护。
2.为什么要使用PPA
?
Ubuntu
对系统中的软件进行管理,更重要的是控制我们在系统上获得哪个版本的软件。但开发人员发布了软件的新版本的时候,Ubuntu
不会立即提供该新版本的软件。需要一个步骤来检查此新版本的软件是否与系统兼容,从而可以确保系统的稳定性。
但这也意味着它需要经过几周或者更长时间才能在 Ubuntu
上可用,在某些情况下,这可能需要几个月的时间。不是每个人都想等待那么长时间才能获得他们最喜欢的软件的新版本。
类似地,假设有人开发了一款软件,并希望 Ubuntu
将该软件包含在官方软件仓库中。在 Ubuntu
做出决定并将其包含在官方存软件仓库之前,还需要几个月的时间。在 beta
测试阶段。即使官方软件仓库中提供了稳定版本的软件,软件开发人员也可能希望某些用户能够提前测试他们即将发布的新的版本。那他们是如何使用户对即将发布的新版本进行安装体验呢?
PPA
的出现就很好的解决了这个问题。
2.如何使用PPA
?
- 添加
PPA
源到系统
1 | sudo add-apt-repository <PPA_information> # PPA_information格式ppa:user/ppa-name |
【说明】
当我们使用PPA
的时候,它不会更改原始的 sources.list
文件,它会在/etc/apt/sources.d
目录中创建两个文件,一个 .list
文件和一个带有 .save
后缀的备份文件。
这是一种安全措施,可以确保添加的 PPA
不会和原始的 sources.list
文件弄混,它还有助于移除 PPA
。
- 更新软件包列表
1 | sudo apt-get update |
- 安装软件
1 | sudo apt-get install <package_name_in_PPA> |
- 删除
PPA
源
1 | sudo add-apt-repository -r <PPA_information> # PPA_information格式ppa:user/ppa-name |
3.PPA
安装包管理
- 安装
synaptic
包管理工具
Ubuntu
软件中心无法移除 PPA
安装的软件包,我们必须使用具有更多高级功能的 Synaptic
包管理器,中文名叫新立得包管理器。我们可以从软件中心安装或者使用以下命令:
1 | sudo apt-get install synaptic |
- 查看
PPA
包
【启动软件】→【源自(Origin
)】
3.使用PPA
的实例说明
Peek
1 | sudo add-apt-repository ppa:peek-developers/stable |
Vim
1 | sudo add-apt-repository ppa:jonathonf/vim # ubuntu-tweak官方源 |
【参考文章】