<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      [原]使用linux的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 ,

      [root@test03 bin]# ll /usr/bin/java
      lrwxrwxrwx  1 root root 22 Dec 17  2009 /usr/bin/java -> /etc/alternatives/java
      [root@test03 bin]# ll /etc/alternatives/java
      lrwxrwxrwx  1 root root 35 Aug 23 14:52 /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中。

      [root@test03 ~]# alternatives --install /usr/bin/java  java  /usr/java/jre1.6.0_21/bin/java  400
      [root@test03 ~]# alternatives --install /usr/bin/java  java  /usr/java/jdk1.6.0_21/bin/java  400
      [root@test03 ~]# alternatives --install /usr/bin/javac javac /usr/java/jdk1.6.0_21/bin/javac 400

      現在可以看看注冊的成果了:

      [root@test03 ~]# alternatives --config java
      
      There are 3 programs which provide 'java'.
      
        Selection    Command
      -----------------------------------------------
      *+ 1           /usr/lib/jvm/jre-1.4.2-gcj/bin/java
         2           /usr/java/jre1.6.0_21/bin/java
         3           /usr/java/jdk1.6.0_21/bin/java
      
      Enter to keep the current selection[+], or type selection number: 

      這里輸入想要用的 java 就可以了,例如我選在了第2個。我們看看 /usr/bin/java的變化:

      [root@test03 ~]# ll /usr/bin/java
      lrwxrwxrwx  1 root root 22 Dec 17  2009 /usr/bin/java -> /etc/alternatives/java
      [root@test03 ~]# ll /etc/alternatives/java
      lrwxrwxrwx  1 root root 30 Aug 23 15:03 /etc/alternatives/java -> /usr/java/jre1.6.0_21/bin/java

      可以看到 /usr/bin/java 的連接的地方沒有變,改變了的/etc/alternatives/java 的連接,這其實是一個策略模式的實現:

      Strategy

      /usr/bin/java 的“調用”沒有變,還是連接到 /etc/alternatives/java,/etc/alternatives/java的連接卻被修改了,這個由 alternatives 管理。

      通過linux的連接也可以簡單地實現這種“接口”和“具體實現”的分離,但是 alternatives 提供一個配置清單,簡單選一下就OK了,這為我們提供了很大的便利。

       

      擴充一下,alternatives也可以管理我們自己的軟件。例如,我自己寫了個軟件叫myjava,我也想實現這種基于“策略模式”的版本管理,我可以這樣做:

      alternatives --install /usr/bin/myjava  myjava  /usr/java/jdk1.6.0_21/bin/java  300
      alternatives --install /usr/bin/myjava  myjava  /usr/java/jre1.6.0_21/bin/java  300

      使用 alternatives  更換一下我的版本:

      [root@test03 ~]# ll /usr/bin/myjava
      lrwxrwxrwx  1 root root 24 Aug 23 14:43 /usr/bin/myjava -> /etc/alternatives/myjava
      [root@test03 ~]# ll /etc/alternatives/myjava 
      lrwxrwxrwx  1 root root 30 Aug 23 14:46 /etc/alternatives/myjava -> /usr/java/jre1.6.0_21/bin/java
      [root@test03 ~]# 
      [root@test03 ~]# 
      [root@test03 ~]# alternatives  --config myjava
      
      There are 2 programs which provide 'myjava'.
      
        Selection    Command
      -----------------------------------------------
      *  1           /usr/java/jdk1.6.0_21/bin/java
       + 2           /usr/java/jre1.6.0_21/bin/java
      
      Enter to keep the current selection[+], or type selection number: 1
      [root@test03 ~]# 
      [root@test03 ~]# 
      [root@test03 ~]# ll /usr/bin/myjava
      lrwxrwxrwx  1 root root 24 Aug 23 14:43 /usr/bin/myjava -> /etc/alternatives/myjava
      [root@test03 ~]# ll /etc/alternatives/myjava 
      lrwxrwxrwx  1 root root 30 Aug 23 15:15 /etc/alternatives/myjava -> /usr/java/jdk1.6.0_21/bin/java

      是不是很方便 :-)

      posted @ 2010-08-23 15:16  killkill  閱讀(10086)  評論(1)    收藏  舉報
      主站蜘蛛池模板: 国产精品自在拍首页视频8| 国产一区一一区高清不卡| 强奷乱码欧妇女中文字幕熟女| 久久精品国产亚洲夜色av| 影音先锋啪啪av资源网站| 国产精品亚洲二区在线播放| 国产AV无码专区亚洲AV漫画| 中国熟妇毛多多裸交视频| 欧美人成精品网站播放| 给我播放片在线观看| 国产成人av一区二区三| 淮安市| 一区二区三区鲁丝不卡| 亚洲av影院一区二区三区| 亚洲国产精品久久电影欧美| 亚洲综合不卡一区二区三区| 亚洲精品成人一二三专区| 人人做人人妻人人精| 万安县| 亚洲成在人线AV品善网好看| 国产一区二区精品久久凹凸| 亚洲成人av综合一区| 中文字幕一区二区精品区| 亚洲人成网站色www| 国产亚洲精品黑人粗大精选| 国产成人人综合亚洲欧美丁香花| 国产精品伊人久久综合网| 国产精品中文字幕视频| 成人亚欧欧美激情在线观看| 国产精品亚洲二区在线播放 | 国产欧美另类久久久精品不卡| 久久亚洲精品天天综合网| 精品人妻av区乱码| 夜鲁鲁鲁夜夜综合视频欧美| 高清美女视频一区二区三区| 久久精品国产福利一区二区| 商河县| 日韩a∨精品日韩在线观看| 免费一区二区无码东京热| 久久一级黄色大片免费观看| 欧美乱码伦视频免费|