天天看點

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
           

繼續閱讀