您的位置:首页 > 运维架构 > Linux

linux中yum命令详解

2012-12-29 17:51 465 查看
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
本文出自 “大風” 博客,请务必保留此出处http://lansgg.blog.51cto.com/5675165/1104132
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: