Ubuntu安裝切換多個軟件版本

前言

在Ubuntu系統內,可能由於軟件以來,使用習慣或者編譯環境的要求想要系統內安裝同一個軟件的多個版本,可以在需要的時候進行切換。
在這裏以gcc爲例,在編譯某些軟件的時候,可能依賴的gcc或者g++的版本和系統不符合,大多情況下都是要比系統版本要低,但是又不想刪除系統的gcc和g++,因爲可能其他軟件可能需要保持當前的版本,那就可以在ubuntu內安裝保留多個gcc和g++版本,在具體需要的時候進行切換。

環境

系統:Ubuntu 14.04

安裝

當前系統的gcc、g++和gfortran都是由系統默認支持的版本(安裝不需要加版本號,如下),假設現在的版本都是4.8.*

sudo apt-get install gcc g++ gfortran 

那麼希望系統也可以支持4.7.* 版本(加入版本號安裝)

sudo apt-get install gcc-4.7 g++-4.7 gfortran-4.7

這樣系統就安裝了兩個版本(4.8、4.7),都安裝在’/usr/bin/’,可以使用下面命令查看

ll /usr/bin/gcc*
ll /usr/bin/g++*
ll /usr/bin/gfortran*

可以看到兩個版本都正確安裝了(其中有一些不是版本號後綴文件不需要考慮),但是可以看到系統默認使用的gcc、g++和gfortran全都是指向4.8版本的,可以使用下面命令查看各自版本

gcc -v
g++ -v
gfortran -v

可以看到都是4.8版本,那麼安裝好的其他版本,怎麼切換使用呢,看下面。

配置

在這裏使用update-alternatives命令,是用於在多個同類型命令中進行切換的一個腳本,在debian中可以通過apt-get install dpkg來進行安裝。在這裏我們不詳細敘述該命令,值介紹我們使用的三個命令,想詳細瞭解的自己去查閱相關資料。
下面只示例gcc怎麼使用,g++和gfortran同理。
##命令

用法:update-alternatives [<選項> ...] <命令>
     --install <鏈接> <名稱> <路徑> <優先級>  優先級數字越大優先級越高
     --remove <名稱> <路徑>   從 <名稱> 替換組中去除 <路徑> 項。
     --display <名稱>         顯示關於 <名稱> 替換組的信息。
     --config <名稱>          列出 <名稱> 替換組中的可選項,並就使用其中哪一個,徵詢用戶的意見。

install

該參數是爲該命令添加一個可用的link

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 20
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 10

安裝後再次查看‘/usr/bin/gcc’可以看出該鏈接已經指向‘/etc/alternatives/gcc’,所以建立的鏈接都保存在‘/etc/alternatives’文件夾下面

config

該參數是爲命令選擇要使用link值,相當於在可用link之中進行切換,切換後使用‘gcc -v’查看版本號已經變換了

sudo update-alternatives --config gcc

display

該參數是顯示該命令所有可用的link

sudo update-alternatives --display gcc

remove

該參數是爲刪除該命令不想繼續使用的link

sudo update-alternatives --remove gcc /usr/bin/gcc-4.7
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章