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即可.