• linux下的yum详细介绍
    时间:2009-09-20   作者:佚名   出处:互联网

    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

    网友留言/评论

    我要留言/评论