이거 Fedora FC4에 있습니다. 데비안의 update-alternatives 에 대한 replacement라고 하는군요. 원리는 /usr/bin/java 가 /etc/alternatives/java 에 대한 심볼릭 링크이고, /etc/alternatives 에서 실제 프로그램으로 링크가 가야되는데 그 부분을 alternatives가 관리합니다.
[root@protos:/]# alternatives --install /usr/bin/java java /usr/java/jdk1.5.0_06/jre/bin/java 9999 --slave /usr/bin/javac javac /usr/java/jdk1.5.0_06/bin/javac [root@protos:/]# alternatives --display java java - 상태가 수동입니다. 현재 /usr/java/jdk1.5.0_06/jre/bin/java로 링크되었습니다 /usr/lib/jvm/jre-1.4.2-gcj/bin/java - 우선순위 1420 슬레이브 javac: (null) 슬레이브 rmiregistry: /usr/lib/jvm/jre-1.4.2-gcj/bin/rmiregistry 슬레이브 jre_exports: /usr/lib/jvm-exports/jre-1.4.2-gcj 슬레이브 jre: /usr/lib/jvm/jre-1.4.2-gcj /usr/java/jdk1.5.0_06/jre/bin/java - 우선순위 9999 슬레이브 javac: /usr/java/jdk1.5.0_06/bin/javac 슬레이브 rmiregistry: (null) 슬레이브 jre_exports: (null) 슬레이브 jre: (null) 현재 '최고' 버전은 /usr/java/jdk1.5.0_06/jre/bin/java입니다. [root@protos:/]# alternatives --config java 2 개의 프로그램이 'java'를 제공합니다. 선택 명령 ----------------------------------------------- 1 /usr/lib/jvm/jre-1.4.2-gcj/bin/java * 2 /usr/java/jdk1.5.0_06/jre/bin/java 현재 선택[+]을 유지하시려면 엔터키를 누르십시오. 그렇지 않으면, 선택 번호를 입력해 주십시오:2 [root@protos:/]# java -version java version "1.5.0_06" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05) Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode, sharing) [root@protos:/]#
이렇게 해주면 /usr/bin/java와 /usr/bin/javac 가 /etc/alternatives쪽으로 링크가 가고, 그쪽에서 다시 /usr/bin/java/jdk1.5.0_06 으로 가는 것이죠.. ㅎㅎ