티스토리 뷰
참조: http://www.whatwant.com/714
여러 버전의 JDK를 사용하고 싶은 경우 때문에 알게된 명령어가 바로 "update-alternatives" 이다.
기본적인 사항을 한 번 살펴보기 위해서 java를 살펴보자.
$ whereis java
java: /usr/bin/java /usr/bin/X11/java /usr/local/java /usr/share/java
java: /usr/bin/java /usr/bin/X11/java /usr/local/java /usr/share/java
여기저기에 위치하고 있는 java 중에서 "/usr/bin/java"에 대해서 조금 더 자세히 살펴보면,
$ ls -al /usr/bin/java
lrwxrwxrwx 1 root root 22 6월 7 22:10 /usr/bin/java -> /etc/alternatives/java
lrwxrwxrwx 1 root root 22 6월 7 22:10 /usr/bin/java -> /etc/alternatives/java
잘 살펴보면, 일반적이지 않은 경로의 링크가 보인다. 바로 "alternatives" 경로가 바로 그것이다.
이러한 설정을 알아보기 위해서 "--config" 옵션을 사용해보면 전체 목록을 보면서 설정도 해볼 수 있다.
$ update-alternatives --config java
대체 항목 java에 대해 (/usr/bin/java 제공) 2개 선택이 있습니다.
선택 경로 우선순위 상태
------------------------------------------------------------
0 /usr/local/java/jdk1.7.0_60/bin/java 1 자동 모드
* 1 /usr/local/java/jdk1.7.0_60/bin/java 1 수동 모드
2 /usr/local/java/jdk1.8.0_05/bin/java 2 수동 모드
기본 사항[*]을 사용하려면 엔터, 다른 것을 사용하려면 번호를 입력하십시오:
$
대체 항목 java에 대해 (/usr/bin/java 제공) 2개 선택이 있습니다.
선택 경로 우선순위 상태
------------------------------------------------------------
0 /usr/local/java/jdk1.7.0_60/bin/java 1 자동 모드
* 1 /usr/local/java/jdk1.7.0_60/bin/java 1 수동 모드
2 /usr/local/java/jdk1.8.0_05/bin/java 2 수동 모드
기본 사항[*]을 사용하려면 엔터, 다른 것을 사용하려면 번호를 입력하십시오:
$
위의 화면을 보면, 설정에 대해서 전반적으로 살펴볼 수 있다.
사실 정보만 보기 위해서는 "--display" 옵션이 맞는 것이지만, 예쁘게 보여주는 것은 "--config" 옵션인 것 같다.
[ 등록하기 ]
특정 패키지를 설치한 후 다음과 같은 명령어로 등록을 할 수 있다.
sudo update-alternatives --install <link> <name> <path> <priority>
각 항목에 대한 설명은 다음과 같다.
옵션 | 설명 |
<link> | 실행파일 이름으로 /etc/alternatives/<name> 을 가리킨다. (예: /usr/bin/pager) |
<name> | 해당 링크 그룹의 대표 이름으로, 여러 가지 버전의 패키지들을 대표하는 이름으로 보면 될 것 같다. (예: pager) |
<path> | alternatives 로 실제 연결할 실행파일 이름으로, 시스템에 설치한 패키지의 실행파일 이름이다. (예: /usr/bin/less) |
<priority> | automatic 모드에서 어떤 것을 자동으로 선택해서 사용할지 결정할 때 사용되는 우선순위로, 높은 수가 더 높은 우선순위이다. |
[ 삭제하기 ]
설정한 내역을 지워버리고 싶을 때에는 다음과 같이 하자.
sudo update-alternatives --remove <name> <path>
[ 설정하기 ]
등록한 내역을 설정하기 위해서는 다음과 같이 하면 된다.
sudo update-alternatives --set <name> <path>
'BackEnd > Java' 카테고리의 다른 글
JVM 메모리 구조 (0) | 2017.12.15 |
---|---|
[퍼옴] 주소를 정규식을 사용하여 필터해보자. (0) | 2017.07.28 |
[퍼옴] [Effective Java] private 생성자나 enum 타입을 사용해서 싱글톤의 특성을 유지하자 (0) | 2017.07.14 |
AES256 암호화시 java.security.InvalidKeyException: Illegal key size 해결법!! (0) | 2017.06.13 |
JPA CascadeType 정리 (0) | 2017.06.09 |
댓글
공지사항
최근에 올라온 글
링크
TAG
- serverless
- Error
- AWS
- mysql
- spark
- web
- 머신러닝
- 모두의딥러닝
- 중앙정보처리학원
- memory
- Java
- TDD
- NIO
- Docker
- executor
- spring
- AI
- API
- BigData
- Configuration
- mybatis
- ML
- python
- 텐서플로우
- 점프투파이썬
- Maven
- tensorflow
- 파이썬
- Gradle
- javascript
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함