歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> 在ubuntu中通過update

在ubuntu中通過update

日期:2017/3/3 12:23:01   编辑:Linux技術

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]... 其中link為系統中功能相同軟件的公共鏈接目錄,比如/usr/bin/java(需絕對目錄); name為命令鏈接符名稱,如java; 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

Copyright © Linux教程網 All Rights Reserved