1. 程式人生 > >ubuntu系統使用update-alternatives 管理多版本gcc/g++

ubuntu系統使用update-alternatives 管理多版本gcc/g++

1. 安裝gcc/g++

2. 檢視gcc/g++版本

  • ls /usr/bin/gcc* ,如下所示:
    /usr/bin/gcc /usr/bin/gcc-ar-5 /usr/bin/gcc-nm-5 /usr/bin/gcc-ranlib-6 /usr/bin/gcc-5 /usr/bin/gcc-ar-6 /usr/bin/gcc-nm-6 /usr/bin/gcc-6 /usr/bin/gcc.bak /usr/bin/gcc-ranlib /usr/bin/gcc-ar /usr/bin/gcc-nm /usr/bin/gcc-ranlib-5
  • ls/usr/bin/g++*,如下所示:
    /usr/bin/g++ /usr/bin/g++-5 /usr/bin/g++-6 /usr/bin/g++.bak

3. 檢視gcc/g++軟連結指向

  • 從下圖可看出目前的gcc不是通過update-alternatives管理的
    在這裡插入圖片描述

4. 向系統中新增一個新的alternatives組

  • --install <link> <name> <path> <priority>
  • sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 40
  • sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 40
  • 注:最後那個數字代表優先順序,預設選優先順序高的

5. 檢視gcc/g++軟連結指向

  • gcc軟連結變成了/etc/alternatives/gcc
    在這裡插入圖片描述
  • 檢視/etc/alternatives/gcc軟連結指向,發現又連結回/usr/bin/gcc-6了,所以由此可看出update-alternatives為了管理方便增加了一層軟連結在這裡插入圖片描述

6. 顯示命令<name>的資訊及目標檔案

  • --display <name>
    在這裡插入圖片描述

7. 配置命令的版本

  • --config <name>

8. 移除系統中註冊的某個<name>
的某個軟體版本<path>

  • --remove <name> <path>
  • sudo update-alternatives --remove gcc /usr/bin/gcc-5