取势 明道 优术

yum高级管理技巧,建议 5,088 views

作者为 发表

IT•技术

      做为一个RHCA,当然有一些管理yum的小技巧.我原来以为别人都会,后来才发现只有自己知道.好东西当然要分享. 另外,我有一些对生产环境安装软件的朋友一些建议.多用rpm,deb之类的包管理安装,不要使用编译安装.原因有以下几点.

  1. 编译安装麻烦,浪费时间.
  2. 你以后可能都不记的编译的参数,你的下一任维护也麻烦.因为他不清楚你当时是用的什么参数编译.这个你的boss可关心着哦.
  3. 当然,有人一定会讲,编译性能高,其实不见的,出问题的机会也高哦,在讲一个程式性能提高3%有什么用.其实没有多少用.当然,你用LFS的系统做生产环境,那就有分别,因为你任何一个包都是自己编译的.相信你不会吧.
  4. rpm -qf 可以查到那个文件是那个包,要是有一天,你的系统中有个文件坏了.你可以用rpm这个方法一下找出一,但你用编译安装,你就头痛了,天啊,这个包是那个软件生成的啊.呵呵.
  5. 安全问题,提升权限什么都需要 gcc 之类的编译环境,如果你编译安装就会需要这些.
  6. 我不愿意从源程式安装.不是因为难.相反的,蛮容易.只是,我不愿意搞乱我的系统.如果我将从来源安装的程式更新,常常会发生的问题是还有一些档案没有被删除的干净.有时候这种情况会产生问题.如果要删除这个程式,你怎么保证所有被安装的档案都被删除?  尽可能,我宁愿用 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

rpm -Uhv http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

(2. 使用 RPEL 的源

这个是RPEL为Fedora类RHEL系统的增强软件包源,也算半官方的源,项目的地址http://fedoraproject.org/wiki/EPEL/FAQ

rpm -Uvh http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm # 这是 Centos5 
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm # 这是 Centos6


(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 

最新的 Perl 的 rpm 源地址
这个源有一些最新的东西.象最新的 Perl ,不过名字在这叫 local-perl 不过还是相当好用的. Centos 5 和 6 都有

 wget https://packages.endpoint.com/endpoint-rpmsign.pub
 rpm --import endpoint-rpmsign.pub

rhel5 的配置

wget https://packages.endpoint.com/rhel/5/os/x86_64/endpoint-repo-1.0-2.x86_64.rpm 
yum localinstall endpoint-repo-1.0-2.x86_64.rpm

rhel6 的配置

wget https://packages.endpoint.com/rhel/6/os/x86_64/endpoint-repo-1.6-1.x86_64.rpm 
yum localinstall endpoint-repo-1.6-1.x86_64.rpm

 

技巧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

怎么样,上面的方法对你有用吗?

来了就留个评论吧! 8个评论



    zhouzhou 2010年08月18日 的 16:06

    这里也是一个RPM扩展包的网站
    https://rpmrepo.org/RPMforge/Using

    rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm

    但感觉里面的RPM跟dag.wieers.com里的是一样的。。。

    Blinux 2010年11月3日 的 07:21

    好文章啊,凯

    Nicolas 2011年12月11日 的 11:21

    惭愧啊,楼主07年发的,我现在才看到