update-alternatives是一款通过软链接实现的非常方便地软件版本管理工具,可以很方便的对gcc,g++,python等进行管理,其基本用法如下:

update-alternatives 基本命令参数:

--install 用于注册某个软件,
  第一个参数表示注册到的位置,第二个参数表示在此管理工具下这个软件的名称,第三个参数表示优先级(数字越大优先级越高),第四个参数表示软件的实际位置

--slave 用于设置和该软件依赖的其他软件,当改变软件版本时其依赖的软件版本也会相应改变
  slave的参数与 install 基本一致,只是没有优先级设置的参数

--display 用于查看软件的各种版本、优先级和依赖
  后接一个参数,指定软件名

--list 用于查看软件各版本的实际安装位置
  后接一个参数,指定软件名


以gcc版本管理为例:

首先将 gcc-8.5.0 注册其中:

sudo update-alternatives --install /usr/bin/gcc gcc /opt/gcc-8.5.0/bin/gcc 100 --slave /usr/bin/g++ g++ /opt/gcc-8.5.0/bin/g++ --slave /usr/bin/gcov gcov /opt/gcc-8.5.0/bin/gcov

此时查看并配置 gcc 版本,update-alternatives --config gcc
会显示如下:

There is only one alternative in link group gcc (providing /usr/bin/gcc): /opt/gcc-8.5.0/bin/gcc
Nothing to configure.

即目前只注册了一个 gcc 版本,无需配置,再将系统本身的gcc注册其中(以gcc-11为例):

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 80 --slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-11 --slave /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-11 --slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-11

再查看并配置 gcc 版本,sudo update-alternatives --config gcc

显示如下:

There are 2 choices for the alternative gcc (providing /usr/bin/gcc).Selection    Path                    Priority   Status
------------------------------------------------------------
* 0            /opt/gcc-8.5.0/bin/gcc   100       auto mode1            /opt/gcc-8.5.0/bin/gcc   100       manual mode2            /usr/bin/gcc-11          80        manual modePress <enter> to keep the current choice[*], or type selection number:

只需在终端交互中输入相应的序号即可切换 gcc版本。(0是auto mode,会自动选择优先级最高的版本)

多版本软件管理工具update-alternatives相关推荐

  1. Ubuntu软件管理工具

    dpkg 包管理器 语法格式 dpkg [option] [package] Ubuntu软件管理工具 常见用法 #安装包,不支持包的依赖 dpkg -i package.deb #删除包,不建议,不 ...

  2. apt-get软件管理工具(软件安装、重装、卸载)

    apt-get软件管理工具 下面讲解,linux系统下如何进行软件的管理,包括软件的索引安装.更新.卸载删除.本地存储介中软件的安装.系统升级等操作. 更多优质文章,请访问博主个人网站:www.wuq ...

  3. SUSE中的软件管理工具

    在SUSE中有2种方式管理软件 1.zypper命令的方式. 语法格式: zypper [–全局选项 ] <命令 > [–命令选项 ] [参 数 ] 常用的: zypper # 列出可用的 ...

  4. Ubuntu 的软件管理工具

    Ubuntu 软件管理的工具使用方法 使用Ubuntu的第一步就是应该学会如何管理软件.以下?原几种方法是目前我用到的,整理一下,怕时间久了就会忘记. 一.APT命令安装 APT全称Advanced  ...

  5. linux suse 软件管理工具 zypper 简介

    程序开发及测试工作中没少接触Linux os,现在主流的系统有unbuntu,centos, redhat等,由于本人所在公司较多应用的是SUSE系统,在日常工作中,经常需要下载安装包或者卸载安装包一 ...

  6. Windows软件管理工具Chocolatey的安装和使用

    一.概述 ​ 官网介绍Chocolatey 是一种软件管理解决方案,不同于您在 Windows 上体验过的任何其他解决方案.Chocolatey 带来了真正的包管理的概念,允许您对事物进行版本化.管理 ...

  7. android高版本软件管理器,进程管理器 高级版

    进程管理器是一款手机内存清理和进程管理的系统工具软件:它可以使你更加方便的切换和关闭正在运行的程序. 功能: 1.通知栏一键终止任务/进程: 2.忽略任务/进程设置: 3.任务/进程负载.内存.CPU ...

  8. Window Installer Clean Up好用的软件管理工具

    Window Installer Clean Up(msicuu2.exe)是一款很好用的软件管理软件.小编在程序的安装和卸载中遇到过多次问题,在网上搜索到了很多解决办法,目前唯一有效地办法竟然都是用 ...

  9. Linux 软件管理工具之rpm、yum

    RedHat linux下软件包安装方法通常有以下三种. rpm方式安装,rpm是由红帽公司开发的软件包管理方式,使用rpm我们可以方便进行软件的校验.安装.查询.卸载.升级等工作.但是rpm软件包之 ...

最新文章

  1. keepalived高可用反向代理的nginx
  2. 用dmidecode - 查看硬件信息
  3. c语言课程设计作业摇一摇,口才星教案第二册.doc
  4. Qt::Key_Return和Qt::Key_Enter区别
  5. 第二十九期:全球首部AI交响变奏曲问世,AI技术应用再拓边界
  6. boot lib分离 spring_SpringBoot打包分离依赖jar和资源文件
  7. Win10 取消桌面快捷键图标
  8. 计算机电子表格公式应用和操作,计算机电子表格公式应用常见错误及处理
  9. 计算机网络技术基础知识
  10. (文末福利)2021黑马Python6.5之Python环境搭建与输入输出
  11. kali破解压缩包密码
  12. Linux实用教程(第三版)
  13. python下一代工作流引擎_几大工作流引擎对比
  14. 从零开始安装Gentoo
  15. 中国电信北京研究院 孙琼:中国电信的SDN应用与实践初探
  16. 随机森林算法及贝叶斯优化调参Python实践
  17. Linux下查看多线程进程下的线程
  18. numpy的sum函数的axis和keepdim参数详解
  19. 【前端性能优化】 --- 一次总结明白
  20. 【iPhone自定义铃声】iPhone设置炫酷的电话铃声、闹钟铃声-私人定制铃声-摆脱枯燥单一的iPhone背景铃声-操作超级简单

热门文章

  1. NVIDIA_A100_SXM2_40GB加速卡详细参数
  2. fritzing导入元件_如何在fritzing中添加自己想要的器件
  3. 机器学习:训练与测试
  4. IDEA插件 EasyApi 导出POSTMAN文件错误修复工具
  5. 虚拟现实 VR + 3D 可视化,打造一体化高阶管控平台
  6. python读取视频流做人脸识别_python实现图片,视频人脸识别(opencv版)
  7. python的魔法_python的各种魔法方法,多种,魔术
  8. 如何把一个字符串转换成整数
  9. 如何接手别人写的项目?——进入新公司的一点感悟
  10. HDU 5366-The mook jong(组合数学)