ubuntu源碼安裝cmake

今天源碼安裝mysql8的時候提示cmake版本過低(至少大於3.5),而apt安裝包最新版也只有2.8,於是手動安裝cmake。
在這裏插入圖片描述

1.源碼安裝

首先來看一下apt-get安裝的cmake在哪裏
在這裏插入圖片描述
查看執行文件的位置
在這裏插入圖片描述
解壓下載的cmake-3.9.1.tar.gz.進入目錄,看到兩個綠色文件(bootstrap和configure)
在這裏插入圖片描述

1.1如果不指定安裝直接執行

./ bootstrap   或  ./ configure

然後make && make install 編譯安裝,最後查看版本
在這裏插入圖片描述
想要刪除的話在源碼包下執行
make unintall
在這裏插入圖片描述
所以不卸載源碼包的好處就是當卸載程序的時候會自動刪除各個目錄對應的文件,如果刪除了源碼包就要手動一個個刪了,當然如果指定了所有文件的安裝指向一個共同的位置源碼包是可以刪除的。

1.2下面是指定安裝目錄

./bootstrap指定安裝目錄方式(需要配置環境變量)
Directory and file names:
–prefix=PREFIX install files in tree rooted at PREFIX #安裝二進制程序的目錄位置,不指定就默認安裝到/usr/local/bin等文件夾。
[${cmake_default_prefix}]
–datadir=DIR install data files in PREFIX/DIR     #安裝共享文件的位置,不指定默認安裝到/usr/local/share下。
[/share/CMake]
–docdir=DIR install documentation files in PREFIX/DIR #安裝幫助文檔的位置,不指定默認安裝到/usr/local/doc下。
[/doc/CMake]
–mandir=DIR install man pages files in PREFIX/DIR/manN #頁面文件不指定安裝路徑默認安裝到/usr/local/man下。
[/man]
指定安裝位置 ./bootstrap --prefix=/usr/local/sbin/cmake,(我選擇他是因爲他在path變量裏面,而且裏面爲空)

./configure指定安裝目錄方式(需要配置環境變量)
Directory and file names:
–prefix=PREFIX install files in tree rooted at PREFIX
[${cmake_default_prefix}]
–datadir=DIR install data files in PREFIX/DIR
[/share/CMake]
–docdir=DIR install documentation files in PREFIX/DIR
[/doc/CMake]
–mandir=DIR install man pages files in PREFIX/DIR/manN
[/man]

在/usr/local/下創建目錄cmake-3.9.1,所有的東西都安裝在這個文件夾裏
進入源碼安裝目錄執行

 ./bootstrap --prefix=/usr/local/cmake-3.9.1   --datadir=/usr/local/cmake-3.9.1   --docdir=/usr/local/cmake-3.9.1 
 --mandir=/usr/local/cmake-3.9.1 

查看是否配置好
在這裏插入圖片描述
開始編譯安裝 make && make install ,將所有文件安裝到指定的目錄。
在這裏插入圖片描述
切換爲root權限,安裝成功
查看一下安裝地點,統一安裝在/usr/local/cmake-3.9.1下
在這裏插入圖片描述
這個時候查看版本發現沒有用,還是原來的版本,因爲還沒有配置環境變量
在這裏插入圖片描述
這裏我們把這個環境變量用於所有用戶:sudo vi /etc/profile
加入:
export PATH=<你要加入的路徑>:$PATH
保存後 重啓配置 source /etc/profile
終端輸入:echo $PATH 可以查看環境變量
在這裏插入圖片描述
查看版本 安裝成功。
在這裏插入圖片描述

2.binary包安裝

直接下載,查看目錄可以看到跟前面編譯好的目錄一樣
在這裏插入圖片描述
將壓縮包的文件提取到比較合適的位置後,就是配置環境變量了,這一點最關鍵,因爲本身官方的二進制包不需要我們手動去編譯安裝了,解壓即安裝。

配置環境變量

1.打開.bashrc文件進行配置

gedit ~/.bashrc

2.在末尾添加如下的內容
export PATH=/home/用戶名/cmake-3.8.2-Linux-x86_64/bin:$PATH

我的是
export PATH=/home/node1/cmake-3.12.0-Linux-x86_64/bin:$PATH

在這裏插入圖片描述
3.接着在終端source一下.bashrc文件

source ~/.bashrc

.bashrc_
這個隱藏文件主要保存個人的一些個性化設置,如命令別名、路徑等。也即在同一個服務器上,只對某個用戶的個性化設置相關。
關於環境變量,參考https://www.cnblogs.com/lovychen/p/10911699.html

4.查看版本
在這裏插入圖片描述
如果不想要了這個版本直接刪除安裝包
在這裏插入圖片描述
然後把.bashrc裏的環境變量刪除,就能回到apt安裝的包
在這裏插入圖片描述

正常的編譯安裝/卸載:

源碼的安裝一般由3個步驟組成:配置(configure)、編譯(make)、安裝(make install)。

configure文件是一個可執行的腳本文件,它有很多選項,在待安裝的源碼目錄下使用命令./configure –help可以輸出詳細的選項列表。

其中–prefix選項是配置安裝目錄,如果不配置該選項,安裝後可執行文件默認放在/usr /local/bin,庫文件默認放在/usr/local/lib,配置文件默認放在/usr/local/etc,其它的資源文件放在/usr /local/share,比較凌亂。

如果配置了–prefix,如:
$ ./configure --prefix=/usr/local/test

安裝後的所有資源文件都會被放在/usr/local/test目錄中,不會分散到其他目錄。

使用–prefix選項的另一個好處是方便卸載軟件或移植軟件;當某個安裝的軟件不再需要時,只須簡單的刪除該安裝目錄,就可以把軟件卸載得乾乾淨淨;而移植軟件只需拷貝整個目錄到另外一個機器即可(相同的操作系統下)。

當然要卸載程序,也可以在原來的make目錄下用一次make uninstall,但前提是Makefile文件有uninstall命令(nodejs的源碼包裏有uninstall命令,測試版本v0.10.35)。

關於卸載:
如果沒有配置–prefix選項,源碼包也沒有提供make uninstall,則可以通過以下方式可以完整卸載:

找一個臨時目錄重新安裝一遍,如:
$ ./configure --prefix=/tmp/to_remove && make install

然後遍歷/tmp/to_remove的文件,刪除對應安裝位置的文件即可(因爲/tmp/to_remove裏的目錄結構就是沒有配置–prefix選項時的目錄結構)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章