yum使用高级技巧

2011年09月23日 Linux基础 评论 7 条 阅读 13,845 views 次

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

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

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

7 条留言  访客:4 条  博主:3 条

  1. 呵呵,我也来提供一个技巧。当你的系统中没有安装一个工具,但你又不知道这个工具是由那个软件包提供的时候,你可以用如下的命令查找:
    yum provides “*/ssh”
    openssh-clients-5.6p1-34.fc15.1.i686 : An open source SSH client applications
    Repo : updates
    Matched from:
    Filename : /usr/bin/ssh

  2. 除了Nginx之外,其他的我一般源码安装。。。

    • 为什么Nginx用yum安装,而其他的用源码呢?
      希望能谈谈,您对RPM包与源码包安装的理解。比如易用性、性能等等!

      • avatar 柳水无崖

        我一般重要的软件都用源码安装,比如apache(nginx没用过,不好说), php 之类的,这样方便定制,后期能按需增加模块,在安装过程中也能够知道这些软件有哪些作用,用了哪些模块。安装到哪里,并且通过查看./configure –help 明白这些软件有哪些可用的参数模块,哪些性能可调。装好一遍自己能理解不少。而一些依赖包,比较简单的倾向于yum方便快捷的安装。

  3. 内网服务器,比较麻烦了

给我留言

Copyright © 羽飞博客 保留所有权利.   Ality主题 皖ICP备14013844号-1

用户登录