linux下软件的rpm和yum安装

rpm安装

RPM[ 是RPM Package Manager(RPM软件包管理器)的缩写。这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。

RPM主要功能:

  • 安装、卸载、升级和管理软件
  • 组件查询功能
  • 验证功能
  • 软件包GPG和MD5数字签名的导入、验证和发布
  • 软件包依赖处理
  • 选择安装
  • 网络远程安装功能

    rpm 命令:遵循GPL协议且功能强大的包管理,它可以建立、安装、请求、确认、和卸载软件包。间接的提升了Linux 的易用性

rpm软件包的来源:

  • 1、软件包的对应官网
  • 2、镜像站点

对于.rpm包的安装,我们以安装JDK为例,将官网下载好的jdk安装包:jdk-7u79-linux-x64.rpm 先放入/opt目录下,输入命令:

首先要检查是否安装了这个包:

rpm -qa | grep jdk

对于rpm的查询,有以下命令:

  • rpm -q PACKAGE_NAME: 查询指定的包是否已经安装
  • rpm -qa : 查询已经安装的所有包
  • rpm -qi PACKAGE_NAME: 查询指定包的说明信息;
  • rpm -ql PACKAGE_NAME: 查询指定包安装后生成的文件列表;
  • rpm -qc PACEAGE_NEME:查询指定包安装的配置文件;
  • rpm -qd PACKAGE_NAME: 查询指定包安装的帮助文件;
  • rpm -q –scripts PACKAGE_NAME: 查询指定包中包含的脚本
  • rpm -qf /path/to/somefile: 查询指定的文件是由哪个rpm包安装生成的;

若没有安装,可以执行下面的安装命令安装已经下载的软件包,尤其注意软件包安装的时候依赖问题、或者版本兼容问题,这两个问题很常见,对于软件包的依赖和版本兼容问题,在centos中可以使用yum,它可以很好的解决依赖和版本问题(后面提到)。接下来输入安装命令:

rpm -ivh jdk-7u79-linux-x64.rpm 
  • i install代表安装
  • h: 以#显示进度;每个#表示2%;
  • v: 显示详细过程
  • vv: 更详细的过程

    这个包中的软件是已经编译后的软件,并对其中的安装目录做好了设置,所以在安装时不用指定安装目录,通过以下命令可以看到jdk安装到了哪里:

rpm -ql jdk-7u79-linux-x64.rpm

可以看到jdk都安装到了/usr/java/jdk1.7.0_79 这个目录,最后要配置jdk的环境变量:

在/etc/profile或者~/.bash_profile文件中加入如下两个环境变量的配置信息:
若在/etc/profile 中配置环境变量,对所有用户起作用,若在~/.bash_profile中配置,只对当前登录用户起作用

export JAVA_HOME=/usr/java/jdk1.7.0_79
export PATH=$PATH:$JAVA_HOME/bin

保存之后输入如下命令 使配置起作用

source ~/.bash_profile

JAVA_HOME的目录就是我们之前查看到的rpm指定的jdk的安装目录
保存后退出 通过如下命令可以检查jdk是否安装完成:

java -version

安装成功会打印jdk的版本信息以及虚拟机信息

rpm也可以对软件进行更新和卸载:
升级
rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE: 如果装有老版本的,则升级;否则,则安装;
rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE:如果装有老版本的,则升级;否则,退出;

卸载
rpm -e PACKAGE_NAME

yum Yellow dog Updater, Modified

上面说到了yum,这个是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

在/etc/yum.repos.d/CentOS-Base.repo 目录中配置了yum的下载源,这里面指定了你可以从哪里下载软件,可以配置镜像网站的下载源,也可以指定本地的yum源

在这个文件中配置了多个镜像列表选取第一个作为例子展示如下:

linux下软件的rpm和yum安装_第1张图片

yum源配置
[Repo_ID]
name=Description
baseurl=
ftp://
http://
file:///
enabled={1|0} 指定当前源是否可以用 1可用 0不可用
gpgcheck={1|0} 每次使用 yum install 下载镜像网站中的软件都会对key进行校验 1开启校验 0不校验,当配置本地yum源后, 可以设置不校验,这是下面的key值就不起作用,
gpgkey= 校验的key值
mirrorlist 和baseurl都中指定了镜像网站的 软件的下载地址

其中http://mirror.centos.org/centos-6/6.8/os/x86_64/Packages/ 6.8之前的版本中已经不维护了,这里在这个目录下看到所有yum源的信息。

通过如下命令可以看看yum在安装时都做了些什么

yum install httpd //安装httpd

linux下软件的rpm和yum安装_第2张图片

从图中可以看到yum替我们解决了依赖和版本兼容问题。

若想知道yum源中有没有我们要安装的软件,可以通过如下命令查询:

yum search jdk

你可能感兴趣的:(linux)