centos7升级或者安装高版本Cmake
目录
- 目录
- 编译信息
- 说明
- 环境
- 下载解压
- 文件结构
- 卸载
- 安装
- 是否安装成功
编译信息
项目:编译
作者:xzf
创建时间:2021/10/08
更新时间:2021/10/08
说明
cmake升级或者安装。centos系统安装的cmake只有3.3.2版本,但是想要更新的版本于是升级到 3.27.0 版本。
环境
系统:Linux localhost.localdomain 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
cmake版本: 3.27.0
下载解压
#下载
wget https://cmake.org/files/v3.27/cmake-3.27.0-rc2-linux-x86_64.tar.gz
#解压
tar -xvf https://cmake.org/files/v3.27/cmake-3.27.0-rc2-linux-x86_64.tar.gz
文件结构
.
├── bin
│ ├── ccmake
│ ├── cmake
│ ├── cmake-gui
│ ├── cpack
│ └── ctest
├── doc
│ └── cmake
├── man
│ ├── man1
│ └── man7
└── share
├── aclocal
├── applications
├── bash-completion
├── cmake-3.27
├── emacs
├── icons
├── mime
└── vim
记录小知识点:tree的用法
#一级树
tree -L 1
#二级树
tree -L 1
卸载
方法一
一般使用
sudo yum autoremove cmake
#(通常没用,会报)
#Loaded plugins: fastestmirror, langpacks
#No Match for argument: cmake
#No Packages marked for removal
方法二
所以需要到安装目录下把原有的cmake相关的文件夹直接删掉。(或者直接安装会直接替换掉,但可能存在卸载不干净的问题)
一般软件具有四个文文件夹参考上面文件结构。
安装目录:会有所不同,以bin为例
#路径一:系统目录
#usr/bin
#路径二:本地目录
#usr/local/bin
本机环境就安装在usr/local/bin上面
a、根据文件结构二级目录,把usr/local/bin与cmake相关的都删掉即可。(注意旧版本可能没有ccmake、cmake-gui删掉其他三个即可。)或者安装时直接替换也可以。
b、根据文件结构二级目录,把usr/local/doc的cmake文件夹删掉。
c、根据文件结构二级目录,把usr/local/share相关文件夹删掉。(注意旧版本可能那么多文件)
d、把usr/local/share的man相关文件夹删掉。man不是单独目录,而是在share下。
安装
根据卸载的方法,把解压后的文件对应复制到相应位置即可。
对应脚本,不应该直接使用,而是根据版本调整。
#!/bin/bash
echo "start copy"
echo "copy bin"
cp -r bin/* /usr/local/bin/
echo "copy doc"
cp -r doc/* /usr/local/doc/
echo "copy share"
cp -r share/* /usr/local/share/
echo "copy man"
cp -r man /usr/local/share/
echo "stop copy"
把上述脚本命名为install.sh并放到cmake-3.27.0-rc2-linux-x86_64文件夹里
#赋予权限
chmod +x install.sh
#执行脚本
./install.sh
是否安装成功
#输入版本
cmake -version
#提示以下结果就已安装成功
cmake version 3.27.0-rc2
CMake suite maintained and supported by Kitware (kitware.com/cmake).