`

在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

 

分享到:
评论

相关推荐

    linux使用update-alternatives切换java版本

    主要介绍了linux使用update-alternatives切换java版本的相关资料,需要的朋友可以参考下

    linux软件版本管理命令update-alternatives使用详解

    主要介绍了linux软件版本管理命令update-alternatives使用详解的相关资料,需要的朋友可以参考下

    update-alternatives

    update-alternatives creates, removes, maintains and displays information about the symbolic links comprising the Debian alternatives system. It is possible for several programs fulfilling the same or ...

    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.设置环境变量...

    Linux 中如何切换相同程序的不同版本

    几天前,我们曾经讨论如何 如何在不同的 PHP 版本之间进行切换 。在那篇文章中,我们使用 update-alternatives 命令实现从一个 PHP 版本切换到另一个 ... alt 是一个命令行工具,可以让你在类 Unix 系统中切换相同程序

    部署python flask项目到云服务器(flask+mysql+uwsgi+nginx)

    部署python flask项目到云服务器 这是我第一次写博客,写的不好请多多见谅。 操作环境是ubuntu16.04,使用xshell和xftp工具,记得进入root用户,如果没有需要设置,怎么设置...sudo update-alternatives –install /

    ubuntu9.10 server 安装 JDK1.5

    divine@ubuntu:~$sudo update-alternatives --install /usr/bin/java java /usr/java/jdk1.5.0_22/bin/java 300 divine@ubuntu:~$sudo update-alternatives --install /usr/bin/javac javac /usr/java/jdk1.5.0_22/...

    JDK7u80_linux_64版本下载(含deb安装包,可直接安装)

    包中包含jdk-7u80-linux-x64.tar.gz和oracle-java7-jdk_7u80_amd64.deb,其中deb包是使用命令把tar.gz转换生成...sudo update-alternatives --list java sudo update-alternatives --config java 选择需要的编号即可。

    Ubuntu18.04中Python2.7与Python3.6环境切换

    本文为大家分享了Python2.7与Python3.6环境切换的具体方法,供大家参考,具体内容如下 系统支持为:Ubuntu18.04 系统默认安装:Python2.7 自己安装:Python3.6 由于编写需要,有些程序只能在Python3下进行执行,...

    Java Runtime Environment Version 7 Update 7 jre-7u7-linux-i586

    #update-alternatives --install /usr/bin/java java /opt/java/jre1.7.0_05/bin/java 1 #update-alternatives --set java /opt/java/jre1.7.0_05/bin/java #mkdir -p /root/.mozilla/plugins #ln -sf /opt/java/jre...

    sfntly-builds:从 https 构建 sfntly

    在 Ubuntu 14.10 及更高版本上,您可以安装 openjdk-8-jdk。 在 Ubuntu 13.10 及更高版本上,您可以安装 openjdk-7-jdk。 在旧版本(例如 Ubuntu 12.04 LTS)上,您可以使用 openjdk-6-jdk 或 openjdk-7-jdk。 版本...

    houmio-driver-knx:KNX 的 Houmio 驱动程序

    sudo update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_06/bin/javac 1 sudo update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_06/bin/java 1 sudo update-alternatives --config...

    node_arm:只需两个简单步骤,即可在树莓派上安装node.js

    node_arm(Raspbian Wheezy)需要GCC v4.8或更高版本选项1(安装较新的版本): sudo apt-get updatesudo apt-get install gcc-4.8 g++-4.8sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 ...

    jkt1.7安装

    update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-7-sun/bin/java 300 update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-7-sun/bin/javac 300 update-alternatives --...

    jdk1.6版本,描述中为jdk环境配置

    1.sudo update-alternatives --install /usr/bin/java java /usr/lib/jdk/jdk1.6.0_30/bin/java 300 2. sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jdk/jdk1.6.0_30/bin/javac 300 3. sudo ...

    glmPI:RasbperryPi 的 GLM 上下文

    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.6 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 40 --slave /usr/...

    通过一个命令轻松切换Java的版本

    主要给大家介绍了如何通过一个命令轻松实现切换Java的版本,通过本文介绍的方法,大家就可以将jdk版本之间轻松切换,需要的朋友可以参考学习,下面跟着小编一起来看看吧。

    cucumber-appium

    Cucumber在Ubuntu中设置JDK 8 从oracle下载jdk并移至/ usr / lib 2.使用以下脚本更新您的Java语言sudo update-alternatives --install“ / usr / bin / java”“ java”“ /usr/lib/java/jdk1.7.0_65/bin/java” 1 ...

    jdk1.6版本,同时描述中为配置

    1.sudo update-alternatives --install /usr/bin/java java /usr/lib/jdk/jdk1.6.0_30/bin/java 300 2. sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jdk/jdk1.6.0_30/bin/javac 300 3. sudo ...

    mpl:C ++中的简单运动计划库

    尽管g ++-8支持c ++ 17(在Ubuntu 18.04上是默认设置),但g ++-10是必需的,并且较早的版本似乎不起作用。 要检查gcc和g ++的版本,请执行以下操作: g++ --version gcc --version 要更新编译器: sudo apt ...

Global site tag (gtag.js) - Google Analytics