Ubuntu系统中多个版本的程序指定默认版本

最近在编译clickhouse的过程中,遇到了操作系统默认安装了一个clang 10的版本,但编译clickhouse需要安装11版本以上的clang程序,所以就通过命令:

bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" 

安装了一个最新版本 13的clang程序,具体如下:

可以看到有2个版本的clang;

现在我们要通过update-alternatives 工具,来指定一个系统默认调用的程序版本;

1.首先,我们查看一下系统是否已经有这个clang的配置:执行命令:

update-alternatives --display clang

可以看到系统当前没有默认执行clang程序的配置;

2.创建一个clang的默认程序配置信息;

update-alternatives  --install /usr/bin/clang clang /usr/bin/clang-13 100 

 其中,最后一个参数100,是一个自己指定的优先级(或者叫版本号)的值,这个值越大,说明它的优先级越高,系统在auto模式下从这个值最大的里面选择默认程序;

如下:

第一次设置失败是因为权限的问题,切换到root账号下,就执行成功了;

3.验证是否配置成功

执行命令:update-alternatives --display clang   ,结果如下说明创建成功

4.这个时候,我们只是创建了一个clang的默认程序配置,clang++还没有对应的改过来,查看clang++的版本号执行命令:clang++ -v

我们可以看到,还是10的版本;

5.配置clang++的默认执行程序

执行命令:sudo update-alternatives  --install /usr/bin/clang clang /usr/bin/clang-13 100 --slave  /usr/bin/clang++ clang++ /usr/bin/clang++-13

执行完命令后,查看版本号结果如下:

我们可以看到,配置成功了;默认的clang++也成了13的版本了;

6.我就想能在2个版本之间随意的切换,怎么办呢?

可以的,我们先找到路径 /usr/bin 路径下,执行ll查看当前路径下的程序,如下图:

我们可以看到,在当前路径下,有一个clang-10、clang-13 以及clang对应的软连接,clang++也类似;

于是我们可以执行如下命令;给clang-10的版本也创建一个配置选项在默认程序的配置文件里;

sudo update-alternatives  --install /usr/bin/clang clang /usr/bin/clang-10 90 --slave  /usr/bin/clang++ clang++ /usr/bin/clang++-10

结果如下:

看着似乎没有生效,但大家注意,我命令行中的优先级给的是90这个值,是小于13版本给的100的,但他到底创建成功了没?我们通过下个命令 --config来查看,具体命令如下:

sudo update-alternatives --config clang

从结果中,能看到clang-10的配置项已经创建成功了,只不过在auto mode下,系统默认选择的是13的版本,同时当前命令行下,我们可以手动选择默认版本,这里我们输入1,即clang-10对应的编号:

验证一下我们的选择对不,执行命令clang -v查看版本号如下:

我们可以看到,clang的默认版本号已经改成了10版本;再次执行命令:

sudo update-alternatives --config clang

我们选择0,自动模式,结果如下:

我们看到,程序clang的版本号,又切换到了clang-13的版本;

总结:在系统安装了多个程序版本的情况下,可以通过sudo update-alternatives --config 来选择默认的版本号;当然其前提是创建了对应版本的软连接;

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在Ubuntu上安装特定版本的Java,请按照以下步骤操作: 1. 首先,确定您想要安装的Java版本,例如Java 11。 2. 打开终端并运行以下命令以更新软件包列表: ``` sudo apt-get update ``` 3. 然后,运行以下命令以安装OpenJDK 11: ``` sudo apt-get install openjdk-11-jdk ``` 如果您想安装Oracle Java,请访问Oracle Java下载页面,下载所需的版本,并按照安装说明进行安装。 4. 在安装完成后,您可以使用以下命令验证Java版本: ``` java -version ``` 如果您已经安装了多个版本的Java,则可以使用以下命令选择默认版本: ``` sudo update-alternatives --config java ``` 按照提示选择要使用的Java版本即可。 希望这可以帮助您在Ubuntu上安装特定版本的Java。 ### 回答2: 要在Ubuntu上安装指定版本的Java,可以按照以下步骤进行操作: 1. 打开终端。可以通过按下"Ctrl + Alt + T"键来快速打开终端。 2. 确保系统已更新。输入以下命令来更新软件包列表: sudo apt update 3. 安装OpenJDK。Ubuntu默认支持OpenJDK。输入以下命令来安装OpenJDK: sudo apt install openjdk-版本号-jdk 注意:将"版本号"替换为您想要安装的具体版本。例如,要安装Java 11 JDK,请使用“openjdk-11-jdk”。 4. 验证安装。完成安装后,可以使用以下命令来验证Java是否正确安装: java -version 这将显示Java的版本信息。 5. 设置默认Java版本。如果系统上同时安装了多个版本的Java,您可以使用以下命令来设置默认的Java版本: sudo update-alternatives --config java 然后,从列表选择您希望成为默认版本的Java。 至此,您已成功在Ubuntu上安装了指定版本的Java。您可以通过运行Java应用程序或使用其他Java开发工具验证安装是否成功。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值