Zh/Docs/Drafts/FAQ/Yum

如何使用 Yum 安装软件？
你可通过  指令或 Yum 的图形程序安装软件. 例如你想安装 Abi.

如何更新系統？
请在终端下执行 yum update

使用 Yum 安装 KDE
KDE 包含了很多软件包，最好使用 Yum 的图形程序来安装，以选择需要的内容. 但是，如果需要在命令行安装，那么运行 yum groupinstall KDE 类似的，可以用这种方式安装其他成组的软件，如 GNOME 和 XFCE4 等等. 查看全部分组的方式是 yum grouplist

找不到依赖关系怎么办
这里并不是要叙述 Yum 的工作原理，毕竟 Yum 理应自动地解决依赖关系，不需要了解底层的运作. 而大家经常提到的“找不到依赖关系怎么办”，是在 Yum 报错之后，如何处理局面.

最简单的办法，是用 yum-skip-broken 插件绕过有问题的软件包，只更新可以顺利完成的那些. 安装插件的办法是 yum install yum-skip-broken 安装全部插件的办法是 yum install yum-\* 然而通常不需要安装全部插件，因为插件本身也是软件，可能会有问题，造成 Yum 不稳定——这是题外话.

然而只使用 yum-skip-broken 不能解决全部问题.

我们更新软件包时，可以把我们的“愿望”分成两类：一类是必须要完成的，另一类则是可有可无的. yum-skip-broken 不会对我们的愿望做出任何判断. 因此，如果更新必须完成，可能就需要手工干预了. 另外，每个人对软件包的取舍都有自己的“权重”，是否可以牺牲(删除)一个软件包，使另一个软件包安装成功？Yum 和插件同样无法判断这些，当然需要手工干预了.

Yum 的特点是删除比安装容易，因为删除时看到的依赖关系问题一目了然，删除动作不会牵涉到新的软件包 (当然也有其他软件包管理工具，可以在删除的同时安装其他软件包，以交换的方式满足依赖关系，这是后话. ) 根据上面的分析，手工干预的主要操作就是删除软件包. 有时，如果软件包出现了打包问题，例如删除软件包时脚本出错，这时手工干预还包括 rpm 命令 yum remove XXXXX rpm -e --noscripts XXXXX

如果问题不可以通过删除软件包解决，那么(这其实是依赖关系问题的另一类，也是比较直接的一类)只有等待上游发布所有依赖关系. 有时，一个软件包可能来自多个仓库，例如 mplayer. 若仓库A的 mplayer 版本比另一仓库B更新，却没有提供全部依赖关系，以至于无法安装，那么可以有两个解决方法：临时禁掉仓库A yum --disablerepo=\* --disablerepo=A --enablerepo=B install mplayer 或者，指定安装仓库B中低版本的那一个 yum list mplayer yum install mplayer-{版本号} 如果已经安装了仓库 A 中的某些依赖关系，那么需要在安装 mplayer 之前卸载掉. 总之要使 mplayer 和依赖关系来自相同的仓库.

安装插件，选择最快的镜像
yum install yum-fastestmirror

安装插件，使用 DeltaRPM 减小加载的内容
yum install yum-presto 安装 presto 插件之后，需要对仓库进行配置. 只有少数仓库支持 DeltaRPM.

安装axelget插件，加快下载速度
axelget是wq1977朋友的作品，它是针对yum的一个提速插件，在安装axel这多线程下载应用程序之后，它能调用axel并将其整合进yum的下载工作中，使得下载速度得到极大幅度的提升. 请参考：

http://www.linuxsir.org/bbs/showthread.php?t=290570 http://www.linuxsir.org/bbs/showthread.php?t=306063

最后，如果你有机会，请建立新的 fedora 镜像！只有镜像的数量和质量上去了，Yum 提速问题才会最终解决.