如何使用 Yum 安装软件?
你可通过 yum
指令或 Yum 的图形程序安装软件。
例如你想安装 AbiWord,请在终端下执行
yum install abiword
请注意,你必须取得 root 权根来执行 yum install abiword
。
如何更新系統?
请在终端下执行
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 提速
安装插件,选择最快的镜像
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 提速问题才会最终解决。