테스트를 위해 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들이 한번에 바뀌도록 해준다.
필요에 따라서 쓰면 좋을 것 같다.
'Linux' 카테고리의 다른 글
리눅스 공부 11 - 사용자 그룹 지정 (0) | 2021.06.25 |
---|---|
리눅스 공부 8 -설치 관리자 (dpkg 와 apt ), 자바 버전 관리 (0) | 2021.06.24 |
리눅스 공부 7 - JDK 전역화 하기 (0) | 2021.06.23 |
리눅스 공부 6 - 리눅스 프로필과 환경변수 설정 (0) | 2021.06.23 |
리눅스 공부 5- 명령어에 별칭 부여 , 리눅스 부팅 순서 (0) | 2021.06.23 |