一、搜索yum源中的CMake,查看源中最新的版本是什么,使用命令[root@localhost ~]# yum search cmake ,如果搜索出的结果过多可以配合grep命令来控制搜索结果。

[root@localhost ~]# yum search cmake
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirrors.yun-idc.com
* extras: ftp.sjtu.edu.cn
* updates: ftp.sjtu.edu.cn
============================================== N/S Matched: cmake ================================================
 cmake-gui.i686 : Qt GUI for cmake cmake.i686 : Cross-platform make system Name and summary matches only, use "search all" for everything.
[root@localhost ~]#

二、查看yum源中的cmake版本

[root@localhost ~]# yum list cmake | grep cmake
cmake.i686 2.8.12.2-.el6 @base
[root@localhost ~]#

三、查看yum源中的cmake安装包的cmake二进制文件(即:cmake命令)安装到系统中的真实目录,安装后可以通过which或whereis命令查看。

[root@localhost ~]# yum provides */cmake
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirrors..com
* extras: mirrors..com
* updates: mirrors..com
:kdelibs-devel-4.3.-.el6.i686 : Header files for compiling KDE applications
Repo : base
Matched from:
Filename : /usr/share/kde4/apps/cmake ...... soprano-2.3.-1.2.el6.i686 : Qt wrapper API to different RDF storage solutions
Repo : base
Matched from:
Filename : /usr/share/soprano/cmake cmake-2.8.12.2-.el6.i686 : Cross-platform make system
Repo : base
Matched from:
Filename : /usr/share/cmake/completions/cmake
Filename : /usr/share/cmake
Filename : /usr/bin/cmake [root@localhost ~]#

从上面的记录可知yum源中的cmake包中的cmake命令会安装在/usr/bin目录,在yum安装jdk时javac和java等命令其实不是在/usr/bin 目录下。

执行命令 yum provides */javac 或 yum provides */java 结果如下:

[root@localhost ~]# yum provides */javac
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirrors..com
* extras: mirrors..com
* updates: mirrors..com
:java-1.7.-openjdk-javadoc-1.7.0.99-2.6.5.1.el6.noarch : OpenJDK API Documentation
Repo : base
Matched from:
Filename : /usr/share/javadoc/java-1.7.-openjdk/jdk/api/javac ...... :java-1.8.-openjdk-devel-1.8.0.121-.b13.el6_8.i686 : OpenJDK Development Environment
Repo : installed
Matched from:
Filename : /usr/lib/jvm/java-1.8.-openjdk-1.8.0.121-.b13.el6_8.i386/bin/javac [root@localhost ~]#

发现其实是安装到/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.121-0.b13.el6_8.i386/bin 目录下

1:java-1.8.0-openjdk-devel-1.8.0.121-0.b13.el6_8.i686 : OpenJDK Development Environment
Repo : installed
Matched from:
Filename : /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.121-0.b13.el6_8.i386/bin/javac

但是使用which和whereis命令查看发现是 /usr/bin目录,为啥?原因是通过alternatives映射,第五步中会有详细解释。

[root@localhost ~]# which javac
/usr/bin/javac
[root@localhost ~]# whereis javac
javac: /usr/bin/javac /usr/share/man/man1/javac.1.gz
[root@localhost ~]#

四、执行yum -y install cmake 命令安装 cmake-2.8.12.2-4

[root@localhost ~]# yum -y install cmake
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirrors.yun-idc.com
* extras: ftp.sjtu.edu.cn
* updates: ftp.sjtu.edu.cn
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package cmake.i686 :2.8.12.2-.el6 will be installed
--> Finished Dependency Resolution Dependencies Resolved ===================================================================================================================
Package Arch Version Repository Size
===================================================================================================================
Installing:
cmake i686 2.8.12.2-.el6 base 8.0 M
Transaction Summary
===================================================================================================================
Install        Package(s)

