使用yum高级技巧

来源:岁月联盟 编辑:exp 时间:2012-03-25
做为一个RHCA,当然有一些管理yum的小技巧。我原来以为别人都会,后来才发现只有自己知道.好东西当然要分享。 另外,我有一些对生产环境安装软件的朋友一些建议。多用rpm,deb之类的包管理安装,不要使用编译安装。原因有以下几点.
 
1.编译安装麻烦,浪费时间.
2.你以后可能都不记的编译的参数,你的下一任维护也麻烦.因为他不清楚你当时是用的什么参数编译.这个你的boss可关心着哦.
3.当然,有人一定会讲,编译性能高,其实不见的,出问题的机会也高哦,在讲一个程式性能提高3%有什么用。其实没有多少用.当然,你用LFS的系统做生产环境,那就有分别,因为你任何一个包都是自己编译的.相信你不会吧.
4.rpm -qf 可以查到那个文件是那个包,要是有一天,你的系统中有个文件坏了。你可以用rpm这个方法一下找出一,但你用编译安装,你就头痛了,天啊,这个包是那个软件生成的啊.呵呵.
5.我不愿意从源程式安装。不是因为难。相反的,蛮容易。只是,我不愿意搞乱我的系统。如果我将从来源安装的程式更新,常常会发生的问题是还有一些档案没有被删除的干净。有时候这种情况会产生问题。如果要删除这个程式,你怎么保证所有被安装的档案都被删除?  尽可能,我宁愿用RPM 来安装。用RPM 来更新和删除,RPM 做的很干净。
 
 
 
好了,下面介绍重点:
 
技巧1:加快你的yum的速度.
 
使用yum的扩展插件yum-fastestmirror,个人认为这个插件非常有效,速度真的是明显提高,
 
yum -y install yum-fastestmirror注意,在Centos 4上,名字叫yum-plugin-fastestmirror
 
技巧2:扩展你的rpm包
 
好多包官方没有,怎么搞定他.要我自己编译吗? 好了,你安装这个包,这个是redhat5的哦。这种有三个选择,可以多选.
 
(1.使用wieers 的源
 
你可以自己到http://dag.wieers.com/rpm/FAQ.php#B 这来找# Red Hat Enterprise Linux 5 / i386:
 
rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm# Red Hat Enterprise Linux 5 / x86_64:
 
rpm -Uhv http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS//rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm(2. 使用RPEL 的源
 
这个是RPEL为Fedora类RHEL系统的增强软件包源,也算半官方的源,项目的地址http://fedoraproject.org/wiki/EPEL/FAQ
 
rpm -ivh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm # 这是Centos5(3. 使用CentALT 的源
 
这个是为RHEL 做的增强的源,有最新的如nginx,mysql 之类
 
rpm -ihv http://centos.alt.ru/repository/centos/5/i386/centalt-release-5-3.noarch.rpm(4. ATrpms 的源
 
这个仓库提供了很多使用最新技术的应用程序和像myth-TV这样的多媒体工具,比如多媒体工具会有一些专利技术在,比如mp3/rmvb解码这样的内容,最开始开始主要是提供一些自然科学方面的软件,尤其是高能物理计算和数值计算工具这样的软件。在加入了很多其他软件以后,这个仓库已经不再是以前那么单一性质的软件仓库了。
 
仓库链接: http://atrpms.net/
 
建议使用这个源的稳定stable版本的软件, 如果想试验最新技术,使用bleeding和testing时候自担风险.
 
查看:http://dl.atrpms.net/el5-i386/atrpms/
 
安装方法:
 
首先导入PGP key    
 
rpm --import http://ATrpms.net/RPM-GPG-KEY.atrpms然后配置仓库文件,直接建立一个文件,放在/etc/yum.repos.d/目录下,可以命名成atrpms.repo,内容如下:
 
# Name:ATrpms
# URL: http://atrpms.net/
[atrpms]
name=Fedora Core $releasever - $basearch - ATrpms
baseurl=http://dl.atrpms.net/el5-i386/atrpms/stable/
#baseurl=http://dl.atrpms.net/el5-i386/atrpms/bleeding/
#baseurl=http://dl.atrpms.net/el5-i386/atrpms/testing/
enable=1
protect=0
gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms
gpgcheck=1技巧3:rpm查找.
 
还是有rpm包找不到怎么办,到下面这个网站。基本上都收集全了,你可以用高级查找看看. http://rpm.pbone.net/
 
技巧4:通过yum工具下载RPM源码包
 
前提是有安装yum-utils这个软件包.如果有安装的话
 
yumdownloader  --source  RPM源码包
yumdownloader  --source vsftpd当然,没有源包的话,还要加入一个源
 
[linux-src]
name=Centos $releasever - $basearch - Source
baseurl=http://mirrors.163.com/centos/$releasever/os/SRPMS/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release技巧5:软件组安装
 
有时我们安装完系统,管理有一类软件没有安装,比如用于开发的开发包,我们可以用软件组来安装,这是最建议使用的安装软件的方法。
 
yum grouplist #这样可以列出所有的软件包比如我们要安装开发有关的包
 
yum groupinstall "Development Libraries"
yum groupinstall "Development Tools"技巧6:查询文件和路径是哪个rpm 包套件
 
#文件本地存在
rpm -qf $(which ls)   # 文件本地不存在
yum whatprovides */bin/ls怎么样,上面的方法对你有用吗?