1、增加jdk的可选方案:
update-alternative --install <link> <name> <path> <priority>
示例:
~$ sudo update-alternatives --install /usr/bin/java java /opt/java/jdk1.6.0_01/bin/java 3
update-alternatives: 使用 /opt/java/jdk1.6.0_01/bin/java 来提供 /usr/bin/java (java),于 自动模式 中。
~$ sudo update-alternatives --install /usr/bin/java java /opt/java/jdk1.5.0_17/bin/java 2
~$ ls /etc/alternatives
2、选择jdk
update-alternatives --config <name>
示例:
~$ sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).
选择 路径 优先级 状态
------------------------------------------------------------
* 0 /opt/java/jdk1.6.0_01/bin/java 3 自动模式
1 /opt/java/jdk1.5.0_17/bin/java 2 手动模式
2 /opt/java/jdk1.6.0_01/bin/java 3 手动模式
要维持当前值[*]请按回车键,或者键入选择的编号:1
注:如果提示没有“/usr/sbin/alternatives“目录的话,直接用'update-alternatives' 代替 ‘/usr/sbin/alternatives‘后,再运行。权限受限的话,最前面加个'sudo'。
补充
update-alternative ¶
定義 ¶
update-alternative 可以管控套件列表。
前言 ¶
比如說我的java 版本有 6 也有 5,同時存在於我的系統中,我要如何來選擇用java 5的時候,執行檔、設定檔、家目錄等環境的鍊結都會用java 5 的呢?
這個時候就可以用update-alternative 來做版本的選擇管控。雖然比較難入手,但用了就愛不釋手。
使用 ¶
name ¶
挑選使用 alternative 的時候,最首要要知道的事情就是,我目前有哪些東西可以做設定。這些東西的清單就在 /etc/alternatives 目錄中
$ ls /etc/alternatives
所列出的東西專有名詞就是屬性 name,因此我們挑一個 來看看
$ sudo update-alternatives --list hadoop-default
/usr/bin/hadoop-0.18
/usr/bin/hadoop-0.20
意思就是,我的hadoop-default 當中,共有兩個路徑可供選擇,目前在使用的叫做 master link,其他備案選擇為 slave link
加入 ¶
* install
update-alternative --install <link> <name> <path> <priority>
$ sudo update-alternatives --install hadoop hadoop-default /opt/hadoop/bin/hadoop 10
列出 ¶
* list
update-alternative --list <name>
$ sudo update-alternatives --list hadoop-default
/usr/bin/hadoop-0.18
/usr/bin/hadoop-0.20
/opt/hadoop/bin/hadoop
移除 ¶
$ sudo update-alternatives --remove hadoop-default /opt/hadoop/bin/hadoop
$ sudo update-alternatives --list hadoop-default
/usr/bin/hadoop-0.18
/usr/bin/hadoop-0.20
另外,如果某個鍊結在update-alternative 已經註冊,但鍊結失效,導致該程式無法執行,即使反覆用apt-get install or purge 來安裝移除該程式,也無法建立正確鍊結,則需要先 sudo update-alternatives --removeall xxx,之後再用 apt-get install xxx 才會有正確鍊結。
如原本update-alternative 管理的java 是指到 /usr/lib/jvm/sun-5-java ,而且還是用手動指定。但現在移除sun-5-java ,即使安裝了sun-6-java,但update-alternative 的鍊結卻還是對應到舊得。解決方式就是用 sudo update-alternatives --removeall javac 等所有失效的連結,然後再重新安裝 sun-6-java 即可。 (20110222補充)
!!! 注意 !!!
使用 " update-alternative --install <link> <name> <path> <priority> "這個指令,並不會幫我們在/usr/bin/內加入 hadoop的連結到 /opt/hadoop/bin/hadoop
update-alternative --install <link> <name> <path> <priority>
示例:
~$ sudo update-alternatives --install /usr/bin/java java /opt/java/jdk1.6.0_01/bin/java 3
update-alternatives: 使用 /opt/java/jdk1.6.0_01/bin/java 来提供 /usr/bin/java (java),于 自动模式 中。
~$ sudo update-alternatives --install /usr/bin/java java /opt/java/jdk1.5.0_17/bin/java 2
~$ ls /etc/alternatives
2、选择jdk
update-alternatives --config <name>
示例:
~$ sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).
选择 路径 优先级 状态
------------------------------------------------------------
* 0 /opt/java/jdk1.6.0_01/bin/java 3 自动模式
1 /opt/java/jdk1.5.0_17/bin/java 2 手动模式
2 /opt/java/jdk1.6.0_01/bin/java 3 手动模式
要维持当前值[*]请按回车键,或者键入选择的编号:1
注:如果提示没有“/usr/sbin/alternatives“目录的话,直接用'update-alternatives' 代替 ‘/usr/sbin/alternatives‘后,再运行。权限受限的话,最前面加个'sudo'。
补充
update-alternative ¶
定義 ¶
update-alternative 可以管控套件列表。
前言 ¶
比如說我的java 版本有 6 也有 5,同時存在於我的系統中,我要如何來選擇用java 5的時候,執行檔、設定檔、家目錄等環境的鍊結都會用java 5 的呢?
這個時候就可以用update-alternative 來做版本的選擇管控。雖然比較難入手,但用了就愛不釋手。
使用 ¶
name ¶
挑選使用 alternative 的時候,最首要要知道的事情就是,我目前有哪些東西可以做設定。這些東西的清單就在 /etc/alternatives 目錄中
$ ls /etc/alternatives
所列出的東西專有名詞就是屬性 name,因此我們挑一個 來看看
$ sudo update-alternatives --list hadoop-default
/usr/bin/hadoop-0.18
/usr/bin/hadoop-0.20
意思就是,我的hadoop-default 當中,共有兩個路徑可供選擇,目前在使用的叫做 master link,其他備案選擇為 slave link
加入 ¶
* install
update-alternative --install <link> <name> <path> <priority>
$ sudo update-alternatives --install hadoop hadoop-default /opt/hadoop/bin/hadoop 10
列出 ¶
* list
update-alternative --list <name>
$ sudo update-alternatives --list hadoop-default
/usr/bin/hadoop-0.18
/usr/bin/hadoop-0.20
/opt/hadoop/bin/hadoop
移除 ¶
$ sudo update-alternatives --remove hadoop-default /opt/hadoop/bin/hadoop
$ sudo update-alternatives --list hadoop-default
/usr/bin/hadoop-0.18
/usr/bin/hadoop-0.20
另外,如果某個鍊結在update-alternative 已經註冊,但鍊結失效,導致該程式無法執行,即使反覆用apt-get install or purge 來安裝移除該程式,也無法建立正確鍊結,則需要先 sudo update-alternatives --removeall xxx,之後再用 apt-get install xxx 才會有正確鍊結。
如原本update-alternative 管理的java 是指到 /usr/lib/jvm/sun-5-java ,而且還是用手動指定。但現在移除sun-5-java ,即使安裝了sun-6-java,但update-alternative 的鍊結卻還是對應到舊得。解決方式就是用 sudo update-alternatives --removeall javac 等所有失效的連結,然後再重新安裝 sun-6-java 即可。 (20110222補充)
!!! 注意 !!!
使用 " update-alternative --install <link> <name> <path> <priority> "這個指令,並不會幫我們在/usr/bin/內加入 hadoop的連結到 /opt/hadoop/bin/hadoop