Total download size: 8.0 M
Installed size: M
Downloading Packages:
cmake-2.8.12.2-.el6.i686.rpm | 8.0 MB :
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : cmake-2.8.12.2-.el6.i686 /
Verifying : cmake-2.8.12.2-.el6.i686 / Installed:
cmake.i686 :2.8.12.2-.el6 Complete!
[root@localhost ~]#

查看是否安装成功使用命令yum命令或rpm命令都是可以的如下:

使用yum 命令查看

[root@localhost ~]# yum list installed | grep cmake
cmake.i686 2.8.12.2-.el6 @base
[root@localhost ~]#

已经安装成功了。

使用rpm命令查看

[root@localhost ~]# rpm -qa | grep cmake
cmake-2.8.12.2-.el6.i686
[root@localhost ~]#

也是可以的。

五、配置环境变量,通过上面的第三步的yum provides */cmak 命令可以看到cmke命令确实是安装在 /usr/bin 目录下所以不需要独配置环境变量直接执行cmake -version 查看cmake版本,源码安装的cmake如果指定了--prefix=xxx 时是需要配置环境变量的。

[root@localhost ~]# cmake -version
cmake version 2.8.12.2
[root@localhost ~]#

也不是所有采用yum安装的程序都会可执行二进制文件都会默认安装到 /usr/bin 下,例如yum安装jdk时可执行的二进制文件或命令都放在/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.121-0.b13.el6_8.i386/bin 下,执行java -version 也是可以的,为什么?因为在alternatives中注册,在/etc/alternatives目录下会产生一些链接到/usr/lib/jvm/中刚安装好的jdk版本。

===================================================================================================================

注:因为采用yum安装jdk,系统考虑到多版本的问题,会用alternatives进行版本控制。开始,相应版本的jdk安装在/usr/lib/jvm/之后,会在alternatives中注册,在/etc/alternatives目录下会产生一些链接到/usr/lib/jvm/中刚安装好的jdk版本。链接如下:

/usr/bin/java -> /etc/alternatives/java
/etc/alternatives/java -> /usr/lib/jvm/jre-1.8.0-openjdk.i386/bin/java

为什么?

因为在/usr/bin下面会有链接到/etc/alternatives的相应的文件。通过ls -l 命令查看映射关系。使用ls命令查看文件如果查看指定文件名并且不止一个文件时ls -l [file1 file2 file3 ...]

[root@localhost bin]# ls -l  /usr/bin/java /usr/bin/javac
lrwxrwxrwx. root root Feb : /usr/bin/java -> /etc/alternatives/java
lrwxrwxrwx. root root Feb : /usr/bin/javac -> /etc/alternatives/javac
[root@localhost bin]# ls -l /etc/alternatives/java /etc/alternatives/javac
lrwxrwxrwx. root root Feb : /etc/alternatives/java -> /usr/lib/jvm/jre-1.8.-openjdk.i386/bin/java
lrwxrwxrwx. root root Feb : /etc/alternatives/javac -> /usr/lib/jvm/java-1.8.-openjdk.i386/bin/javac
[root@localhost bin]#

根据上面的信息追踪发现/usr/bin/java 下的java二进制命令是通过alternatives映射到了/usr/lib/jvm/jre-1.8.0-openjdk.i386/bin下的java二进制文件。

这样,java命令不用设置环境变量,就可以正常运行了。但如果对于tomcat或其他软件来说还是要设置环境变量。
同样,如果安装新的版本jdk,就会重新链接到最新安装的jdk版本。当然,也可以使用alternatives修改所要使用的版本。

