欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

linux下软件的rpm和yum安装

程序员文章站 2022-03-16 07:56:32
...

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安装

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安装

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

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

yum search jdk