Ubuntu: PPA介绍
Ubuntu: PPA介绍1. 什么是PPA?1.1 什么是repository?1.2 为什么要使用PPA?2. 如何使用PPA?PPA的工作机制?3. 为什么用PPA?而不用DEB?4. 使用PPA是否安全?5. 删除PPA其他知识1. 什么是PPA?Personal Package Archive, 意思是个人包档案。PPA可以提供新版本的软件以及在Linux官方库中没有的软件。1.1 什么
Ubuntu: PPA介绍
1. 什么是PPA?
Personal Package Archive, 意思是个人包档案。PPA可以提供新版本的软件以及在Linux官方库中没有的软件。在正式介绍PPA之前,先介绍一下repository,PPA就是一种repository.
1.1 什么是repository?
repository: a place where things are stored and can be found. (Cambridge dict).
Repository从字典中理解就是仓库的意思,放东西和取东西的地方。对于Linux系统来说,Repository就是个文件仓库,包含了各个软件的信息,例如:版本号,校验码(checksum)
分为以下四种组成部分:
- Main: 标准支持的免费和开源的软件
- Universe: 社区维护的免费和开源的软件
- Restricted: 对各个设备的专有驱动
- Multiverse: 受限于版权或法律条目的软件
这四个部分在Software & Updates
中也能看到。
例如:Ubuntu 16.04的main repository 可以在 http://archive.ubuntu.com/ubuntu/dists/xenial/main/访问。
而对于Ubuntu来说,只需要保存这条链接(存放在/etc/apt/source.list中),就能够找到所有属于该repository的软件。接下来一起来看看我的sources.list文件。
我将下载服务器替换为阿里云。某些行前面带有#号表示注释,不起效果。可以在第5,10,16,18行看到以上四个部分的字眼,应该是分别负责对应的repository.
一般在下载package的时候,我们会输入两个指令:1. sudo apt update
,这一步系统会使用APT tool来检查repo中包含的软件,并将软件信息和版本号保存在缓存中。2. sudo apt install package_name
,这时从缓存中查找对应的package,得到具体的URL并进行下载。
如果该repository中没有该package,则会抛出Error. E: Unable to locate package
1.2 为什么要使用PPA?
在没有PPA时,当一个软件开发者准备发布新开发的软件时,Ubuntu官方并不会直接让他发布出来,而是会进行一些系统兼容性的测试(因为软件或新版本的软件可能无法在原有系统上使用),可能需要几个月的时间,这导致了软件无法及时发布给用户。用户不能得到新的软件,那么开发者就无法进行beta测试(在软件开发中,分为alpha测试和beta测试,alpha测试面向开发团体内部,beta测试面向感兴趣的用户),在正式版本前,也无法对软件做好更好的优化。
所以,PPA就出现了!
2. 如何使用PPA?PPA的工作机制?
Ubuntu为软件开发者提供了Launchpad
平台来创建自己的repositories.
对于用户来说,只需将目标软件的PPA repository添加到sources.list
中,更新repository列表后便可以找到和安装,例如:
sudo add-apt-repository ppa:dr-akulavich/lighttable
# 更新
sudo apt-get update
sudo apt-get install lighttable-installer
补充1:使用add-apt-repository
添加PPA,和接下来的指令效果是相同的,只是前者更加方便。
deb http://ppa.launchpad.net/dr-akulavich/lighttable/ubuntu YOUR_UBUNTU_VERSION_HERE main
deb-src http://ppa.launchpad.net/dr-akulavich/lighttable/ubuntu YOUR_UBUNTU_VERSION_HERE main
补充2:使用PPA并不会修改原有的sources.list
文件,而是在/etc/apt/sources.d
目录下创建两个文件。
后缀’list’的文件中是添加该repository的指令。后缀’save’的文件是用来备份的。
3. 为什么用PPA?而不用DEB?
DEB package可以使用图形界面进行安装,但是不能保证sudo apt update && sudo apt upgrade
能更新该软件。因为更新软件是根据sources.list
中的项进行更新。但有些开发者的安装包会自动加入sources.list
(e.g. Google Chrome);也有得下载新的DEB package的软件(e.g. Oracle Virtual Box).
4. 使用PPA是否安全?
这是一个主观的问题,大多数PPA是由第三方开发者提供的,并没有统一的保证。但PPA在Ubuntu中非常常见(比如chrome就能使用PPA进行安装),事实上据作者所说,也没有发生通过PPA攻击系统的事件。
PPA分为官方和非官方两种,官方的就是开发者开发了软件,并制作了PPA;非官方就是非开发者制作的PPA,例如:有人得到了该软件的源码,在源码上制作PPA。官方的基本不用顾虑安全性。
5. 删除PPA
在Settings > Software & Updates > Other Software
中可以看到,选中的PPA链接。若取消选中,/etc/apt/sources.list.d
则会注释该条目。若选择Remove,/etc/apt/sources.list.d
中则会删除该条目。
其他知识
1.新的Ubuntu版本每六个月发布一次。
2.Focal Fossa是Ubuntu20.04的代号。
参考:
更多推荐
所有评论(0)