4. 使用 yum 管理软件

使用 yum 工具改变系统中的软件配置,有四种选择:

[重要]从一个软件包文件安装软件

本文档中的 yum 命令使用仓库作为软件包来源。如果要使用 yum 从一个软件包文件来安装软件,可以参考 第 8 节 “从一个单独的软件包文件安装软件”

使用 yum 时,应指定一个操作,以及一个或多个软件包/软件组。

对于每个操作,yum 都要从已配置的仓库中下载最新的软件包信息。如果您的网络连接比较慢,yum 会用数秒钟来下载仓库的索引以及软件包的文件头。

为得到所需的结果,yum 工具搜索这些数据文件,产生最好的动作集合,然后显示待处理的事务,您可以批准是否继续。事务可能会包含安装,更新或删除额外的软件,以此来满足软件依赖关系。

这个范例是安装 tsclient 时的事务:

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 tsclient                i386       0.132-6          base              247 k
Installing for dependencies:
 rdesktop                i386       1.4.0-2          base              107 k

Transaction Summary
=============================================================================
Install      2 Package(s)
Update       0 Package(s)
Remove       0 Package(s)
Total download size: 355 k
Is this ok [y/N]:

例 1. yum 事务报告的格式

检视列表中的改变,然后按下 y 接受并开始。如果您按下 NEnter(回车),yum 不会下载或改变任何软件。

[注意]软件包版本

yum 工具只显示和使用软件包的最新版本,除非您指定一个旧版本。

yum 工具支持导入仓库公钥,如果它没有预装在 rpm 钥匙环中的话。

这是公钥导入的一个例子:

warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
public key not available for tsclient-0.132-6.i386.rpm
Retrieving GPG key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora
Importing GPG key 0x4F2A6FD2 "Fedora Project <[email protected]>"
Is this ok [y/N]:

例 2. yum 公钥导入的格式

检查这个公钥,然后按下 y 来导入它,认可它的效力。如果您按下 NEnter(回车),yum 停止,不安装任何软件包。

为保证下载到的软件包是真实的,yum 用提供者的公钥校验每个软件包的数字签名。当事务需要的所有软件包都已成功下载并校验后,yum 将它们应用到您的系统中。

每个完成的事务会在日志文件 /var/log/yum.log 中记录受影响的软件包。您只能以 root 权限读取它。

[提示]下载被缓存

yum 工具保留已下载的数据文件和软件包以复用。如果需要,您可以从 /var/cache/yum/ 下的仓库缓存目录中,将软件包复制出来,用于其他地方。缓存中的软件包即使被删除,也不会影响到您的系统中已经安装的软件。

4.1. 使用 yum 安装新软件

要安装软件 tsclient,输入命令:

su -c 'yum install tsclient'

当提示时,输入 root 帐号的密码。

要安装软件组 MySQL Database,输入命令:

su -c 'yum groupinstall "MySQL Database"'

当提示时,输入 root 帐号的密码。

[重要]新的服务需要激活

当您安装一项服务的时候,Fedora 不会激活或启动它。要配置一项新服务随系统启动而运行,选择菜单中的 DesktopSystem SettingsServer SettingsServices,或者使用命令行工具 chkconfigservice

4.2. 使用 yum 更新软件

要更新 tsclient 软件为最新版本,输入:

su -c 'yum update tsclient'

当提示时,输入 root 帐号的密码。

[重要]新版本软件需要重新载入

如果您更新某个软件时,它正在被使用,那么旧版本仍然有效,直到您重新启动应用程序或服务。内核的更新必须到您重新启动系统时才可生效。

要更新软件组 MySQL Database 中的所有软件,输入命令:

su -c 'yum groupupdate "MySQL Database"'

当提示时,输入 root 帐号的密码。

[注意]更新整个系统

要更新您的 Fedora 系统中的所有软件,使用 第 6 节 “使用 yum 更新您的系统” 中提到的命令。

4.3. 使用 yum 移除软件

要移除软件,yum 在您的系统中检测指定被移除的软件,以及任何依赖于它的软件。移除软件的事务将移除这一软件及所有依赖于它的软件。

要移除 tsclient 软件,使用命令:

su -c 'yum remove tsclient'

当提示时,输入 root 帐号的密码。

要移除软件组 MySQL Database 中的所有软件,使用命令:

su -c 'yum groupremove "MySQL Database"'

当提示时,输入 root 帐号的密码。

[注意]数据和配置文件的保留情况

移除过程会保留用户数据,但是在某些时候会移除配置文件。如果某个软件的移除不包括配置文件,而您在后面又重安装了这一软件,那么它可能会重用旧的配置文件。