alternatives (1)

CentOS 6를 처음 설치하면 Open JDK가 기본적으로 설정되어있다. 하지만 개발자들이 쓰기에는 그닥 적합하지 않은것 같다. 이런저런 문제도 좀 있는것 같고. 그래서 찾아보다가 alternatives에 대해서 보게되었다.


[root@mycom ~]# alternatives


대체 버전 1.3.49.3 - Copyright (C) 2001 Red Hat, Inc.
GNU Public License하에서 이 프로그램을
자유롭게 재배포 할 수 있습니다.
사용법: alternatives --install <링크> <이름> <경로> <우선순위>
                    [--initscript <서비스>]
                    [--slave <링크> <이름> <경로>]*
       alternatives --remove <이름> <경로>
       alternatives --auto <이름>
       alternatives --config <이름>
       alternatives --display <이름>
       alternatives --set <이름> <경로>

일반 옵션: --verbose --test --help --usage --version
                --altdir <디렉토리> --admindir <디렉토리>


여기서 저 alternatives라는 실행파일의 실제경로는 /usr/sbin/alternatives 이다.


요놈이 무슨 일을 하느냐하면 링크를 생성하는데 이 링크의 대상이 되는 녀석들을 옵션으로 여러개를 저장을 해놓았다가 필요할 때 마다 바꿔가며 쓸 수 있다는 것이다.


그럼 지금 내 컴퓨터에는 java명령어와 연결되어있는 실행파일들이 몇개나 되는지 한번 볼까?


[root@mycom ~]$ /usr/sbin/alternatives --config java

1 개의 프로그램이 'java'를 제공합니다.

  선택    명령
-----------------------------------------------
*+ 1           /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java

현재 선택[+]을 유지하려면 엔터키를 누르고, 아니면 선택 번호를 입력하십시오:


자, 이런식으로 선택할 수 있는 옵션이 나온다.


이제 선택옵션을 하나 더 추가해보자.


[root@Emerald ~]# alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_45/bin/java 2

[root@Emerald ~]# alternatives --config java

2 개의 프로그램이 'java'를 제공합니다.

  선택    명령
-----------------------------------------------
*+ 1           /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java
   2           /usr/java/jdk1.6.0_45/bin/java

현재 선택[+]을 유지하려면 엔터키를 누르고, 아니면 선택 번호를 입력하십시오:2


alternatives --install 명령을 이용하여 /usr/bin/java 링크에 /usr/java/jdk1.6.0_45/bin/java를 java라는 이름으로 연결을 시켰고 우선순위를 2로 주었다. 그리고 alternatives --config 명령을 이용해서 선택을 2번으로 변경했다.


이렇게 옵션으로 명령어의 링크를 관리할 수 있기 때문에 나름 유용한 팁이 아닐까 싶다.


더 자세한 내용은 구글링이나 man페이지를 읽어보시면 됩니다~~~