且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

linux中yum命令详解

更新时间:2022-09-30 18:13:45

yum是干什么的

  使用redhat,fedora的linuxer肯定都为rpm著名的dependency hell而头疼(这也是所有基于rpm发行版都有的问题)。foo is needed by bar,bar is needed by foo。要装卸个软件,还得辛辛苦苦地梳理清楚所有依赖性问题,rpm的几个搜索站点成了时常光顾的场所,如果不幸碰到循环依赖,那就只有干瞪眼的分了。 有时加个--nodeps参数,倒是眼不见,心不烦,但这样装上的软件,你能保证正常使用吗,这样卸载软件,你能保证不影响其它软件工作吗,恐怕谁也不能 给出肯定的答案。每到这时,帽子们只有看着debian的 apt暗自羡慕了。好在,这些都已经成为过去时了。基于rpm的发行版现在也有了像apt那样自 动解决依赖关系的包管理工具了。其中一个著名的就是apt4rpm,这基本上是debian系统apt的在rpm发行版的移植。但是使用Redhat和 Fedora的linuxer你们知道吗,还有一个与apt功能类似的rpm包管理系统,那就是yum。Fedora系统已经自带,Redhat也有相应 的rpm下载。与apt相比,yum的功能一点也不弱,甚至还有许多胜过apt 之处。比如说,yum是Fedora系统自带的,因此它能使用fedora官方的软件源,完成各种官方发布>的各种升级。对于第三方软件源的支 持,yum也 不差,大多数支持apt的repository注,也能支持yum,比如说freshrpms,fedora.us,livna等等。此外yum有一个比 较 详细的log,可以查看何时升级安装了什么软件包等。yum的代码较apt更为精简等。

  一. yum是什么

  yum = Yellow dog Updater, Modified主要功能是更方便的添加/删除/更新RPM包.它能自动解决包的倚赖性问题.

  它能便于管理大量系统的更新问题

  注:为什么要使用yum而不用apt,最简单的原因,Fedora自带

  二. yum特点

  *可以同时配置多个资源库(Repository)

  *简洁的配置文件(/etc/yum.conf)

  *自动解决增加或删除rpm包时遇到的倚赖性问题

  *使用方便

  *保持与RPM数据库的一致性

  三. yum安装

  Fedora自带

  #rpm -ivh yum-2.0.4-2.noarch.rpm

  四. yum配置

  注:修改和增加配置文件中的资源库,加快下载速度和拥有更多可更新的rpm包将/etc/yum.conf的内容全部替换为

  [main]

  cachedir=/var/cache/yum

  debuglevel=2

  logfile=/var/log/yum.log

  pkgpolicy=newest

  distroverpkg=fedora-release

  tolerant=1

  exactarch=1

  [fedora-us-1]

  name=Fedora Core 1 -- Fedora US mirror

  baseurl=ftp://mirrors.kernel.org/fedora.us/fedora/fedora/1/i386/yum/os

  [fedora-us-1-updates]

  name=Fedora Core 1 updates -- Fedora US mirror

  baseurl=ftp://mirrors.kernel.org/fedora.us/fedora/fedora/1/i386/yum/updates

  [fedora-us-1-stable]

  name=Fedora Linux (stable) for Fedora Core 1 -- Fedora US mirror

  baseurl=ftp://mirrors.kernel.org/fedora.us/fedora/fedora/1/i386/yum/stable

  [freshrpms]

  name=Fedora Linux $releasever - $basearch - freshrpms

  baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/freshrpms

  五. yum应用

  注:当第一次使用yum或yum资源库有更新时,yum会自动下载所有所需的headers放置于/var/cache/yum目录下,所需时间可能较长.

  检查有哪些可更新的rpm包

  #yum check-update

  安装rpm包,使xmms可以播放mp3

  #yum install xmms-mp3

  安装mplayer,同时自动安装相关的软件

  #yum install mplayer

  删除licq包,同时删除与该包有倚赖性的包

  #yum remove licq

  注:同时会提示删除licq-gnome,licq-qt,licq-text,非常方便

  系统更新(更新所有可以升级的rpm包,包括kernel)

  #yum -y update

  每天定期执行系统更新

  #chkconfig yum on

  #service yum start

  六. yum指令详解

  *rpm包的更新

  检查可更新的rpm包

  #yum check-update

  更新所有的rpm包

  #yum update

  更新指定的rpm包,如更新kernel和kernel source

  #yum update kernel kernel-source

  大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级

  #yum upgrade

  *rpm包的安装和删除

  安装rpm包,如xmms-mp3

  #yum install xmms-mp3

  删除rpm包,包括与该包有倚赖性的包

  #yum remove licq

  注:同时会提示删除licq-gnome,licq-qt,licq-text

  *yum暂存(/var/cache/yum/)的相关参数

  清除暂存中rpm包文件

  #yum clean packages

  清除暂存中rpm头文件

  #yum clean headers

  清除暂存中旧的rpm头文件

  #yum clean oldheaders

  清除暂存中旧的rpm头文件和包文件

  #yum clean或#yum clean all

  注:相当于yum clean packages + yum clean oldheaders

  *rpm包列表

  列出资源库中所有可以安装或更新的rpm包

  #yum list

  列出资源库中特定的可以安装或更新以及已经安装的rpm包

  #yum list mozilla

  #yum list mozilla*

  注:可以在rpm包名中使用匹配符,如列出所有以mozilla开头的rpm包

  列出资源库中所有可以更新的rpm包

  #yum list updates

  列出已经安装的所有的rpm包

  #yum list installed

  列出已经安装的但是不包含在资源库中的rpm包

  #yum list extras

  注:通过其它网站下载安装的rpm包

  *rpm包信息显示(info参数同list)

  列出资源库中所有可以安装或更新的rpm包的信息

  #yum info

  列出资源库中特定的可以安装或更新以及已经安装的rpm包的信息

  #yum info mozilla

  #yum info mozilla*

  注:可以在rpm包名中使用匹配符,如列出所有以mozilla开头的rpm包的信息

  列出资源库中所有可以更新的rpm包的信息

  #yum info updates

  列出已经安装的所有的rpm包的信息

  #yum info installed

  列出已经安装的但是不包含在资源库中的rpm包的信息

  #yum info extras

  注:通过其它网站下载安装的rpm包的信息

  *搜索rpm包

  搜索匹配特定字符的rpm包

  #yum search mozilla

  注:在rpm包名,包描述等中搜索

  搜索有包含特定文件名的rpm包

  #yum provides realplay

  七. 安全的更新freshrpms.net的rpm包

  安装freshrpms.net的GPG key #rpm --import http://freshrpms.net/packages/RPM-GPG-KEY.txt

  编辑/etc/yum.conf,增加以下信息到尾部

  [freshrpms]

  name=Fedora Linux $releasever - $basearch - freshrpms

  baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/freshrpms

  gpgcheck=1

  注:

  检查GPG Key

  # rpm -qa gpg-pubkey*

  显示Key信息

  #rpm -qi gpg-pubkey-e42d547b-3960bdf1

  删除Key

  #rpm -e gpg-pubkey-e42d547b-3960bdf1

 

 

 

