1. 程式人生 > >Linux的alternatives命令替換自帶軟體版本或選擇軟體版本

Linux的alternatives命令替換自帶軟體版本或選擇軟體版本

一、命令說明

alternatives是專門維護系統命令連結符的工具,其可以對某個工具的多個軟體版本進行管理,通過它可以很方便的設定系統預設使用哪個命令的哪個軟體版本
alternatives和update-alternatives其實一個命令,均指向alternatives
usage: alternatives --install <link> <name> <path> <priority>
[--initscript <service>]
[--slave <link> <name> <path>]*
alternatives 
--remove <name> <path> alternatives --auto <name> alternatives --config <name> alternatives --display <name> alternatives --set <name> <path> common options: --verbose --test --help --usage --version --altdir <directory> --admindir <directory> 其中, install表示安裝 link是符號連結 name則是識別符號 path是執行檔案的路徑 priority則表示優先順序

二、java安裝示例

alternatives --install /usr/bin/java java /usr/java/default/bin/java 200
alternatives --set java /usr/java/default/bin/java

alternatives --install /usr/bin/javac javac /usr/java/default/bin/javac 200
alternatives --set javac /usr/java/default/bin/javac

 

檢視連結

[[email protected] default]# ls -l  /usr/bin/java
lrwxrwxrwx. 
1 root root 22 Nov 8 08:23 /usr/bin/java -> /etc/alternatives/java [[email protected] default]# ls -l /etc/alternatives/java lrwxrwxrwx. 1 root root 26 Nov 8 08:23 /etc/alternatives/java -> /usr/java/default/bin/java

三、原理說明

系統路徑/usr/bin/<name>這個軟連結,指向了/etc/alternatives/<name>這個軟連結,該軟連結指向了該<name>命令的實際可執行檔案;

上面例子通過兩次軟連結,我們可以定位到實際的java檔案;

四、版本管理

alternatives版本的管理是通過改變/etc/alternatives/ --> /實際可執行檔案 的軟連結來進行的。

[[email protected] default]# alternatives --config java

There is 1 program that provides 'java'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/java/default/bin/java

Enter to keep the current selection[+], or type selection number: 

輸入Selection下面的+號就可以實現版本的選擇了,由於只安裝了一個版本,所以選擇1就可以了,多版本時會有其他的序號。