一、搜索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. Python关键字yield的解释

    yield 是一个类似 return 的关键字,只是这个函数返回的是个生成器. >>> def createGenerator() : ... mylist = range(3) . ...

  2. android模拟器网络设置(局域网)

    Android模拟器如何设置DNS访问局域网内网站 我们需要用到android-sdk开发包中adb shell指令 见下图

  3. Core Data使用之一(Swift): 获取

    //获取entity中的数据 func fetchFiles() { //第一步,获取总代理 let appDelegate = UIApplication.sharedApplication().d ...

  4. 让表格table呈现边框,不用给tr、td加边框的写法

    <table width="100%" cellspacing="1" cellpadding="1" bgcolor="# ...

  5. 如何使用PDO查询Mysql来避免SQL注入风险?ThinkPHP 3.1中的SQL注入漏洞分析!

    当我们使用传统的 mysql_connect .mysql_query方法来连接查询数据库时,如果过滤不严,就有SQL注入风险,导致网站被攻击,失去控制.虽然可以用mysql_real_escape_ ...

  6. sql server停止和重启命令

    http://www.ynpxrz.com/n822732c2024.aspx 我们知道:sql server重启分分两步走 1.停止 net stop mssqlserver 2.重启 net st ...

  7. 使用Flex构建Web和移动参考应用程序

    范例文件 Shopping Cart Sales Dashboard Expense Tracker 需要的其他产品 Android 2.2及更高版本或Android 3.0及更高版本的设备 仅仅在F ...

  8. 马丁 福勒 Martin Fowler 关于依赖注入和反转控制的区别

    马丁 福勒 Martin Fowler 关于依赖注入和反转控制的区别 http://martinfowler.com/articles/injection.html 中文翻译:http://files ...

  9. Linux系统监控命令

    1. uptime: 负载监控,w命令更好地显示当前登录用户数的信息 2.top: 相当于uptime,提供了负载平均值的快照 (1)第一行: up 48days: 系统运行时间 2 users: 当 ...

  10. 巧用css text-indent减小中文标点符号的占位大小

    由于设计需要,我们的页面中经常会有如下效果: 可是我们实现出来的效果确实这样的: 看起来两行文本没有对齐嘛,仔细检查后原来是[字符的原因,因为是中文标点符号占半个字的位置.不信?选中下汉字标点符号看一 ...