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

转载 http://persevere.iteye.com/blog/1479524 @h521999

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]...

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值