温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Ubuntu如何安装切换多个软件版本

发布时间:2021-11-15 17:29:12 来源:亿速云 阅读:558 作者:小新 栏目:大数据

这篇文章将为大家详细讲解有关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

关于“Ubuntu如何安装切换多个软件版本”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI