[Linux 软件包管理] yum高级管理技巧,建议

Dec 21st, 2007

转载本站文章请注明,转载自:扶凯[http://www.php-oa.com]

本文链接: http://www.php-oa.com/2007/12/21/centos-yum.html

      做为一个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

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

Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪 ViVi 365Key 网摘 天极网摘 和讯网摘 博拉网 POCO 网摘 饭否 QQ 书签 Digbuzz 我挖网 Mister Wong
  1. zhouzhou
    Aug 18th, 2010 at 16:06
    Reply | Quote | #4

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

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

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

  2. Blinux
    Nov 3rd, 2010 at 07:21
    Reply | Quote | #5

    好文章啊,凯

  3. Nicolas
    Dec 11th, 2011 at 11:21
    Reply | Quote | #8

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