ubuntu 에서 자주 사용하는 update-alternatives 에 대해서 다뤄 보려고 한다.
예를들어 자바를 사용한다고 할 경우 요즘엔 자바 17버전을 많이 사용하지만 프로젝트나 기업에 따라 11버전이나 8버전을 아직 사용하는곳들도 많이 존재한다.
파이선 역시 버전에 따라서 사용하는 , 사용가능한 라이브러리나 속도가 다르기에 다양한 버전을 사용한다.
그럴경우 패키지들의 버전을 관리해줘야한다.
그때 필요한게 이 update-alternatives 명령어 이다.
현재 로컬 리눅스에서 아래 명령어를 사용해보았다.
$update-alternatives --config python
결과는 아래와 같다.
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/local/bin/python3.7 2 auto mode
1 /usr/bin/python3.9 1 manual mode
2 /usr/local/bin/python3.7 2 manual mode
이걸 살펴보면 일단 피시에는 총 3개의 파이선을 사용할수 있는 경로가 있고,
0번이 *로 선택되어서 default python으로 사용중이다.
각 python의 심볼릭링크 경로가 나오고 우선순위가 보인다.
그리고 자동으로 수동으로 잡히는 모드까지도 적혀있다.
등록
특정 패키지를 설치한 후 다음과 같은 명령어로 등록을 할 수 있다.
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>
'IT > Linux' 카테고리의 다른 글
[Mac] hosts 파일 수정 (/etc/hosts) (33) | 2023.09.10 |
---|---|
VNC 란? (x11vnc 설치법) (vnc-server) (47) | 2023.09.04 |
sed 명령어 (46) | 2023.08.06 |
Netcat 에 대해(nc) (38) | 2023.07.12 |
[쉘스크립트] if 문법 정리 (37) | 2023.06.03 |
댓글