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源
在这个文件中配置了多个镜像列表选取第一个作为例子展示如下:
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
从图中可以看到yum替我们解决了依赖和版本兼容问题。
若想知道yum源中有没有我们要安装的软件,可以通过如下命令查询:
yum search jdk