Redhat/CentOS 软件安装之RPM和YUM

从Windows 转到 Linux的同学,一个比较烦恼的事情就是如何安装软件的问题,在Windows环境中,下载安装程序,双击,下一步,下一步。。。done!基本闭着眼就能完成。  而在Linux下,有时候即使你到了官方下载页面,上面往往也罗列了各种各样的下载链接,比如 Ubuntu RPM包,  Redhat RPM包,  源码文件 (还可能分32bit, 64bit),  Git/SVN源码地址, SRPM包等。 新手往往面对这些选项往往不知所措。 我们就在这里整理一下在Linux (尤其实在Redhat系列产品)上安装软件的方法。

首先要明确的是:

1)不同的软件的安装方法是并不相同的。有的软件只能通过特定的方法来安装。

2) 在不同的Linux发行版本上安装同一个软件的方法也未必相同, 因此有的时候,你在网上找到的在Ubuntu上安装某个软件的方法,也许在CentOS上并不能成功。

为了简化问题,我们这里只讨论Redhat/CentOS/Fedora/SuSE这一系列的软件安装问题 – Debian/Ubuntu的软件安装具体的命令虽略有不同,但原理是一样的。 基本上, Redhat/CentOS安装软件有下面三种方法:

  1. 使用YUM 来在线安装软件,基本和 “软件商店”的概念类似, 只需要在yum的容器中找到相应的软件(rpm包),然后直接安装(或升级)就OK了,过程比较简单。
  2. 下载相应的RPM软件包,然后用RPM命令安装。
  3. 下载软件的源码的Tarball, 在自己的机器上编译和安装。这种方法相对来说比较麻烦。

由于1,2两种方式都是通过编译好的rpm包来安装,我们在这篇文章中一起介绍一下, 编译源码的方式在 Redhat/CentOS安装软件(2) – 源码编译中介绍。 我们这里先来介绍一下RPM ,然后再引出YUM.

RPM

RPM是 Redhat Package Manager的缩写,是Linux上的一种软件打包和管理的工具。 因为Linux的不同发行版(distribution),甚至同一发行版的不同版本之间往往有很多的不同, 开发者在某个Linux发行版下开发和编译的程序,直接放到另外一个Linux下有非常大的可能性无法运行。 因此早期的Linux的软件都是通过源码来分发,使用者基本都是通过在自己的Linux平台上重新编译源代码来安装软件。  但是这种编译源代码的方式比较繁琐和复杂,普通用户往往也难以掌握。后来 Redhat推出了RPM这个软件打包的方式。就是在特定的Linux平台上把软件编译好,然后把与这个软件相关的文件和库打包成一个文件(RPM包), 但需要注意的是: 通常不同的distribution所发布的RPM包往往不能用于其他的Linux的distributions上面。 例如,针对Redhat的RPM包往往无法直接在OpenSUSE上进行安装。因此,在使用RPM方式进行安装的时候,必须选择和你使用的平台一致的RPM安装包。

我们这里举个在Fedora上安装Google Chrome浏览器的例子来说明一下如何用RPM包来安装软件: 首先到Google chrome的官方网站上下载Chrome Browser的rpm安装包。 运行 下面的命令就可以了。

1 rpm -ivh google-chrome-33.xxxx.rpm

几个参数的意义:

-i: install 安装

-v: verbose 显示详细信息

-h: hash 显示安装进度

需要说明的是: 采用rpm来安装软件有不少情况下会出现“软件依赖“的问题, 也就是说在安装软件A的过程中,可能会提示需要某个软件或库文件B,等你安装B的时候,可能又会提示缺少C。出现这种情况会比较痛苦,只能依次安装了。有时候依赖关系太多的话,只能放弃。

说到这里,我们再介绍RPM几个常见的命令和用法。 升级某个软件:

1 rpm -Uvh   abc.xxx.rpm             //abc这个软件的新版本会覆盖原来的版本,如果原来没有安装,直接安装

查询某个软件是否安装

1 rpm -q httpd                    //查询是否安装了apache服务
2 rpm -qa | grep pam              //查询是否安装了包含pam这个名字的软件
3 rpm -qi httpd                   //列出目前安装的apache服务的详细信息
4 rpm -qR httpd                   //列出apache的软件依赖关系

卸载软件

1 rpm -e httpd   //卸载apache

虽然用RPM包来安装软件免去了编译源代码的麻烦,但软件之间的属性依赖问题并没有解决,有的时候,为了安装某个软件,你不得不先要安装N个其他的软件才行。

YUM

为了解决软件依赖的问题,已经为了给用户提供一种更加方便简单的软件安装方法, YUM被开发出来了。 YUM 是Yellowdog Updater Modified 的缩写. YUM 是建立在RPM的基础之上的, 为用户提供软件安装,升级,卸载的功能。YUM最大的好处是解决了软件依赖的问题。YUM 把很多软件的RPM包放在RPM 容器(repository)中, 用YUM 方式来安装软件的时候,会自动分析你要安装的软件的依赖关系,并会自动帮你安装必须的“依赖软件”, 这样就解决了最为困扰用户的软件依赖的问题。