man yum;

check-update       检查可提供的包升级
clean              删除缓存数据
deplist            列出包依赖相关
erase              移除一个或多个包从你的系统
groupinfo          显示关于包组的细节
groupinstall       从组里安装软件包到你的系统
grouplist          列出当前的组
groupremove        在一个组中移除包从您的系统
help               显示帮助用法信息
info               显示关于包或一组包的细节信息
install            安装一个或多个软件包在你的系统
list               列出一个包或某组的包
localinstall       安装本地 RPM
makecache          生成原数据缓存
provides           Find what package provides the given value
reinstall          重新安装一个包
repolist           显示软件仓库的配置
resolvedep         决定哪个包提供了给定的依赖
search             查找包细节居给定的字符串
shell              运行交互式的yum shell
update             更新一个或多个包在你的系统
upgrade            Update packages taking obsoletes into account
Options:
-h, --help                show this help message and exit
-t, --tolerant            be tolerant of errors
-C                        从缓冲中运行,而不是升级缓存
-c  [config file]         config file location
-R  [minutes]             最大化的命令等待时间
-d  [debug level]         调试输出级别
--showduplicates          显示复制, 在repo,list/search命令下
-e  [error level]         错误输出级别
-q, --quiet               安静的操作
-v, --verbose             verbose operation
-y                        回答所有的问题为是
--version                 显示 YUM版本信息并退出
--installroot=[path]  设置为root安装
--enablerepo=[repo]       激活一个或多个仓库(支持通配符)
--disablerepo=[repo]  禁掉一个或多个仓库(支持通配符)
-x [package], --exclude=[package] 在名称或glob不包含包。
--disableexcludes=[repo]       disable exclude from main, for a repo or for everything
--obsoletes               enable obsoletes processing during updates
--noplugins               禁掉yum插件
--nogpgcheck              禁掉GPG验证检查
--disableplugin=[plugin]       用名称禁掉插件
--enableplugin=[plugin]   enable plugins by name
--skip-broken             忽略包的依赖问题
--color=COLOR             control whether color is used


本文转自 西索oO 51CTO博客,原文链接:http://blog.51cto.com/lansgg/1104132