본문 바로가기

개인적으로 공부한 것을 정리해 놓은 블로그입니다 틀린 것이 있으면 댓글 부탁 드립니다!


Linux

리눅스 공부 9 - update alternatives 와 update java alternatives

반응형

 

 

테스트를 위해 test1.sh  와 test2.sh파일을 만들었다. 

 

test1.sh은 echo "hello"

test1.sh는 echo "hi"  를 스크립트로 갖고 있다. 

 

위 다른 설정없이 위의 파일을 사용하려면  경로를 다 적어줘야할 것이다 .

이를 해결하기위해서 링크파일을 만들거나 , $PATH에 경로를 등록해야하는데 

 

중요한 파일이 아닌데  $PATH에 등록하기도 그렇고 

하나하나 링크파일을 만들자니 링크파일이 너무 많아지는 문제가 생긴다. 

 

이와 같은 문제를 해결하기위해 update alternatives를 사용한다 

 

update alternatives는 하나의 링크파일로 여러개의 실행파일을 사용할 수 있게 해주는 도구다

 

update alternatives에 링크파일을 등록하고 가리킬 실행파일과 번호를 등록해주면된다. 

 

먼저 등록을 해줘야한다 

 

sudo update-alternatives --install ~/bin/tt(링크파일을만들경로) tt(config에 사용할파일이름) ~/test1.sh(등록할 실행파일) 1(우선순위)

 

위와 같이 명령했더니 ~/bin 에 tt라는 링크파일이 생겼다 .

 

 

 

해당 링크파일로 사용할 실행파일을 똑같이 등록하면된다.  test2를 등록해 봤다

 

 

해당 링크파일에 등록된 실행 파일목록을 확인하고 링크파일이 가리키는 파일을 변경하고 싶다면 

 

update-alternatives --config  tt (install에서 등록했던이름)를 하면 아래와 같이 나온다.

 

 

가리킬 파일을 고르라한다 현재 링크파일은 test2.sh를 가리키고있다. 

1번으로 바꾸면 test1.을 가리킬테고 tt를 실행하면 hello가 출력될 것이다 .

 

update-alternatives --all을 하면 현재 update-alternatives로 등록된 링크파일들이 나오는데 그 중에는 java 도있다

근데 java 뿐만아니라 java안에 javac , javadoc 등 많은 파일들이 등록되 있고 만약 자바 버전을 바꾼다면  

update-alternatives도 일일이 다 바꿔줘야하는데 이를 위해서 java에서는

 

update-java-alternatives라는 것을 제공해서 자바 버전을 바꿀때 alternatives들이 한번에 바뀌도록 해준다.

 

필요에 따라서 쓰면 좋을 것 같다.

반응형