使用yum安装cmake的更多相关文章

  1. centos6.5 安装cmake 3.3.2

    os:centos6.5 cmake版本:3.3.2 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 下载cmake 使用wget工具 ...

  2. linux下安装cmake和mysql遇到的问题总结

    首先是在安装cmake的过程中遇到的问题: 1.開始使用yum命令安装时,不知道为什么一直不行,然后就准备wget 来先下载压缩包,再手动编译. 因为网络限制,wget不能下载外网的东西一直显示con ...

  3. 给没有连接因特网的centos使用yum安装其他软件。

    在centos上,使用yum安装软件很方便,比如安装gcc,java等, 但是在没有网络的情况下呢? 我之前就碰到过这么一个问题,在一个没有外网的环境内,我需要安装GCC等工具, 然后有人推荐我先去其 ...

  4. 三、安装cmake,安装resin ,tars服务,mysql 安装介绍,安装jdk,安装maven,c++ 开发环境安装

    三.安装cmake,安装resin 2018年07月01日 21:32:05 youz1976 阅读数:308   开发环境说明: centos7.2 ,最低配置:1核cpu,2G内存,1M带宽 1. ...

  5. Yum安装Zabbix4.2.0

    目录 1. 下载所需的存储库 2. 安装zabbix 3. 安装mysql 4. 配置数据库 5. 基本配置 6. zabbix配置文件 7. 进入web安装zabbix 1. 下载所需的存储库 # ...

  6. centos 安装cmake 3.3.2

    先卸掉本身自带的 cmake 2.8 yum remove cmake cmake版本:3.3.2 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-deve ...

  7. centos yum安装及手动编译ettercap

    眼下流行的软件包有二种形式 ,一种是以rpm包,deb包为代表的智能安装包.还有一种是以file.tar.gz形式的压缩 一 智能安装 以 mysql为例 yum search mysqld 二 手动 ...

  8. yum安装软件并保留下载的软件

    使用yum插件downloadonly下载安装软件需要的依赖包并保留到指定的文件 安装yum-downloadonly或 yum-plugin-downloadonly 软件包. yum instal ...

  9. CentOS 下安装 Cmake 步骤

    最近在虚拟机中的 CentOS 中安装 Cmake.把安装步骤记录在此. 什么是 Cmake CMake 是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程).他能够输出各 ...

随机推荐

  1. Zend Framework Module之多模块配置

    摘要:该文将为大家简单介绍一下如何使用zend framework创建模块化的应用程序. zend framework对多模块的支持是很好的,但是可能是由于功能太过强大的缘故,部署起来并不是很容易.许 ...

  2. windows(win10)下的mysql解压版安装

    1. 到mysql官网 下载mysql : http://dev.mysql.com/downloads/mysql/   ,会提示登陆,注册一个就行了,公司名什么的随便填. 注意区分32,64位.我 ...

  3. js控制div显示与隐藏

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. jenkins用户权限配置错误,导致登录时提示:没有Overall/read权限

    jenkins用户权限配置错误,导致登录时提示:没有Overall/read权限 由于初次接触jenkins,于是在搭建好jenkins以后,想要对用户进行管理,于是乎开始在系统管理->conf ...

  5. EasyUI datagrid 删除的时候无法正确找到重复记录row index的问题

    EasyUI datagrid 删除的时候无法正确找到重复记录row index的问题: 如果无法正确找到重复记录的row index,就需要进行注意添加的时候所进行的 操作:如果添加的时候就是添加的 ...

  6. 干货!手把手教你如何使用第三方通讯服务实现LayIM Socket组件开发。

    前言 之前写了一系列的文章,是关于使用ASP.NET SignalR技术实现LayIM的功能对接,有兴趣的同学移步:http://www.cnblogs.com/panzi/p/5767095.htm ...

  7. [Machine Learning] 深度学习中消失的梯度

    好久没有更新blog了,最近抽时间看了Nielsen的<Neural Networks and Deep Learning>感觉小有收获,分享给大家. 了解深度学习的同学可能知道,目前深度 ...

  8. [译]如何定义python源文件的文件编码

    简介 这篇文章是为了介绍定义python源文件文件编码的方法.python解释器可以根据所指定的编码信息对当前文件进行解析.通常来说,这种方法可以提高解析器对Unicode编码的源文件的识别,并且支持 ...

  9. shell 脚本浅入

    最常用的Linux命令和工具 目录下个文档:cd name 返回上个目录:cd .. 查看.编辑文本文件:查看文件:more, tail 编辑文件:vi 如编写脚本.sh vi shell.sh ...

  10. js 全选/取消

    平时常用一个小功能 var check_all = document.getElementsByName('student_box'); var check_flag = true; function ...