我们先来看一下YUM的基本用法: 查询功能:

1 yum list/search /info   xxx
2  
3 例如:yum list httpd   //检查apache是否已经安装
4  
5 yum info httpd  //查看apache的详细信息, 类似 rpm -qi httpd
6  
7 yum search httpd  //查询和 apache (httpd)相关的软件

安装升级:

1 yum install httpd
2  
3 yum update httpd

卸载软件

1 yum remove httpd

我们再来介绍一下YUM容器(repository)的概念。YUM容器类似一个软件仓库的概念,不但有各个软件的RPM安装包,还记录了他们之间的依赖关系。

我们这里以CentOS的例子来进一步说明 YUM repositories的概念和设置。 进入/etc/yum.repos.d目录中,你可以看到有形如CentOS-Base.repo等若干个repository的文件。 vim  /etc/yum.repos.d/CentOS-Base.repo 内容大致如下

1 [base]                           #repository ID
2 name=CentOS-$releasever - Base               #名字,Human readable name ,
3 mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
4 #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
5 gpgcheck=1
7  
8 #released updates
9 [updates]
10 name=CentOS-$releasever - Updates
11 mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
12 #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
13 gpgcheck=1
15  
16 #additional packages that may be useful
17 [extras]
18 name=CentOS-$releasever - Extras
19 mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
20 #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
21 gpgcheck=1
23  
24 #additional packages that extend functionality of existing packages
25  
26 [centosplus]
27 name=CentOS-$releasever - Plus
28 mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
29 #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
30 gpgcheck=1
31 enabled=0
33  
34 #contrib - packages by Centos Users
35 [contrib]
36 name=CentOS-$releasever - Contrib
37 mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
38 #baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/
39 gpgcheck=1
40 enabled=0

这里具体说明一下, 这个repo文件中实际上包含了多个repository, 其中

[base] [updates]等是 Repository ID,用来标识特定的容器(repository),

name是对这个Repository的说明,仅供我们阅读用

mirrorlist 和baseurl都是用来指明repository的地址,不同的是,采用mirrorlist这种方式,会帮你自动选择一个离你最近的镜像作为你的repository的地址,而baseurl是指定唯一的固定地址。建议使用mirrorlist.

gpgcheck 和gpgkey是用来指定RPM的数字签名证书的,是安全方面的概念,一般不要修改了。

enable = 0/1 是否使用该repository,缺省为1.

这里需要格外提到的一个repository是EPEL (Extra Packages for Enterpriese Linux), 缺省情况下,这个repository有可能是没有安装的,而实际上很多非常有用的软件都位于EPEL这个repository中,因此我还是建议你启用这个repository.

那如何启用epel这个repository呢,当然是在repo文件中增加相关的设置就OK 了。但手动写repo文件实在比较费劲,要查阅各个地址和参数。 还好, epel这个repository可以通过RPM的方式来安装,就省去了你手动写repo文件的麻烦了。现在可以回顾一下本文中关于rpm安装的知识。

1 #for CentOS 6
3 rpm -Uvh epel-release-6-8.noarch.rpm
4  
5 #for CentOS 5
7 rpm -Uvh epel-release-5-4.noarch.rpm

安装完毕后,可以运行 yum repolist来看看epel是否已经启动了。



来源:http://www.androiddev.net/redhat-centos-install-rpm-yum/

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Red Hat上安装yum,可以按照以下步骤进行操作: 1. 首先,下载yum安装包。你可以从yum的官方网站下载,比如:\[1\]中提供的链接。 2. 下载完成后,进入下载目录,并使用以下命令进行安装: ``` sudo rpmbuild --rebuild yum-2.0.8-1.src.rpm cd /usr/src/RedHat/RPMS/noarch/ sudo rpm -ivh yum-2.0.8-1.noarch.rpm ``` 这些命令将会重新构建yum安装包,并将其安装到系统中。\[2\] 3. 最后,使用以下命令安装yum的依赖包: ``` rpm -ivh yum-3.2.22-39.el5.centos.noarch.rpm \ yum-fastestmirror-1.1.16-21.el5.centos.1.noarch.rpm \ yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm ``` 这些依赖包将会提供yum的额外功能和支持。\[3\] 通过按照以上步骤进行操作,你就可以在Red Hat上成功安装yum了。 #### 引用[.reference_title] - *1* *2* [RedHat安装yum的方法总结](https://blog.csdn.net/fox_wayen/article/details/78544678)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [RedHat系统的Yum安装](https://blog.csdn.net/weixin_30446613/article/details/95100324)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值