# gnome-packagekit 手册

gnome-packagekit 是一套 GNOME 桌面整合工具。

2008
Richard Hughes (richard@hughsie.com)
2010
TeliuTe (teliute@163.com)
Richard Hughes

对于本文档的复制、分发和／或修改必须遵循自由软件基金会 (Free Software Foundation) 发布的 GNU 自由文档许可证 (GFDL) 版本 1.1 或更高版本，该许可证没有固定的部分、没有封面和背页文本。您可以在此链接上或在随本手册一起分发的 COPYING-DOCS 文件中找到 GFDL 的副本。

本手册是在 GFDL 许可之下分发的 GNOME 手册集合的一部分。如果想要单独分发此手册，可以在手册中添加该许可证的一份副本然后分发，如该许可证的第 6 部分所述。

各个公司使用的许多用于区别它们产品和服务的名称都声明为商标。在所有的 GNOME 文档以及 GNOME 文档项目的成员中，这些名称都是以全大写字母或首字母大写显示，从而表明它们是商标。

本文档以及文档的修改版本都是在遵循 GNU 自由文档许可证的条款下提供，这表示具有以下含义：

1. 文档按“原样”提供，不提供任何明示或暗示的保证，包括但不限于：文档或文档的修改版本没有适销性方面的缺陷、适合特定目的的适用性，以及没有侵权行为。您将自行承担本文档以及文档修改版本的质量、准确性以及性能方面的风险。如果任何文档或文档修改版本存在缺陷，您(而不是最初的编写者、作者或撰写人)将承担所有必需的服务、维修或更正的费用。此免责声明是本许可证的重要组成部分。如果不接受此免责声明，那么您就没有权利使用任何文档或文档的修改版本；并且

2. 无论在任何情况以及在任何法律理论下，本文档或文档修改版本的作者、最初的编写者、任何撰写人或任何分发者，或者任意这些方的任何提供者都不对任何人由于使用本文档或文档修改版本引起或带来的任何直接的、间接的、特殊的、偶然的或继发的损失承担任何民事(包括疏忽)、合同或其它方面的责任，这些损失包括但不限于信誉损失、工作停止、计算机失败或故障，或任何以及所有其它损失或由此引发的或与之相关的损失，即使这些方已被告知存在出现此类损失的可能性时也是如此。

Richard
Hughes
richard@hughsie.com
3.0
2008-03-31

Rahul Sundaram sundaram@fedoraproject.org

Rahul Sundaram

2.0
2007-08-30

Richard Hughes richard@hughsie.com

Richard Hughes

## 反馈

要报告关于 gnome-packagekit 程序或使用手册中的缺陷，或者提出建议，请参照 gnome-packagekit联系页 上的指导。

## 介绍

gnome-packagekit 是一套用于 GNOME 桌面 的工具

PackageKit 设计成统一界面、适用于所有软件包的图形工具，可用于不同的发行版。它概括不同环境下的包管理器技术，比如 yum、apt、smart 等等，提供统一的图形界面和命令行前端。它也提供一个框架，包括其它应用程序可以使用的接口，它不是用来替换现存的包管理器的(比如 yum)。

PackageKit 比其它包管理方案的优点在于，PackageKit 线程以系统进程运行，这就不依赖任何用户会话，这也意味着一个长时间的更新或安装，将不会由于启动它的用户退出而中止。任务放入队列，意味着一个用户可以激活多个任务，它们将一个接一个地运行，也可以多个用户并行使用 PackageKit，而不需要完全锁定各自的。所有的特权访问操作由 PolicyKit 来控制。

### PolicyKit 许可界面

## 应用程序

packagekitd 在需要的时候自动运行。`pkcon` 为 Packagekit 提供一个通用的命令行接口。

下面列出了gnome-packagekit 中包含的工具包名称和简要描述：

命令行

  `gpk-application`: 添加/删除软件

命令行

  `gpk-update-viewer`: 更新您的系统，也可以查阅更新的历史记录。

命令行

  `gpk-prefs`: 配置软件更新首选项。

命令行

  `gpk-repo`: 启用或禁用软件仓库

命令行

  `gpk-log`: 更新历史记录，包括软件安装、卸载或更新

命令行

  `gpk-install-file`: 安装本地可用的软件包。当您在桌面或文件管理器中双击一个包时也会启动。

命令行

  `gpk-update-icon`: 安装了 PackageKit 以后，当您登录后，它会自动启动会话图标，当软件更新可用时，在面板通知区域显示一个图标，负责显示 PackageKit 的操作和事件通知。

