您的位置:首页 > 运维架构 > Linux

RHEL/CentOS下的yum的使用

2012-11-27 21:20 429 查看
Linux的软件安装方式有几种,一种是tarball形式。即软件以源码压缩包的形式,如tar.gz,或tar.bz2安装,这是最保险的机制。一般是configure/make/make install即可安装成功。
这种方式是缺点是如果是依赖库比较多,则要把库也要同样方式编译安装,特别了引用了GTK等图形界面的程序,需要编译大量库。这种方法比较合适专业的开发人员。
所以自Redhat早期版本开始,提供了编译好的二进制包 rpm安装包形式。简单用rpm这个工具就能把编译好*.rpm后缀程序安装或卸载。而且能使用图形界面来操作,这样跟Windows类似的界面让Linux安装和卸载程序不再成一般使用者头痛的问题。

rpm问题与tarball类似,就是一个rpm包,需要其它的rpm包依赖包,一时很难找到,而且一般依赖还有一个版本问题,即必须要合适的版本的依赖库的rpm包,才能安装应用程序。因此如果找到合适库的rpm成为最头痛的问题。

Linux的debian版本,有一个比较方便的apt可以从网络进行安装。它原因是当你用网络安装一个应用程序时,apt除了从网上查找应用程序的安装包,还会自动查找它的依赖包进行安装。一切都是自动进行。采用debian做为底层的Unbuntu也采用apt来网络安装程序,但是它安装是.deb格式二进制程序,

的RHEL采用类似的机制yum.来安装rpm包。
yum 是 Yellow dog Updater, Modified的缩写.
它相对于apt更加灵活。一是配置文件简单,二是可以从多种安装源安装(HTTP,FTP和本地光盘)

yum的配置文件有两处,一处是/etc/yum.conf,另一处就是/etc/yum.repos.d/ 保存着安装源信息,这一目录下所有.repo文件将被当做安装源来处理。

在yum.repos.d的配置文件可以配多个源,每一个源是一个段。在yum安装依次使用这一些源。
每一个源的服务器(FTP/HTTP/本地文件)必须有一个repodata目录,里面用一个xml文件记录的源服务器安装包信息。

你可以在安装时,用yum --enablerepo=c5-media 来指定某一个段的源安装

-.RHEL5使用yum
----------------------------------------------------------------

其默认的配置

/etc/yum.conf
,基本上无需改变

[main]

cachedir=/var/cache/yum

keepcache=0

debuglevel=2

logfile=/var/log/yum.log

pkgpolicy=newest

distroverpkg=redhat-release

tolerant=1

exactarch=1

obsoletes=1

gpgcheck=1

plugins=1

metadata_expire=1800

# PUT YOUR REPOS HERE OR IN separate files named file.repo

# in /etc/yum.repos.d

"/etc/yum.repos.d/rhel-debuginfo.repo使用RDHAT的相关源,使用时需要把enabled=1

[rhel-debuginfo]

name=Red Hat Enterprise Linux $releasever - $basearch - Debug

baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/$basearch/Debuginfo/

enabled=0

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
这是每段最重要是baseurl .它将使用是的ftp上的源码

使用本地光盘作为yum源
建立任意的 /etc/yum.repos.d/*.repo
在其中建立一个段
其中baseurl="file:///光盘mount目录。enabled=1

[Cluster]

name=Red Hat Enterprise Linux $releasever - $basearch - Cluster

baseurl=file:///media/rhel/Cluster

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[ClusterStorage]

name=Red Hat Enterprise Linux $releasever - $basearch - ClusterStorage

baseurl=file:///media/rhel/ClusterStorage

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[Server]

name=Red Hat Enterprise Linux $releasever - $basearch - Server

baseurl=file:///media/rhel/Server

enabled=1


gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[VT]

name=Red Hat Enterprise Linux $releasever - $basearch - VT

baseurl=file:///media/rhel/VT

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

2.将光盘可用
mkdir -p /media/rhel
mount /dev/cdrom /media/rhel

# mount -o loop rhel-5-server-i386-dvd.iso /media/rhel
如果需要开机自动mount可以,编译/etc/fstab 加入如下一行
/dev/cdrom /media/rhel iso9660 ro 0 0

使用第三方源

[source]

name=source

baseurl=<URL>

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

这一些源可以是FTP/HTTP地址。要示源目录上必须repodata/*.xml

以下是一个网上大家常用可用源

[dag]

  name=Dag RPM Repository for RHEL5

  baseurl=http://ftp.riken.jp/Linux/dag/redhat/el5/en/$basearch/dag/

  enabled=1

  gpgcheck=1

  gpgkey=http://ftp.riken.jp/Linux/dag/packages/RPM-GPG-KEY.dag.txt
二.CentOS使用yum
----------------------------------------------------------------
使用本地光盘作为yum源

假设光盘Mount在 /media/CentOS上。

[CentOS]

name=CentOS

baseurl=file:///media/CentOS/

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release



其余跟RHEL相同

国内较快的CentOS yum源RHEL可用
http://centos.ustc.edu.cn/CentOS-Base.repo.5

首先在RHEL 使用把这个文件里的http://centos.ustc.edu.cn/centos/$releasever全部置换成
http://centos.ustc.edu.cn/centos/5.(因为服务器路径发现变化)

或下面现成的。



文件:CentOS-Base.repo.zip
大小:0KB
下载:下载
然后把这个文件拷贝到/etc/yum.repos.d成一个repo后缀的文件

三.yum的使用
----------------------------------------------------------------

在RHEL5下首选http://ftp.riken.jp/Linux/dag/redhat/el5/en/$basearch/dag/
在CentOS首选中科大的 http://centos.ustc.edu.cn/centos/5

1.调整yum

第一次使用yum需要在RHN注册。否则运行yum会提示
This system is not registered with RHN.

RHN support will be disabled.


不注册想升级,安装一个不需要验证的yum版本.

rpm -qa yum

rpm -e yum-3.0.5-1.el5 #删除yum
下载无需验证的http://ftp.nara.wide.ad.jp/pub/Linux/centos/5.1/os/x86_64/CentOS/yum-3.0.5-1.el5.centos.5.noarch.rpm
rpm -ivh yum-3.0.5-1.el5.centos.5.noarch.rpm

每一个源如果想使用导入key.
rpm --import http://ftp.sjtu.edu.cn/centos/5/os/i386/RPM-GPG-KEY-CentOS-5
2.yum命令
yum clean all #清除缓冲

yum list #列出所有可安装包

yum install <package> #安装指定包
yum remove <package> #卸载指定包

yum update <package> #更新指定包

yum list <packet> #列出包相关信息

3.常见错误处理

运行提示.Existing lock /var/run/yum.pid: another copy is running. Aborting.
处理
rm -f /var/run/yum.pid
service yum-updatesd stop
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: