Embedded System 뿐 아니라, 데스크탑 또는 개발용 머신에서도 여러 버전의 binary를 관리하여 사용하고자 할 때가 있다.
이 경우, 직접 link를 관리하는 것 보다는 update-alternatives를 사용하는 편이 관리도 수월하고 낫다.
update-alternatives는 다음과 같이 사용 가능하다.
~# update-alternatives --help
Usage: update-alternatives [<option> ...] <command>
Commands:
--install <link> <name> <path> <priority>
[--slave <link> <name> <path>] ...
add a group of alternatives to the system.
--remove <name> <path> remove <path> from the <name> group alternative.
--remove-all <name> remove <name> group from the alternatives system.
--auto <name> switch the master link <name> to automatic mode.
--display <name> display information about the <name> group.
<link> is the symlink pointing to /etc/alternatives/<name>.
(e.g. /usr/bin/pager)
<name> is the master name for this link group.
(e.g. pager)
<path> is the location of one of the alternative target files.
(e.g. /usr/bin/less)
<priority> is an integer; options with higher numbers have higher priority in
automatic mode.
몇 가지 옵션만 살펴 보면,
--display <name> : 해당 이름의 등록 정보를 보여준다.
--install <link> <name> <path> <priority> : <link>는 alternatives가 대표할 패스와 이름이다.
<name> /etc/alternatives에 등록되는 그룹 이름이다.
<path> 이번에 등록되는 실제 패스를 의미한다.
<priority> 자연수로 표기되는 우선순위이며 클수록 우선순위가 높다.
--remove <name> <path> : 패스를 해당 그룹으로부터 제거한다.
--config <name> : 그룹의 사용 우선순위를 조정한다.
내부 동작은 다음과 같다.
1) --install 옵션을 통해 등록
2) <link>를 생성하고, link의 source를 /etc/alternatives/<name>으로 생성
3) /etc/alternatives/<name> 링크의 source를 등록한 <path>로 생성
즉, <link> -> /etc/alternatives/<name> -> <path> 형태로 링크된다.
상세 내용은 man update-alternatives 참조.
'IT > linux' 카테고리의 다른 글
bash 설정을 이용하여 특정 디렉토리로 이동시 동작 실행 (0) | 2014.10.07 |
---|---|
git log --decorate 옵션에서 tag 정보 정리 tip (0) | 2014.09.12 |
빠르고 효율적인 통신을 위한 socket option (0) | 2014.05.02 |
bashrc와 bash_profile 차이 (0) | 2014.04.14 |
git log 출력시 줄바꿈때문에 한 화면에 내용이 안 보일 때, 해결법 (0) | 2013.03.29 |