update-alternatives命令详解

参考 http://coolnull.com/3339.html

说明:
如我系统已安装有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/java
lrwxrwxrwx 1 root root 22 2011-03-12 15:20 /usr/bin/java -> /etc/alternatives/java

# ls -l /etc/alternatives/java
lrwxrwxrwx 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_22
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
PATH=$PATH: $JAVA_HOME/bin
export PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME CLASSPATH PATH
如果想通过update-alternatives在多个版本的java间切换,只需简单地用update-alternatives –config java,选择我们想要的java版本即可!

时间: 2024-10-10 03:06:40

update-alternatives命令详解的相关文章

linux alternatives命令详解

alternatives是Linux下的一个功能强大的命令.只能在root权限下执行.如系统中有几个命令功能十分类似,却又不能随意删除,那么可以用 alternatives 来指定一个全局的设置. alternatives常用于同一个系统中安装同一软件的多个版本.比如为了开发需要,我需要安装JDK1.4.2,同时还需要JDK1.6.10,我怎么样才能忽略安装路径,按照我自己的意思,使用我想要的java版本呢? 下面为您一一道来. alternatives的命令行执行如下:[[email prot

linux yum命令详解

yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载.安装.yum提供了查找.安装.删除某一个.一组甚至全部软件包的命令,而且命令简洁而又好记. yum的命令形式一般是如下:yum [options] [command] [package ...]其中的[opti

windbg命令详解

DLL 该扩展仅在内核模式下使用,即使它是在Ext.dll中的. Windows NT 4.0 Ext.dll Windows 2000 Ext.dll Windows XP和之后 Ext.dll 注释 如果不提供参数,调试器会列出所有进程,以及时间和优先级统计.这和使用!process @#Process 0 作为CommandString值一样. To terminate execution at any point, press CTRL+BREAK (in WinDbg) or CTRL

yum命令详解

yum(全 称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载 RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载.安装.yum提供了查找.安装.删除某一个.一组甚至 全部软件包的命令,而且命令简洁而又好记. yum的命令形式一般是如下:yum [options] [command] [package ...]其中的[o

bash数组和字符串处理、yum命令详解及编译安装

8月22号主要内容: 一.bash中的数组 二.bash中字符串处理 三.高级变量及配置用户环境 四.yum详解 五.编译安装 一.bash中的数组 1.数组的组成和申明 (1) 数组:存储多个元素的连续的内存空间,相当于多个变量的 集合. (2) 组成:数组名和索引 索引:编号从0开始,属于数值索引 注意:索引可支持使用自定义的格式,而不仅是数值格式 ,即为关联索引,bash4.0版本之后开始支持. bash的数组支持稀疏格式(索引不连续) (3) 申明数组: declare -a ARRAY

Ruby Gem命令详解

转自:http://www.jianshu.com/p/728184da1699 Gem介绍: Gem是一个管理Ruby库和程序的标准包,它通过Ruby Gem(如 http://rubygems.org/ )源来查找.安装.升级和卸载软件包,非常的便捷. Ruby 1.9.2版本默认已安装Ruby Gem,如果你使用其它发行版本,请参考“如何安装Ruby Gem”. Ruby gem包的安装方式: 所有的gem包,会被安装到 /[Ruby root]/lib/ruby/gems/[ver]/

YUM安装调试以及命令详解

背景,需要安装cacti,google了很多安装资料,需要先yum安装一些准备lib包,比如snmp以及openssl等等. [[email protected] ~]# yum install net-snmp-devel Loaded plugins: rhnplugin, security This system is not registered with RHN. RHN support will be disabled. Setting up Install Process No p

C++ Regsvr32命令详解

一.Regsvr32命令 Regsvr 32命令是Windows中控件文件(如扩展名为DLL.OCX.CPL的文件)的注册和反注册工具. 命令格式:Regsvr32 [/s] [/n] [/i[:cmdline]] dllname /u 卸载安装的控件,卸载服务器注册: /s 注册成功后不显示操作成功信息框: /i 调用DllInstall函数并把可选参数[cmdline]传给它,当使用/u时用来卸载DLL: /n 不调用DllRegisterServer,该参数必须和/i一起使用. 简单实例

yum 命令详解

linux yum命令详解 yum(全 称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载 RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载.安装.yum提供了查找.安装.删除某一个.一组甚至 全部软件包的命令,而且命令简洁而又好记. yum的命令形式一般是如下:yum [options] [command] [pac

linux下tar命令详解

 linux下tar命令详解  tar是Linux环境下最常用的备份工具之一.tar(tap archive)原意为操作磁带文件,但基于Linux的文件操作机制,同样也可适用于普通的磁盘文件.tar可用于建立.还原.查看.管理文件,也可方 便的追加新文件到备份文件中,或仅更新部分的备份文件,以及解压.删除指定的文件.熟悉其常用参数,能方便日常的系统管理工作. 一.版本 还是那句,不同的操作系统,tar的命令参数是有点区别的: 引用 # tar --version tar (GNU tar) 1.