使用linux的alternatives管理多版本的软件
2013-10-25 11:24
375 查看
/article/4841248.html
今天捣鼓Oracle的OS Watcher(简称osw) 的时候发现机器上的jdk不太好使,不能运行osw的oswg.jar。比较郁闷,看了一下 /usr/bin/java 是连接到 /etc/alternatives/java ,而 /etc/alternatives/java 是连接到 /usr/lib/jvm/jre-1.4.2-gcj/bin/java ,
发现这个 alternatives 很眼生,于是 google 了一下,发现它是一个管理多版本软件的软件,于是借着升级jdk、jre的契机顺便捣鼓一下这个alternatives 。
首先到Oracle的网站下载最新的 jdk 和 jre ,然后安装。这个安装比较恶心,装在什么地方也不说一声,害我找了半天才发现装在 /usr/java/jdk1.6.0_21/ 和 /usr/java/jre1.6.0_21/ 这两个目录中。
将jdk和jre的java注册到alternatives中,顺便也将jdk的javac注册到alternatives中。
现在可以看看注册的成果了:
这里输入想要用的 java 就可以了,例如我选在了第2个。我们看看 /usr/bin/java的变化:
可以看到 /usr/bin/java 的连接的地方没有变,改变了的/etc/alternatives/java 的连接,这其实是一个策略模式的实现:
/usr/bin/java 的“调用”没有变,还是连接到 /etc/alternatives/java,/etc/alternatives/java的连接却被修改了,这个由 alternatives 管理。
通过linux的连接也可以简单地实现这种“接口”和“具体实现”的分离,但是 alternatives 提供一个配置清单,简单选一下就OK了,这为我们提供了很大的便利。
扩充一下,alternatives也可以管理我们自己的软件。例如,我自己写了个软件叫myjava,我也想实现这种基于“策略模式”的版本管理,我可以这样做:
使用 alternatives 更换一下我的版本:
是不是很方便 :-)
今天捣鼓Oracle的OS Watcher(简称osw) 的时候发现机器上的jdk不太好使,不能运行osw的oswg.jar。比较郁闷,看了一下 /usr/bin/java 是连接到 /etc/alternatives/java ,而 /etc/alternatives/java 是连接到 /usr/lib/jvm/jre-1.4.2-gcj/bin/java ,
首先到Oracle的网站下载最新的 jdk 和 jre ,然后安装。这个安装比较恶心,装在什么地方也不说一声,害我找了半天才发现装在 /usr/java/jdk1.6.0_21/ 和 /usr/java/jre1.6.0_21/ 这两个目录中。
将jdk和jre的java注册到alternatives中,顺便也将jdk的javac注册到alternatives中。
/usr/bin/java 的“调用”没有变,还是连接到 /etc/alternatives/java,/etc/alternatives/java的连接却被修改了,这个由 alternatives 管理。
通过linux的连接也可以简单地实现这种“接口”和“具体实现”的分离,但是 alternatives 提供一个配置清单,简单选一下就OK了,这为我们提供了很大的便利。
扩充一下,alternatives也可以管理我们自己的软件。例如,我自己写了个软件叫myjava,我也想实现这种基于“策略模式”的版本管理,我可以这样做:
相关文章推荐
- 使用linux的alternatives管理多版本的软件
- 使用linux的alternatives管理多版本的软件
- [转]使用linux的alternatives管理多版本的软件
- [原]使用linux的alternatives管理多版本的软件
- 使用linux的alternatives管理多版本的软件
- 使用linux的alternatives管理多版本的软件
- 使用Linux的alternatives命令替换选择软件的版本方法
- 使用Linux的alternatives命令替换选择软件的版本
- update-alternatives——linux软件版本管理命令
- Linux中对不同版本的软件进行管理(update-alternatives)
- Linux使用update-alternatives进行软件版本切换
- linux软件版本管理命令update-alternatives使用详解
- 64位Linux使用yum安装两个相同软件不同版本包的解决方法
- linux使用svn版本管理之创建仓储权和限管理
- Python多版本管理软件pyenv的安装应用及pip的使用讲解
- Linux(CentOS6.x)下使用yum软件管理工具安装LNMP(Nginx+PHP+Mysql)环境并配置虚拟主机vhost
- Ubuntu10下使用的版本管理軟體, Linux下的"TortoiseSVN"
- 版本管理 与 Subversion软件的使用
- Linux 使用本地yum源及软件包管理
- 研发项目管理软件 免费版本下载使用