Yum 完全解析


1. Yum 所支持的系统
   Redhat、Centos、Fedora,使用这三种系统的用户,缺省情况下都是使用Yum作为包管理工具,通过Yum安装软件/包, 更新系统/软件/包, 删除软件/包。
2. Yum 配置
   1)首先 yum命令位于 /usr/bin/目录下.
   2) 配置文件yum.conf位于 /etc/目录下.
      yum.conf代码如下:
[main]
cachedir=/var/cache/yum/$basearch/$releasever  #cache目录
keepcache=0  #是否保留cache
debuglevel=2  #调试级别
logfile=/var/log/yum.log #日志目录
exactarch=1  #是否安装不在Yum源列表中的软件/包
obsoletes=1
gpgcheck=1 #是否检查包的完整性
plugins=1  #是否加载插件, 0:不加载 1: 加载
installonly_limit=3

#  This is the default, if you make this bigger yum won't see if the metadata
# is newer on the remote and so you'll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
#  It is esp. important, to have correct metadata, for distributions like
# Fedora which don't keep old packages around. If you don't like this checking
# interupting your command line usage, it's much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d

通过上面配置,我们知道:
   3) 缓存目录位于 /var/cache/yum/ 目录下, 即所有下载的文件临时存放在这里。
   4) 日志文件:yum.log 位于 /var/log/目录下
   5) Yum源在 /etc/yum.repos.d, 即所有的源配置文件都在这个目录下。
当然,以上三个配置可以进行修改。
   6) Yum插件位于 /etc/yum/pluginconf.d/目录下, 这是个非常有用的配置,本文章节4单独进行讲解
   7) 包校验文件(gpgkey)一般在/etc/pki/rpm-gpg/目录下,这处决于Yum源配置文件(5), 它的作用是通过这个文件来校验通过该源下载的文件是否完整等。

3. Yum 命令
   1) 增加YUM源: 通过上面配置我们知道,一般yum源由两部分组成: YUM源配置和校验文件,通常yum源的提供者都会将两者打成rpm包,然后通过rpm进行安装,即将yum源及其对应的校验文件拷贝到配置章节中提到的目录,下面我们先手工实现一个yum源:
      a. 在/etc/yum/yum.repos.d/目录下创建一个配置文件: iso.repo 内容如下:
         [My ISO Repository]
     baseurl=file:///mnt/iso
     enabled=1
         这里我们没有用到GPG KEY.这里的安装源在 file:///mnt/iso, 好,我们现在mount一个安装源挂载在/mnt/iso目录下.
      b. 首先你应该有一个linux完全安装文件(iso格式的,我的系统是fedora16, 我将名称改为fedora16.iso).
      c. 执行命令:
# yum install createrepo
# mkdir -p /mnt/iso/{1,2,3}
# mount -o loop /path/to/fedora16.iso /mnt/iso/1
        这样就将光盘文件加载到/mnt/iso/1中了
      d. 执行命令:
# cd /mnt/iso
# createrepo .
# yum clean all
      e. 现在试试执行yum install 包名, 是不是从光盘文件中安装了?
      f. 通过rpm安装如我的文章 http://blog.csdn.net/topurce/article/details/6858973 , 下载fusion 源之后,通过rpm -ivh rpmfusion-free-release-stable.noarch.rpm 就可以增加fusion源,这个源包含很多非free的软件和包,如mp3相应的包,很多人无法用mp3插放器的原因就在此,mp3现在由于版权原因,已经属于非free的了,只有通过这个yum源进行安装相应的解码器.
   2) 导入GPG key:
      a. 这里有另外一个例子,来手工创建一个yum源: 首先在 /etc/yum/yum.repos.d/目录下创建foo.repo文件,内容如下:
[foo]
name=Foo for RHEL/ CentOS $releasever - $basearch
baseurl=http://foo.nixcraft.com/centos/$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://foo.nixcraft.com/RPM-GPG-KEY.txt  #这里可以改成 file:///etc/pki/rpm-gpg/RPM-GPG-KEY.txt
      b. 上面用到了key, 我们通过命令导入GPG key: rpm --import http://foo.nixcraft.com/RPM-GPG-KEY.txt
   3) 常用命令:
      所有命令都支持通配符: *
      更新:yum update
      安装:yum [-y] install xxx
      移除:yum remove xxx
      清除已经安装过的缓存文件(/var/cache/yum/):yum clean all
      搜寻:yum search xxx
      列出所有档案:yum list
      查询档案讯息:yum info xxx eg.: yum info mozilla*
    列出资源库中所有可以更新的rpm包的信息
    #yum info updates
    列出已经安装的所有的rpm包的信息
    #yum info installed
    列出已经安装的但是不包含在资源库中的rpm包的信息
    #yum info extras
    注:通过其它网站下载安装的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包
#yum provides realplay
# yum update 系统升级
# yum list available  列出所有升级源上的包;
# yum list updates  列出所有升级源上的可以更新包;
# yum list installed  列出已经安装的包;
# yun update kernel  升级内核;
4. Yum 插件
1) 你是否只想先下载安装包,而不是下载并安装?
2) 你是否想让yum在安装时选择yum源时,找最快的下载源?
3) 你是否想用图形化的yum来安装软件?
4) 你如果是做开发,是否想调试你所使用的开源库?

好,上面三个问题都可以通过插件的方式来实现

a. yum install package--downloadonly
b. yum install yum-fastestmirror
c. yum install yumex
d. yum install auto-update-debuginfo

执行完上面命令后,你会发现在/etc/yum/pluginconf.d/目录多了与上面相同的.conf配置文件,如果想禁掉其中的插件,打开对应的.conf文件,将enable改成0即可.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值