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官方库中没有的软件。在正式介绍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的代号。

参考:

  • Using PPA in Ubuntu Linux [Complete Guide]

Ubuntu: PPA介绍相关推荐

  1. 掌握如何利用Ubuntu ppa源,天下再没有难安装的Linux软件

    前言 本文主要讲解Ubuntu PPA源的原理以及日常应用,还有使用中的注意事项. 我们先来回顾一下Ubuntu是如何使用apt命令添加PPA源然后安装软件的 添加PPA源 sudo add-apt- ...

  2. [导入]ubuntu全面介绍 与 ubuntu截图

    ubuntu全面介绍 与 ubuntu截图 详情进入 甘先生 2006-05-10 17:33 文章来源:http://www.blogjava.net/gump/archive/2006/05/10 ...

  3. Ubuntu版本介绍

    转自Ubuntu版本介绍 经常有人问起Ubuntu的版本选择问题,论坛中虽有帖子提及,但不是很详细,不集中,我就尝试把Ubuntu上的这点东东翻译一下,供大家参考,水平有限,敬请包涵.指正.  Ubu ...

  4. ROS(机器人操作系统)基础:(一) Linux系统(Ubuntu)介绍及安装

    文章目录 前言 一.Ubuntu是什么? 二.Ubuntu安装 1.准备工作 1.1 VMware 1.2 Ubuntu系统镜像下载 2.开始安装 3.Ubuntu Install 总结 前言 ROS ...

  5. Ubuntu PPA 软件源用法介绍

    什么是 PPA? PPA 全称是 Personal Package Archives. Ubuntu 官方软件仓库中存在很多的开源软件,但是有时候官方发布的软件并不能够满足所有人群的需求.同时也为了方 ...

  6. Ubuntu 源介绍

    原文地址:https://www.jianshu.com/p/57a91bc0c594 新手学Ubuntu的时候,一般不知道什么是源,但源又是Ubuntu下常用到的东西.因此,本文就详细介绍一下Ubu ...

  7. ubuntu PPA

    PPA(Personal Package Archive)开发人员独有的东西,并没有得到分发的正式许可.Ubuntu 提供了一个名为 Launchpad 的平台,使软件开发人员能够创建自己的软件仓库. ...

  8. ppa:ondrej/php,现在为什么 Ubuntu ppa:ondrej/PHP 添加不了??

    有遇到同样问题的小伙伴吗? kitty@happyqian:~$ sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php Co-installabl ...

  9. Ubuntu PPA用法简介

    PPA软件源,全称是Personal Package Archives 虽然Ubuntu官方软件仓库尽可能支持更多的开源软件,但仍有很多软件包由于各种原因不能进入官方软件仓库.为了方便用户使用,Ubu ...

最新文章

  1. 如何删除VS2015中的OpenCV的配置
  2. 谷歌Android运用商铺下架染辣手机软件
  3. 【HTML】简单实现网页加载动画
  4. 小米:停止2016年发布的红米手机升级推送
  5. 百度地图迁徙大数据_百度地图大数据看十一:各地商圈出现“红色拥堵”,游乐场迎来“高光时刻”...
  6. Logger.getLogger和LogFactory.getLog的区别
  7. Linux用户的福音,记忆力解放!快速调用复杂命令...
  8. ssm中小型酒店客房预订系统计算机毕业设计
  9. 微软:从“开源是毒瘤”到“我爱Linux”的20年
  10. 一款实用工具:免费短信验证码SDK
  11. iOS 强制横屏的方法
  12. React 兼容IE8 项目
  13. 国内dns服务器故障致大量网站无法访问,中国电信114.114.114.114DNS故障 大量网站域名无法解析...
  14. FLASH外部链接的几种方法
  15. 字符串连接的5种方法
  16. labview 和lin 通讯_LABVIEW几种通讯应用1
  17. datagridview取消默认选中_DataGridView点击空白处和失去焦点后取消选择和关闭默认选择第一行C#Winform...
  18. 小汪汪服务器不稳定,小汪汪闪退了怎么办 小汪汪闪退问题解决办法
  19. 麻省理工计算机科学录取条件,美国麻省理工学院录取条件
  20. VVC帧间预测(二)Merge mode with MVD (MMVD)

热门文章

  1. DSP实验——TSM320F2812
  2. css border偏移
  3. 解除oracle锁表
  4. 未能找到pppoe服务器故障,未能找到pppoe服务器
  5. 做生鲜水果这行线上销售有什么好的平台推荐?
  6. python基于django药房药品销售进销存管理系统
  7. 服务器主板纽扣电池型号,纽扣电池的常见型号(cr2032,cr2450)怎么看
  8. 使用.reg文件操作注册编辑表
  9. 【最全下载合集】最新Office 2021微软官方原版离线安装下载地址合集
  10. 三星手机投屏到Windows10电脑上教程(利用自带连接软件)