红帽系统下安装软件的方法

news/2025/2/19 8:49:18/

从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
6 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
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
14 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
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
22 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
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
32 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
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
41 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

这里具体说明一下, 这个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
2 wget http://epel.mirror.net.in/epel/6/i386/epel-release-6-8.noarch.rpm
3 rpm -Uvh epel-release-6-8.noarch.rpm
4  
5 #for CentOS 5
6 wget http://epel.mirror.net.in/epel/5/i386/epel-release-5-4.noarch.rpm
7 rpm -Uvh epel-release-5-4.noarch.rpm

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


http://www.ppmy.cn/news/554285.html

相关文章

小红帽

Description 有一群喜欢带小红帽的家伙举行了一场别开生面的聚会,然而某些人被邪恶的WM讲帽子上涂了大灰狼的图标,可是每个人看不到自己头上的帽子有没有被涂,他们只能看到其他人头上的帽子是不是大灰狼的图案,现在告诉你每个人看…

linux 红帽 服务dns,Linux小红帽搭建dns服务器

DNS(Domain Name System,域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名…

(红帽系统)redhat7.2 相关服务器配置

远程连接服务器配置 简介 使用SSH可以在本地主机和远程服务器之间进行加密的传输数据,实现数据的安全传输。而OpenSSH是SSH协议的免费开源实现,它采用安全加密的网络连接工具代替了telnet、ftp等 实现步骤 第一步 进入红帽系统 第二步 检查安装系统时…

【Linux】红帽子安装过程超详细(学生教学用)

1.创建新的虚拟机 2.选择自定义 3.选择默认的兼容性即可 4.这一步很关键,选择稍后安装虚拟机系统 5.选择linux和你的版本 6.选择你的位置,选一个空的文件夹,不建议安装在c盘 7.选内核,根据你的电脑来吧,最多别超过电脑…

让我来教你如何免费使用RHEL小红帽系统

RHEL安装注册过程中遇到的问题 从开始注册到正常使用如何获取正版RHEL注意事项 VMware虚拟机下载安装安装中出现的问题 从开始注册到正常使用 答主是个动手能力比较强的人 ,所以当老师讲到Linux的时候 ,我就已经掌握了Linux的概念和基本操作了。但在这个…

小红帽系统软件源的配置

先 简单了解一下 什么是 /etc/yum 转载自:http://linux.alai.net/viewblog.php?id87540 首先认识一下yum的配置文件 /etc/yum.conf 用命令# cat /etc/yum.conf cachedir: 缓存目录 keepcache: 确定缓存文件是否保存,0表示不保存,否则保存 debuglevel:??调试级别…

小红帽的大学时光

听听我的大学故事, 在一个2019年炎热的盛夏,刚刚结束完春考,放完半年假的“我”,半年中,我进过富士康很多人和我的年纪相仿,他们放弃了图书,选择了进厂,这里不看学历,不…

7-17 小红帽与大灰狼的故事

7-17 小红帽与大灰狼的故事(20 分) 从前有个可爱的小姑娘叫小红帽。一天,小红帽蹦蹦跳跳的要 去奶奶家看望奶奶,奶奶住在村子外面的森林里,离小红帽家 有很长一段路。小红帽刚走进森林就碰到了一条狼。小红帽并 不…