Linux update-alternatives
管理 GCC 版本指南
在 Linux 系统(如 Ubuntu 或 Debian)中,update-alternatives
是一个用于管理同一功能的不同版本的工具。本文将详细讲解如何使用 update-alternatives
管理 gcc
(GNU C Compiler)的不同版本。
1. 基本概念
update-alternatives
允许用户在多个版本的同一程序之间进行选择。例如,在安装了 gcc-8
、gcc-9
和 gcc-10
的情况下,可以通过该工具自由切换默认版本。
2. 添加 GCC 版本到 update-alternatives
命令格式:
sudo update-alternatives --install <主路径> <名称> <具体版本路径> <优先级>
示例:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 100
/usr/bin/gcc
:主路径,表示gcc
命令的默认路径。gcc
:替代项的名称。/usr/bin/gcc-8
:具体的gcc-8
路径。100
:优先级(值越高,优先级越高)。
如果要添加 gcc-9
或 gcc-10
:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 150
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 200
3. 查看当前 GCC 版本候选项
使用以下命令查看已添加的 gcc
版本:
sudo update-alternatives --config gcc
示例输出:
有 3 个候选项用于 gcc (提供 /usr/bin/gcc)。
选择 路径 优先级 状态
------------------------------------------------------------
* 1 /usr/bin/gcc-8 100 自动模式
2 /usr/bin/gcc-9 150
3 /usr/bin/gcc-10 200
4. 手动切换 GCC 版本
在上述选项中输入所需版本的编号。例如,选择 gcc-10
:
3
5. 直接设置默认版本
如果希望直接将某个版本设置为默认版本,而不进入选择界面,可以使用 --set
命令:
sudo update-alternatives --set gcc /usr/bin/gcc-9
6. 验证当前 GCC 版本
使用以下命令检查当前使用的 gcc
版本:
gcc --version
7. 同时管理 G++ 版本
如果还需要管理 g++
(C++ 编译器)的版本,可以按照同样的方法:
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 150
sudo update-alternatives --config g++
8. 移除某个版本
如果希望移除某个 gcc
版本,可以使用以下命令:
sudo update-alternatives --remove gcc /usr/bin/gcc-8
9. 总结
update-alternatives
是一个强大且灵活的工具,适用于管理多个版本的 gcc
,方便开发人员在不同版本之间切换,满足不同项目对编译器版本的需求。
常用命令汇总:
功能 | 命令 |
---|---|
添加版本 | sudo update-alternatives --install |
查看版本列表 | sudo update-alternatives --config gcc |
设置默认版本 | sudo update-alternatives --set gcc /usr/bin/gcc-9 |
检查当前版本 | gcc --version |
移除版本 | sudo update-alternatives --remove gcc /usr/bin/gcc-8 |