`

在Ubuntu中通过update-alternatives切换软件版本

 
阅读更多

    update-alternatives是ubuntu系统中专门维护系统命令链接符的工具,通过它可以很方便的设置系统默认使用哪个命令、哪个软件版本,比如,我们在系统中同时安装了open jdk和sun jdk两个版本,而我们又希望系统默认使用的是sun jdk,那怎么办呢?通过update-alternatives就可以很方便的实现了。

 

  sudo update-alternatives --install /usr/bin/java java /opt/java/jdk1.6.0_27/bin/java 1062  

 

其中1062 为alternative更改后的优先级,新更改的优先级需要大于当前的,通过update-alternatives --display java 可以查看。

 

现在介绍下 update-alternatives 命令中的几个主要选项,diplay、install、remove、config; 

 

   1、display选项的功能就是查看一个命令链接组的所有信息,包括链接的模式(自动还是手动)、链接priority值、所有可 用的链接命令等等。使用语法:update-alternatives --display name ,其中name为命令链接名称,如java,执行命令: update-alternatives --display java 将会出现类似下面的结果

 

java - auto mode

        link currently points to /opt/java/jdk1.6.0_27/bin/java

/opt/java/jdk1.6.0_27/bin/java - priority 1062

/usr/lib/jvm/java-6-openjdk/jre/bin/java - priority 1061

 slave java.1.gz: /usr/lib/jvm/java-6-openjdk/jre/man/man1/java.1.gz

Current 'best' version is '/opt/java/jdk1.6.0_27/bin/java'.

 

 

   2、install选项的功能就是增加一组新的系统命令链接符了,使用语法为:update-alternatives --install link name path priority [--slave link name path]... 其中link为系统中功能相同软件的公共链接目录,比如/usr/bin/java(需绝对目录); name为命令链接符名称,如java; path为你所要使用新命令、新软件的所在目录; priority为优先级,当命令链接已存在时,需高于当前值,因为当alternative为自动模式时,系统默认启用priority高的链接; --slave为从alternative。

 

    alternative有两种模式:auto和manual,默认都为auto模式,因为大多数情况下update-alternatives命令都被postinst (configure) or prerm (install)调用的,如果将其更改成手动的话安装脚本将不会更新它了。

 

 

   3、remove选项的功能是删除一个alternative及相关从alternative,使用语法为:update-alternatives --remove name path,其中name与path与install中的一致,如果所删除的链接组中还有其他链接的话,系统将会自动从其他中选择一个priority高的链接作为默认为链接。

 

 

   4、config选项功能为在现有的命令链接选择一个作为系统默认的,使用语法为:update-alternatives --config name,如执行:sudo update-alternatives --config java,将会有类似以下信息:

There are 2 choices for the alternative java (providing /usr/bin/java).

 

 Selection    Path                                      Priority   Status

------------------------------------------------------------

* 0            /opt/java/jdk1.6.0_27/bin/java             1062      auto mode

 1            /opt/java/jdk1.6.0_27/bin/java             1062      manual mode

 2            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      manual mode

 

Press enter to keep the current choice[*], or type selection number: 

 

   若是想将manual改回自动模式的话,执行命令: update-alternatives --auto name即可,如

 update-alternatives --config  java

 

分享到:
评论

相关推荐

    Ubuntu16.04、Ubuntu18.04、或更高Ubuntu版本安装JDK7参考资料

    这个存储库通常包含了不再由Ubuntu官方维护的旧版本软件。运行以下命令来添加`webupd8team`的Java PPA(个人包档案): ```bash sudo add-apt-repository ppa:webupd8team/java ``` 然后再次更新软件包列表以包括...

    ubuntu-gcc、g++不同版本的安装和切换.pdf

    本文将详细介绍如何在Ubuntu系统中安装不同版本的GCC和G++,以及如何使用`update-alternatives`工具来轻松地在这些版本之间进行切换。 #### 查看当前安装的GCC版本 首先,我们需要确定当前系统中已经安装了哪些GCC...

    Ubuntu10.04下安装gcc4.1_g++4.1.pdf

    通过上述步骤,您可以在 Ubuntu 10.04 系统上成功安装并配置 GCC 4.1 和 G++ 4.1 为默认版本。这对于需要使用旧版本编译器的应用程序开发来说非常重要。此外,还介绍了如何配置 `i686-linux-gnu-gcc` 和 `i686-linux...

    Ubuntu1604安装多个python版本的问题及解决方法.pdf

    在 Ubuntu 1604 系统中,自带 Python 2.7 和 Python 3.5 版本,但是在某些情况下,我们可能需要安装其他版本的 Python,例如 Python 3.8。在本文中,我们将介绍如何在 Ubuntu 1604 中安装多个 Python 版本,并解决...

    ubuntu安装python3.9 ubuntu安装python3.9

    在Ubuntu系统中,安装Python 3.9是一个常见的需求,特别是在新版本的Ubuntu如22.04 LTS中,预装的Python版本可能是3.10,这可能不满足某些开发者对特定Python版本的需求。本教程将详细讲解如何在Ubuntu 22.04上从源...

    ubuntu 16.04下python版本切换的方法

    通过使用`update-alternatives`工具,开发者可以方便地在不同的Python版本之间进行切换,从而满足不同项目的开发需求。这种方法不仅适用于Ubuntu 16.04,对于其他支持`update-alternatives`的Linux发行版也同样适用...

    ubuntu下openjdk7 openjdk8

    如果你需要在系统中切换使用不同版本的Java,可以通过更新`alternatives`系统来完成: ```bash sudo update-alternatives --config java ``` 这将列出所有可用的Java版本,你可以选择需要的版本进行设置。 在...

    ubuntu安装gcc、g++

    安装完成后,为了在不同版本间切换,我们需要使用`update-alternatives`工具。这个工具允许我们设置系统默认使用的命令及其版本。例如,要设置GCC 4.8为默认版本,可运行: ```bash sudo update-alternatives --...

    openjdk-9的安装包(linux)

    6. **管理Java版本**:如果需要在不同版本间切换,可以使用`update-alternatives --config java`和`update-alternatives --config javac`命令。 在实际应用中,OpenJDK-9引入了许多新特性,如模块系统(Project ...

    Ubuntu安装配置切换Python3版本的解决方法.pdf

    通过上述步骤,您可以在Ubuntu系统中轻松安装、配置和切换多个Python3版本,并解决了常见的模块导入错误。这将极大地提高开发效率,使您能够更专注于项目本身。对于希望默认Python版本为3.x而非2.x的情况,可以参考...

    ubuntu10.10安装低版本的gcc编译器

    使用`update-alternatives`工具来配置多个GCC版本之间的切换,这样可以轻松地在不同版本之间进行选择: ```bash update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-3.4 40 update-alternatives --...

    Ubuntu18.04下python版本完美切换的解决方法

    `update-alternatives`是Ubuntu中的一个命令,用于管理多版本软件的默认选择。 1. **查看当前的Python版本**: 在终端中输入`python`和`python3`分别查看默认的Python 2和Python 3版本。 2. **添加Python版本到...

    jdk-7u80-nb-8_0_2-linux-x64

    在Ubuntu下安装jdk-7u80-nb-8_0_2-linux-x64.sh 总的原则:将jdk-7u10-linux-x64.tar.gz压缩包解压至/usr/lib/jdk,设置jdk环境变量并将其修改为系统默认的jdk 1.安装 切换到管理员帐号,安装jdk 2.设置环境变量...

    Ubuntu安装java

    在安装过程中,系统会提示你接受Oracle的服务条款,你可以通过命令预先同意这些条款以避免手动操作: - JDK7: ```bash echo oracle-java7-installer shared/accepted-oracle-license-v1-1 select true | sudo ...

    UBUNTU中配JDK1.8环境变量详解.pdf

    - 如果系统中已存在其他版本的JDK,可能需要调整`update-alternatives`命令中的优先级值以确保正确的版本被设置为默认。 #### 八、结论 通过以上步骤,您应该能够在Ubuntu系统上成功安装并配置JDK 1.8。正确配置...

    ubuntu android 环境搭建

    - 在32位Ubuntu系统下编译Android 2.2及更低版本时,可能会遇到使用4.4版本的GCC/G++导致的错误。此时可以将`/usr/bin/gcc`和`/usr/bin/g++`的链接指向4.3版本: ```bash sudo rm /usr/bin/gcc sudo ln -s /usr/...

    linux下java6/7/8

    在Linux环境下,特别是Ubuntu操作系统中,Java开发人员经常需要在不同的Java版本之间切换,以便适应不同的项目需求。这里我们将深入探讨如何安装和管理Java 6、7和8,并且了解如何在编译Android源码时选择特定的Java...

    Linux JDK卸载与安装

    如果需要让系统自动处理多个JDK版本的切换,可以使用`alternatives`命令: ``` sudo update-alternatives --install /usr/bin/java java $JAVA_HOME/bin/java 1 sudo update-alternatives --install /usr/bin/...

    Ubuntu下搭建Java开发环境.pdf

    例如,在Ubuntu 7.10版本中,系统自带了JDK 5.0的1.5.0.13版和JDK 6.0的1.6.0.3版。这种方式的优点在于安装简单,系统会自动配置好环境。但是,如果需要特定版本或者最新版的JDK,这种方法可能会受限,因为软件仓库...

    Ubuntu Server将环境变量修改为英文,防止中文乱码.docx

    例如,在 Ubuntu 中,可以使用 update-alternatives 命令更新 PATH 变量。 在 Linux 系统中,环境变量的修改对系统的影响是非常大的。因此,在修改环境变量之前,需要先了解相关的知识和技能,以免出现意外的错误。...

Global site tag (gtag.js) - Google Analytics