命令行

  `gpk-backend-status`: 显示隐含的包管理后台技术状态，仅对开发者有用。

## 添加/删除软件

添加/删除应用程序在 系统系统管理添加/删除程序 里，允许您简便搜索软件仓库，或者按不同类别查看软件包(比如多媒体或办公)，安装或删除您系统中的软件。您可以通过单击来查看更多相关的软件包信息，比如描述和依赖关系等。在安装一个包之前，您也可以访问它的项目主页，以获得更多额外的细节信息。

### 用过滤器搜索一个组

典型地，您可以在不同组别下找到几千种软件包，因而你肯定愿意选择一个条件过滤器，像基于是否已经安装，是否是一个开发版，或者图形程序，基于哪一种许可协议等，更多相关信息请参阅： 。

软件源配置在系统菜单中，允许您启用或禁用现存的软件仓库，您还可以刷新程序列表，以显示仓库中最近的可用软件包信息。

### 过滤器

您通过设定由多个条件限制显示的软件包的数量。

要只显示安装的或未安装的软件，在 过滤器已安装 菜单中选择相关的菜单项。

要查看图形用户界面或者命令行界面的软件包，从 过滤器图形 菜单中选择一个过滤器。

注意 PackageKit 使用启发式来检测是否一个包是“图形”程序，如果一个包依赖于gtk2+，有可能会获取错误。

要查看自由软件类的包，在 过滤器自由 菜单中选择相关的菜单项。当前，如果包的许可证在 Licensing 中列出，则 PackageKit 将其识别为自由软件。

### 搜索软件

搜索条和 查找 按钮，可以让您搜索软件，搜索条上的图标指示执行哪一类搜索。点击它，您可以选择搜索包含软件名的字符，软件包描述，或者用它包含的文件名来搜索。

## 软件源

软件仓库查看器允许您启用或禁用软件源 - 也叫 软件库。软件库收集各种已知可以跟在您的系统上运行的软件集合。除操作系统自身的软件库外，还有第三方软件库为许多 Linux 发行版提供额外的软件 - 查看您发行版的专门文档以获得更多相关信息。

### 软件源界面

当前，PackageKit 还不能提供添加新的软件库到您的系统中方法，它仅允许您启用或禁用已有的软件库，然而，很有可能通过安装必要的信息的软件包，让一个新的软件库添加到 PackageKit 中，这些通常被称为(foo)-release，这儿的 foo 是软件库的名称。

## 文件管理帮助器

有时您的系统中没有打开一个特定文件的程序，如果文件类型不能识别，那么能打开此类型文件的应用程序会显示出来。

当前，只能显示少量的结果，因而需要由发行版重构来让 PackageKit 支持额外的数据。这将自动进行，然后所有匹配的应用程序将会被显示。

## 更新查看器

您可以点菜单 系统系统管理更新系统 来更新系统，也可以点击通知区域的更新图标，选择显示更新。点击后，会启动更新管理器检查是否有更新，检查完成后，会显示可用的更新，按重要性分组，从安全更新到重要更新到问题修复以及性能提高等等。

注意重要性必须由存储软件包的软件库提供，这个信息对于发行版的开发分支可能是不可用的。

### 更新预览

在可用的更新摘要下面，查看器提示上次更新检查(或刷新)以来有多长时间，以及最后安装更新的时间。

您可以通过点击 刷新 按钮来手动刷新并检查出现的更新。

您可以在 软件更新首选项 中更改 PackageKit 多久刷新一次。

有一个选项可以查看更新的历史，包括以前的次安装、删除或更新的软件。

点击 更新系统 按钮安装所有可用的更新，或者点 检查 按钮查看并选择更新。如果您现在不想更新，只要简单地关闭窗口即可。

### 关于更新的详细信息

点击 检查 会出来一个可用更新的列表，列表下面的区域显示选中更新的细节信息，包括修复的问题和情况报告等的参考。

注意更新细节信息必须由存储软件包的软件库提供，这个信息对于发行版的开发分支可能是不可用的。

点击在列表中每个包前面的复选框，可以选择安装更新，点 应用更新 按钮，只安装选中的更新。如果您现在不想安装，只需简单关闭窗口即可。

#### 更新查看器工具

您可以通过在列表中点右键，然后选择 全部不选，来快速取消所有的选中项。

## 软件更新首选项

### 首选项工具

首选项可以通过点菜单 系统首选项系统软件更新 来打开。您可以设定更新检查为每日、一小时、每周或从不，注意这些更新频率只是一个近似值，更新检查可能会被其他事件激活，比如屏幕解锁、网络可用或者其他用户检查更新，默认设置是每天。您可以设置自动安装所有更新，或者只修复安全漏洞，这些设置各用户是独立的，只针对当前登录系统的用户。

## 软件日志查看器

### 日志查看器

此工具可以通过点菜单 应用程序系统工具软件日志查看器 打开。

日志查看器可以用于查看下载安装了哪些更新，过滤器将匹配包名称、版本或架构。

它也可用于支持 `回滚` 的软件包后台，回滚到一个指定点。

## 补丁包创建器

### 补丁包创建器

此工具可以通过点菜单 应用程序系统工具补丁包创建器 打开。

补丁包是一个压缩包，包含一组包和它们的依赖关系。要更好地解释什么是补丁包，最好是显示一些使用情况。

您可以添加多个包到一个补丁包中，用逗号来分隔它们，例如 `hal,gnome-power-manager`。

1. 您已经安装了 Fedora 9，有七个桌面，每个需要安装 240Mb 的更新。

2. 您有一个笔记本电脑，在下载更新前需要网络驱动，并且您还有一个类似的更新了的可以访问网络的笔记本。网络驱动需要一些依赖关系，在它们安装前会被升级。

3. 您经常要在他人的机子上安装 Linux，您携带一张 live-cd 光盘和一个装有 240Mb `Fedora-updates-SP1.servicepack` 的优盘，里面包含了上星期以来全部的更新。

4. 一个自由软件杂志想随最新的 Fedora 发行版 DVD，发布专利许可限制的多媒体插件和程序。他们想通过一种方法，甚至最不勤快的用户也可以不费多少周折完成安装。

在内部，包文件是没有压缩的 tar 包，跟它在一起的还有一个 metadata.conf 文件，这个文件是发行版的标识，以及创建时间。这确保您不会把一个 `fedora-9-i386` 补丁包安装到 `ubuntu-intrepid-ppc` 的系统中。

我们需要一个目标文件列表，因为我们不知道哪些包安装到了目标主机上，例如：

### 两个计算机实例

计算机A 安装了下列包，能访问互联网。

- `glib`

- `dbus`

- `dbus-glib`

- `libgnome`

计算机 B 安装下列包，不能访问互联网。

- `glib`

- `dbus`

- `kdebase`

- `kdeapps`

计算机 B 想要一个包含新版 `k3b` 的补丁包，以便能够刻录 DVD-RW。

`k3b` 程序依赖 `dbus`、`dbus-glib` 和 `kdebase`。现在，如果我们让 A 下载 `k3b`，它将下载 `k3b` 和 `kdebase` 但是 不下载 `dbus-glib`。我们在创建补丁包时，需要给 A 提供关于 B 计算机安装哪些包。

如果我们在 B 上生成一个包文件列表，然后通过一个优盘或可擦除光盘传给 A，我们就可以正确下载软件包了。这样我们将下载 `k3b` 和 `dbus-glib`，并且添加到新的补丁包中。

现在，补丁包可以用优盘从 A 传给 B 了。

`pkgenpack` 命令行工具也可以用于创建补丁包。

## 自动更新

自动更新可以由 PackageKit-cron 在后台运行，可以在 `/etc/sysconfig/packagekit-background` 文件中设置。您可以设置为检查更新或者自动更新并发送邮件提醒。

## 更新图标

图标提供一个菜单项，用于安装可用的更新，或者启动更新查看器，可以让您在安装前查看可用包的详细信息。更多相关信息请参阅：xref linkend="update-viewer"/>。

### 首选项工具

## 同意最终用户许可协议

许可协议是一个在软件作者和用户之间的联系，授权给用户一份软件许可。软件许可协议定义了用户可以使用软件的法定条款，它也被称作最终用户许可协议，简写为 EULA。

许多 EULA 规定了较多的软件使用限制，典型的 EULA 保护软件作者不承担由于使用该软件导致的计算机硬件或数据损坏的责任。一些软件还包括限制，用户可能会因为不正确使用软件造成的损害而被追究责任。

### EULA 范例

在继续安装或更新前，请确保仔细阅读并接受最终用户许可协议。

## 接受安全签名

软件源里的包一般都由库或包项目管理来签名，这样用户可以确保软件源中由密钥签署的包不被假冒。

为了有效地进行包管理，它必须信任软件库，以便更新能够自动下载和安装，另外的好处是经过签名的包可以不必使用管理员密码而安装，假定您的管理员已经启用了此选项。

### 签名提示范例

要信任一个软件库，您应该验证它的签署密钥的细节，通常最好的方法是去软件源的主页，尝试找到用于签署包的密钥细节。这通常称作 `GPG 密钥`。

如果您乐意信任来自这个软件源的包，您应该只从这个对话框里继续进行。

## 通用对话框解释

程序尝试尽可能重复利用对话框，以便在管理包时，有一个可重用并一致性的用户界面。在下面的段落里，一些对话框会解释得更进一步，常常伴随例子或网站链接。

### 复制文件到其他位置

#### 对话框范例

如果一个文件已经下载到您的主文件夹，它通常会保存在一个类似于 `/home/hughsie/Downloads` 的位置。PackageKit 服务不像普通桌面用户那样运行，守护进程将不能正常地访问这个文件。如果下载文件夹不能被 root 用户读取，那么它会被复制到临时文件夹中以便访问。

### 安装本地文件

应用程序请求在您的系统上安装本地文件，如果您要开始进行这个操作，请点击安装按钮。

### 安装目录

包目录是一个简单的指示其他应该安装的包的目录文件。这些包不是可选的，所以目录文件设计成简单不需要用户来干涉。使用目录文件您可以快速而简便地安装其他软件包。

要查看目录文件的更多信息，请访问：FAQ 常见问答。

### 不需要包

在您尝试安装的目录文件表时，如果系统已经安装了所需的包，则它不会改变您的系统，不需要有更多的操作。

要查看目录文件的更多信息，请访问：FAQ 常见问答。

### 需要验证

#### 插件对话框范例

程序在您的系统上设置软件包时，需要您的允许才行。显示请求允许的应用程序名称和图标。

### 查找其他需要的软件包

其他包可能依赖于这个包才能正确操作，这个程序搜索其他依赖您要删除的包，还没有任何更改，如果需要，稍候会出来一个提示。

### 查找其他依赖的包

这个包可能依赖于其他包的资源才能正确操作，这个程序搜索您要删除的包所依赖的其他包。

### 删除其他软件包

#### 删除 rarian 包的范例对话框

如果删除这个包，其他包也会被删除。如果您删除了这些包，将会丧失其他应用程序的一些功能。

如果您不确定是否应该删除这个包。

### 安装其他软件包

#### 安装 xfce-utils 的范例对话框

如果安装这个包也需要安装其他一些软件包。如果您删除这些包您可能会丧失其他应用程序的功能。下载并安装额外的包将会增加安装这个包的时间。

### 查找软件包

包数据库正在搜索您的请求，这可能需要花费一些时间，如果要从互联网上下载新的包列表。

### 没有找到软件包

在各个远程软件源中都没有找到这个包，这通常意味着您没有启用或安装第三方的软件库。这些额外的库常常可以通过搜索引擎或在论坛里找到。

仅安装受好评软件源里的包。

### 进度窗口

如果我们开始一个自动操作，通常不需要我们干涉。如果启动任务需要使用网络，或是需要花费很长时间，将会出现一个对话框。这就给您一个机会取消它，如果您不需要它。

### 没有权限

#### PolicyKit 许可界面

您没有权限执行此操作。这一般发生在您没有正确通过验证，例如在一行内输入两次正确的密码。注意：在一些发行版中，您可能要输入 root 密码而不是自己的密码。

如果不能通过验证，您需要与您的系统员沟通。

### 没有 PackageKit 服务运行

PackageKit 核心服务不能启动。这仅会发生在系统出现严重错误的情况。您可以通过运行(以root用户)：`/usr/sbin/packagekitd --verbose`，获取更多错误相关信息。

### 更新系统

所有系统中可更新的包正在更新。如果取消按钮未被禁用，您可以取消更新。

### 更新包

您系统上的一些包正在更新。如果取消按钮未被禁用，您可以取消更新。

### 刷新包列表

每周将自动下载一次最近的包列表，这个时间也可以在首选项中更改。这意味着当您搜索一个没有安装的包时，您将获得一些新的添加到软件源里的包。

一旦包列表被下载，已安装的和可用的包将被缓存，以便客户端工具能自动完成。当这些完成后，一些新的程序会被扫描并添加到客户端数据库中。

## 关于

gnome-packagekit 由 Richard Hughes richard@hughsie.com 与其他人一起维护和开发。要查看更多 gnome-packagekit 的相关信息，请访问： gnome-packagekit 网页。

要报告关于本程序或手册的错误或提出建议，请参照 gnome-packagekit Bug 反馈页 中的指导。

本程序分发是遵照自由软件基金会发布的 GNU 通用公共许可证第二版，或者(您愿意选择)更新的版本。此许可证的一个副本可以在此 链接 找到，或者在一个随源代码一起发布的 COPYING 文件里。