Shao Fan

          關于JAVA與軟件工程
          posts - 31, comments - 71, trackbacks - 0, articles - 4
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          我的博客已搬家,請移步到 http://shao-fan.com/blog 閱讀最新內容!


          Ubuntu/Debian中的update-alternative用來對系統中不同版本的同個軟件進行管理。
          比如,系統中可能裝有GNU的Java編譯器,和SUN的Java編譯器??梢杂胾pdate-alternatives來設置當前使用它們中的哪一個。

          它的原理是在/usr/bin中建立一個link,指向/etc/alternatives中的一個文件,而些文件又是一個link,指向當前使用的命令。比如java命令,查看如下:

           $ which java
          /usr/bin/java
          $ ls -l /usr/bin/java
          lrwxrwxrwx /usr/bin/java -> /etc/alternatives/java
          $ ls -l /etc/alternatives/java
          lrwxrwxrwx /etc/alternatives/java -> /usr/lib/j2re1.5-sun/bin/java
          $ ls -l /usr/lib/j2re1.5-sun/bin/java
          -rwxr-xr-x /usr/lib/j2re1.5-sun/bin/java

          參數--display可以某個軟件的當前配置,如:

           $ /usr/sbin/update-alternatives --display java
          java - status is auto.
          link currently points to /usr/lib/j2re1.5-sun/bin/java
          /usr/lib/kaffe/bin/java - priority 300
          slave java.1.gz: /usr/share/man/man1/java.kaffe.1.gz
          /usr/lib/j2re1.5-sun/bin/java - priority 315
          slave java.1.gz: /usr/lib/j2re1.5-sun/man/man1/java.1.gz
          Current `best' version is /usr/lib/j2re1.5-sun/bin/java.

          status有auto和manual兩種。一旦用戶更改了系統的默認設置,它就變為manual。在auto的狀態下,系統會根據幾套配置的priority來判斷當前應該使用哪套配置。

          每套配置可以設定多個link,它們被稱為slave。上面的例子中,有兩套java的配置。一套是/usr/lib/kafe/bin/java,另一套是/usr/lib/j2re1.5-sun/bin/java,它們各有一個slave。在些例中這些slave設置的是java命令的 manual。當更改了配置時,用man命令查看的幫助也會相應更改。

          參數--config可以用來更改當前的配置。

           $ sudo /usr/sbin/update-alternatives --config java 
          There are 2 alternatives which provide `java'.
          Selection Alternative
          -----------------------------------------------
          1 /usr/lib/kaffe/bin/java
          *+ 2 /usr/lib/j2re1.5-sun/bin/java
          Press enter to keep the default*, or type selection number: 1
          Using `/usr/lib/kaffe/bin/java' to provide `java'.

          參數--install用來設置一套新的配置。具體參見 http://blog.stevenkroon.com/2006/08/29/debian-update-alternatives/


          評論

          # re: Linux中對不同版本的軟件進行管理(update-alternatives)  回復  更多評論   

          2010-10-14 20:31 by newbie
          強力轉載,謝謝。。。
          主站蜘蛛池模板: 汨罗市| 醴陵市| 格尔木市| 新巴尔虎左旗| 慈利县| 定州市| 玛纳斯县| 镇赉县| 和平区| 略阳县| 铜川市| 西充县| 桦川县| 连江县| 金坛市| 扎鲁特旗| 白水县| 英山县| 巍山| 陆川县| 嘉峪关市| 息烽县| 城步| 蒙阴县| 蓬安县| 剑川县| 望奎县| 广州市| 大姚县| 贵德县| 区。| 安塞县| 姚安县| 嵩明县| 贵港市| 高密市| 枞阳县| 满洲里市| 陈巴尔虎旗| 循化| 宾川县|