PRF:20181213 What is PPA- Everything You Need to Know About PPA in Linux.md

@jlztan
This commit is contained in:
Xingyu.Wang 2019-01-19 11:02:11 +08:00
parent d6190ca3ae
commit b17802748c

View File

@ -1,17 +1,18 @@
[#]: collector: "lujun9972"
[#]: translator: "jlztan"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
[#]: subject: "What is PPA? Everything You Need to Know About PPA in Linux"
[#]: via: "https://itsfoss.com/ppa-guide/"
[#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/"
[#]: collector: (lujun9972)
[#]: translator: (jlztan)
[#]: reviewer: (wxy)
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (What is PPA? Everything You Need to Know About PPA in Linux)
[#]: via: (https://itsfoss.com/ppa-guide/)
[#]: author: (Abhishek Prakash https://itsfoss.com/author/abhishek/)
# 什么是 PPA你需要知道的关于 Linux 中 PPA 的一切
Ubuntu PPA 使用指南
======
**简介:一篇涵盖了在 Ubuntu 和其他 Linux 发行版中使用 PPA 的几乎所有问题的深入的文章。**
> 一篇涵盖了在 Ubuntu 和其他 Linux 发行版中使用 PPA 的几乎所有问题的深入的文章。
如果你一直在使用 Ubuntu 或基于 Ubuntu 的其他 Linux 发行版,例如 Linux Mint、Linux Lite、Zorin OS 等,你可能会遇到以下三神奇的命令:
如果你一直在使用 Ubuntu 或基于 Ubuntu 的其他 Linux 发行版,例如 Linux Mint、Linux Lite、Zorin OS 等,你可能会遇到以下三神奇的命令:
```
sudo add-apt-repository ppa:dr-akulavich/lighttable
@ -21,17 +22,17 @@ sudo apt-get install lighttable-installer
许多网站推荐使用类似于以上几行的形式 [在 Ubuntu 中安装应用程序][1]。这就是所谓的使用 PPA 安装应用程序。
但什么是 PPA为什么用它使用 PPA 安全吗?如何正确使用 PPA如何删除 PPA
但什么是 PPA为什么用它?使用 PPA 安全吗?如何正确使用 PPA如何删除 PPA
我将在这个详细的指南中回答上述所有问题。即使你已经了解了一些关于 PPA 的事情,我相信这篇文章仍然会让你了解这方面的更多知识。
请注意我正在使用 Ubuntu 撰写本文。因此,我几乎可以在任何地方使用 Ubuntu 这个术语,但文中的说明和步骤也适用于其他基于 Debian/Ubuntu 的发行版。
请注意我正在使用 Ubuntu 撰写本文。因此,我几乎在各个地方都使用了 Ubuntu 这个术语,但文中的说明和步骤也适用于其他基于 Debian/Ubuntu 的发行版。
### 什么是 PPA为什么要使用 PPA
![Everything you need to know about PPA in Ubuntu Linux][2]
PPA 表示 个人软件包存档Personal Package Archive<ruby>个人软件包存档<rt>Personal Package Archive</rt></ruby>
PPA 表示<ruby>个人软件包存档<rt>Personal Package Archive</rt></ruby>
这样说容易理解吗?可能不是很容易。
@ -41,12 +42,12 @@ PPA 表示 个人软件包存档Personal Package Archive<ruby>个人软件包存
软件仓库是一组文件,其中包含各种软件及其版本的信息,以及校验和等其他一些详细信息。每个版本的 Ubuntu 都有自己的四个官方软件仓库:
- Main - Canonical 支持的免费和开源软件。
- Universe - 社区维护的免费和开源软件。
- Main - Canonical 支持的自由开源软件。
- Universe - 社区维护的自由开源软件。
- Restricted - 设备的专有驱动程序。
- Multiverse - 受版权或法律问题限制的软件。
你可以在 [这里][3] 看到所有版本的 Ubuntu 的软件仓库。你可以浏览并转到各个仓库。例如,可以在 [这里][4] 找到 Ubuntu 16.04 的主存储库。
你可以在 [这里][3] 看到所有版本的 Ubuntu 的软件仓库。你可以浏览并转到各个仓库。例如,可以在 [这里][4] 找到 Ubuntu 16.04 的主存储库Main
所以PPA 基本上是一个包含软件信息的网址。那你的系统又是如何知道这些仓库的位置的呢?
@ -80,19 +81,21 @@ Ubuntu 不会立即提供该新版本的软件。需要一个步骤来检查此
### 如何使用 PPAPPA 是怎样工作的?
正如我已经告诉过你的那样,[PPA][7] 代表个人软件包存档Personal Package Archive<ruby>个人软件包存档<rt>Personal Package Archive</rt></ruby>。在这里注意 “个人” 这个词,它暗示了这是开发人员独有的东西,并没有得到分发的正式许可。
正如我已经告诉过你的那样,[PPA][7] 代表<ruby>个人软件包存档<rt>Personal Package Archive</rt></ruby>。在这里注意 “个人” 这个词,它暗示了这是开发人员独有的东西,并没有得到分发的正式许可。
Ubuntu 提供了一个名为 Launchpad 的平台,使软件开发人员能够创建自己的软件仓库。 终端用户,也就是你,可以将 PPA 仓库添加到 `sources.list` 文件中,当你更新系统时,你的系统会知道这个新软件的可用性,然后你可以使用标准的 `sudo apt install` 命令安装它。
Ubuntu 提供了一个名为 Launchpad 的平台,使软件开发人员能够创建自己的软件仓库。终端用户,也就是你,可以将 PPA 仓库添加到 `sources.list` 文件中,当你更新系统时,你的系统会知道这个新软件的可用性,然后你可以使用标准的 `sudo apt install` 命令安装它。
`sudo add-apt-repository ppa:dr-akulavich/lighttable`
`sudo apt-get update`
`sudo apt-get install lighttable-installer`
```
sudo add-apt-repository ppa:dr-akulavich/lighttable
sudo apt-get update
sudo apt-get install lighttable-installer
```
概括一下上面三个命令:
- `sudo add-apt-repository <PPA_info>` < - 此命令将 PPA 仓库添加到列表中
- `sudo apt-get update` < - 此命令更新可以在当前系统上安装的软件包列表
- `sudo apt-get install <package_in_PPA>` < - 此命令安装软件包
- `sudo add-apt-repository <PPA_info>` <- 此命令将 PPA 仓库添加到列表中
- `sudo apt-get update` <- 此命令更新可以在当前系统上安装的软件包列表
- `sudo apt-get install <package_in_PPA>` <- 此命令安装软件包
你会发现使用 `sudo apt update` 命令非常重要,否则你的系统将无法知道新软件包何时可用。
@ -115,17 +118,17 @@ deb-src http://ppa.launchpad.net/dr-akulavich/lighttable/ubuntu YOUR_UBUNTU_VERS
以上两行是将任何软件仓库添加到你系统的 `sources.list` 文件的传统方法。但 PPA 会自动为你完成这些工作,无需考虑确切的软件仓库 URL 和操作系统版本。
此处不那么重要的一点是,当你使用 PPA 时,它不会更改原始的 `sources.list` 文件。相反,它在 `/etc/apt/sources.d` 目录中创建了两个文件,一个 “list” 文件和一个带有 “save” 后缀的备份文件。
此处不那么重要的一点是,当你使用 PPA 时,它不会更改原始的 `sources.list` 文件。相反,它在 `/etc/apt/sources.d` 目录中创建了两个文件,一个 `.list` 文件和一个带有 `.save` 后缀的备份文件。
![Using a PPA in Ubuntu][8]
PPA 创建了单独的 `sources.list` 文件
*PPA 创建了单独的 `sources.list` 文件*
带有后缀 “list” 的文件含有添加软件仓库的信息的命令。
带有后缀 `.list` 的文件含有添加软件仓库的信息的命令。
![PPA add repository information][9]
一个 PPA 的 `source.list` 文件的内容
*一个 PPA 的 `source.list` 文件的内容*
这是一种安全措施,可以确保添加的 PPA 不会和原始的 `sources.list` 文件弄混,它还有助于移除 PPA。
@ -135,11 +138,11 @@ PPA 创建了单独的 `sources.list` 文件
答案在于更新的过程。如果使用 DEB 包安装软件,将无法保证在运行 `sudo apt update``sudo apt upgrade` 命令时,已安装的软件会被更新为较新的版本。
这是因为 apt 的升级过程依赖于 `sources.list` 文件。如果文件中没有相应的软件条目,则不会通过标准软件更新程序获得更新。
这是因为 `apt` 的升级过程依赖于 `sources.list` 文件。如果文件中没有相应的软件条目,则不会通过标准软件更新程序获得更新。
那么这是否意味着使用 DEB 安装的软件永远不会得到更新?不是的。这取决于 DEB 包的创建方式。
一些开发人员会自动在 `sources.list ` 中添加一个条目,这样软件就可以像普通软件一样更新。谷歌 Chrome 浏览器就是这样一个例子。
一些开发人员会自动在 `sources.list` 中添加一个条目,这样软件就可以像普通软件一样更新。谷歌 Chrome 浏览器就是这样一个例子。
某些软件会在运行时通知你有新版本可用。你必须下载新的 DEB 包并再次运行来将当前软件更新为较新版本。Oracle Virtual Box 就是这样一个例子。
@ -163,11 +166,11 @@ PPA 创建了单独的 `sources.list` 文件
并非每个 PPA 都适用于你的特定版本。你应该知道正在使用 [哪个版本的 Ubuntu][11]。版本的开发代号很重要,因为当你访问某个 PPA 的页面时,你可以看到该 PPA 都支持哪些版本的 Ubuntu。
对于其他基于 Ubuntu 的发行版,你可以查看 `/etc/os-release` 的内容来 [找出 Ubuntu 版本][11] 的信息。
对于其他基于 Ubuntu 的发行版,你可以查看 `/etc/os-release` 的内容来 [找出 Ubuntu 版本][11] 的信息。
![Verify PPA availability for Ubuntu version][12]
检查 PPA 是否适用于你的 Ubuntu 版本
*检查 PPA 是否适用于你的 Ubuntu 版本*
如何知道 PPA 的网址呢?只需在网上搜索 PPA 的名称,如 `ppa:dr-akulavich/lighttable`,第一个搜索结果来自 [Launchpad][13],这是托管 PPA 的官方平台。你也可以转到 Launchpad 并直接在那里搜索所需的 PPA。
@ -188,9 +191,9 @@ W: Failed to fetch http://ppa.launchpad.net/venerix/pkg/ubuntu/dists/raring/main
E: Some index files failed to download. They have been ignored, or old ones used instead.
```
上面的错误提示说的很明白是因为系统找不到当前版本对应的仓库。还记得我们之前看到的仓库结构吗APT 将尝试在 <http://ppa.launchpad.net/\><PPA_NAME>/ubuntu/dists/Ubuntu_Version 中寻找软件信息。
上面的错误提示说的很明白是因为系统找不到当前版本对应的仓库。还记得我们之前看到的仓库结构吗APT 将尝试在 `http://ppa.launchpad.net/<PPA_NAME>/ubuntu/dists/<Ubuntu_Version>` 中寻找软件信息。
如果特定版本的 PPA 不可用,它将永远无法打开 URL你会看到著名的404错误。
如果特定版本的 PPA 不可用,它将永远无法打开 URL你会看到著名的 404 错误。
#### 为什么 PPA 不适用于所有 Ubuntu 发行版?
@ -202,7 +205,7 @@ E: Some index files failed to download. They have been ignored, or old ones used
比如说,你访问 Light Table 的 PPA 页面,使用刚刚学到的有关 PPA 的知识,你会发现 PPA 不适用于你的特定 Ubuntu 版本。
你可以点击 `查看软件包详细信息`
你可以点击 “查看软件包详细信息”
![Get DEB file from PPA][16]
@ -234,11 +237,11 @@ Ubuntu 软件中心无法移除 PPA 安装的软件包,你必须使用具有
sudo apt install synaptic
```
安装后,启动 Synaptic 包管理器并选择 Origin。你会看到添加到系统的各种软件仓库。 PPA 条目将以前缀 PPA 进行标识,单击以查看 PPA 可用的包。已安装的软件前面会有恰当的符号进行标识。
安装后,启动 Synaptic 包管理器并选择 Origin。你会看到添加到系统的各种软件仓库。PPA 条目将以前缀 PPA 进行标识,单击以查看 PPA 可用的包。已安装的软件前面会有恰当的符号进行标识。
![Managing PPA with Synaptic package manager][20]
查找通过 PPA 安装的软件包
*查找通过 PPA 安装的软件包*
找到包后,你可以从 Synaptic 删除它们。此外,也始终可以选择使用命令行进行移除:
@ -264,7 +267,7 @@ sudo apt remove package_name
这是一个主观问题。纯粹主义者厌恶 PPA因为大多数时候 PPA 来自第三方开发者。但与此同时PPA 在 Debian/Ubuntu 世界中很受欢迎,因为它们提供了更简单的安装选项。
就安全性而言,使用 PPA 之后你的 Linux 系统被黑客攻击或注入恶意软件的可能性较小。到目前为止,我不记得发生过这样的事件。
就安全性而言,很少见到因为使用 PPA 之后你的 Linux 系统被黑客攻击或注入恶意软件。到目前为止,我不记得发生过这样的事件。
官方 PPA 可以不加考虑的使用,使用非官方 PPA 完全是你自己的决定。
@ -285,7 +288,7 @@ via: https://itsfoss.com/ppa-guide/
作者:[Abhishek Prakash][a]
选题:[lujun9972][b]
译者:[jlztan](https://github.com/jlztan)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
@ -300,7 +303,7 @@ via: https://itsfoss.com/ppa-guide/
[7]: https://launchpad.net/ubuntu/+ppas
[8]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2018/01/ppa-sources-list-files.png?resize=800%2C259&ssl=1
[9]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2018/01/content-of-ppa-list.png?ssl=1
[10]: https://itsfoss.com/install-software-from-source-code/
[10]: https://linux.cn/article-9172-1.html
[11]: https://itsfoss.com/how-to-know-ubuntu-unity-version/
[12]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2017/12/verify-ppa-availibility-version.jpg?resize=800%2C481&ssl=1
[13]: https://launchpad.net/