博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
update-alternatives命令详解
阅读量:6193 次
发布时间:2019-06-21

本文共 1926 字,大约阅读时间需要 6 分钟。

hot3.png

说明:

如我系统已安装有java 1.6,还想要安装java 1.7,但我不想卸载java 1.6。就可以通过update-alternatives –config在多个java版本间进程切换。update-alternatives是用于在多个同类型命令中进行切换的一个脚本,在debian中可以通过apt-get install dpkg来进行安装。

在说明update-alternatives的详细用法之前,先让我们看看系统中已有的例子。打开终端,执行下面的命令:

# ls -l /usr/bin/javalrwxrwxrwx 1 root root 22 2011-03-12 15:20 /usr/bin/java -> /etc/alternatives/java# ls -l /etc/alternatives/javalrwxrwxrwx 1 root root 40 2011-03-12 15:20 /etc/alternatives/java -> /usr/lib/jvm/java-6-openjdk/jre/bin/java

java这个可执行命令实际是一个链接,指向了/etc/alternatives/java。而这个也是一个链接,指向了/usr/lib/jvm/java-6-openjdk/jre/bin/java,这才是最终的可执行文件。之所以建立这样两个链接,是为了方便脚本程序的编写和系统的管理。

实例:

1. display参数列出一个命令的所有可选命令

# update-alternatives --display java

2. config参数用于给某个命令选择一个link值,相当于在可用值之中进行切换吧。

# update-alternatives --config java  //有 3 个候选项可用于替换 java (提供 /usr/bin/java)   选择       路径                                       优先级  状态  ------------------------------------------------------------    0            /usr/lib/jvm/java-6-openjdk/jre/bin/java      1061      自动模式  * 1            /home/wuekzhu/download/jdk1.6.0_23/bin/java   1         手动模式    2            /usr/lib/jvm/java-6-openjdk/jre/bin/java      1061      手动模式

3. install参数用于添加一个命令的link值,相当于添加一个可用值,其中slave非常有用。

# update-alternatives –install /usr/bin/java java /usr/local/jre1.6.0_20/bin/javac 100  # update-alternatives –install /usr/bin/java java /usr/local/jre1.6.0_20/bin/javac 100 –slave /usr/bin/javac javac /usr/local/jre1.6.0_20/bin/javac

4. remove参数用于删除一个命令的link值,其附带的slave也将一起删除。

# update-alternatives –remove java /usr/local/jre1.6.0_20/bin/java

当然如果想让java能使用,还是得把java按照如下添加到环境变量去。

# vim /etc/profile //在最后添加以下内容JAVA_HOME=/usr/local/jdk1.5.0_22CLASSPATH=.:$JAVA_HOME/lib/tools.jarPATH=$PATH: $JAVA_HOME/binexport PATH=$PATH:$JAVA_HOME/binexport JAVA_HOME CLASSPATH PATH

如果想通过update-alternatives在多个版本的java间切换,只需简单地用update-alternatives –config java,选择我们想要的java版本即可!

 

转载于:https://my.oschina.net/u/2863048/blog/730942

你可能感兴趣的文章
Android 5中不同效果的Toast
查看>>
yii 10.16
查看>>
python3.4学习笔记(四) 3.x和2.x的区别,持续更新
查看>>
SPOJ QTREE4 lct
查看>>
音乐还在陪伴我
查看>>
Sql Server参数化查询之where in和like实现详解
查看>>
高性能负载均衡之分类架构
查看>>
8分钟学会Consul集群搭建及微服务概念
查看>>
【转】理解红黑树
查看>>
OBJEct-c中NSDictionary的用法
查看>>
Safari/Chrome中placeholder属性实现不完整
查看>>
转载 - 18个最佳代码编辑器/IDE推荐
查看>>
用Opencv保存视频文件avi(转)
查看>>
几条常见的数据库分页 SQL 语句
查看>>
XCode最佳实践之最佳数据类型
查看>>
asp.net 中sender 的理解
查看>>
RSS文章订阅及生成RSS格式的xml
查看>>
你自认为理解了JavaScript?
查看>>
读《程序员的SQL金典》[4]--SQL调优
查看>>
死锁产生的原因及四个必要条件
查看>>