강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

기본 명령어들의 심볼릭링크를 관리하는 alternatives

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

기본 명령어들의 심볼릭링크를 관리하는 alternatives











 

alternatives는 기본명령어들의 심볼록링크(symbolic link)를 쉽게 관리하는 도구입니다.

 

 

 

 , alternatives의 기본 디렉토리인 /etc/alternatives디렉토리와 /var/lib/alternatives 디렉토리에는 많은 링크파일들의 설정이 정의되어 있으며 시스템 설치시에 기본적으로 정의되어 있는 링크파일들의 설정값입니다.

 

 

 

 , alternatives는 시스템에서 사용되는 기본명령어들의 링크파일들을 쉽게 관리하기 위하여 이 디렉토리들의 설정값을 관리(추가/변경/삭제)하는 도구라고 할 수 있습니다.

 

 

 

 

 

예를들어 crontab등과 같은 프로그램들에서는 텍스트편집기(vi 또는 nvi 또는 ed)를 사용합니다.

 

 

 

 만약 RPM패키지의 업데이트 또는 삭제등으로 텍스트편집기의 위치정보 또는 이름등이 변경되었다면 crontab등과 같은 프로그램들에서 사용하고 있었던 텍스트편집기 프로그램에 대한 정보는 잘못된 것이 되어 정상적인 실행이 되지 않을 것입니다.

 

 

 

 따라서 alternatives시스템이 이들 링크정보들을 관리하면 이러한 문제점들을 해결 할 수 있습니다.

 

 

 

 다음은 alternatives에 대한 기본적인 정보들입니다.

 

 

 

 

 

명령어위치 : /usr/sbin/alternatives

 

사용형식 : alternatives [options] --install link name path priority

[--slave link name path]...  [--initscript service]

         alternatives [options] --remove name path

         alternatives [options] --set name path

         alternatives [options] --auto name

         alternatives [options] --display name

         alternatives [options] --config name

 

그리고 아래 예를 보시는 바와 같이 alternatives update-alternatives와 링크되어 있습니다.

 

 

 

 요즘 대부분의 리눅스배포판들에서는 alternatives라는 이름을 사용하지만 이전 버전의 리눅스배포판에서는 update-alternatives라는 이름을 사용하였습니다.

 

 

 

 호환을 위하여 링크된 것이므로 혼동없기를 바랍니다.

 

 

 

 

 

[root@su241 ~]# ls -l /usr/sbin/alternatives

-rwxr-xr-x 1 root root 23340 Sep  8  2010 /usr/sbin/alternatives

[root@su241 ~]#

[root@su241 ~]# ls -l /usr/sbin/update-alternatives

lrwxrwxrwx 1 root root 12 Aug  6  2011 /usr/sbin/update-alternatives -> alternatives

[root@su241 ~]#

 

아마도 대부분의 시스템관리자들에게는 이번 장에서 설명하고 있는 alternatives가 다소 생소하리라 생각합니다.

 

 

 

 따라서 alternatives에 대한 보다 자세한 얘기를 해 보도록 하겠습니다.

 

 

 

 동일한 기능을 하는 여러 개의 프로그램이 시스템에서는 필요합니다.

 

 

 

 하지만, 이러한 같은 프로그램들을 각각 다르게 관리하게 되면 유지 및 관리하는데에 큰 어려움이 있습니다.

 

 

 

 

 

예를 들어 리눅스시스템이 설치된 이후에 몇 개의 프로그램에서 텍스트 에디터프로그램이 내부에서 사용됩니다.

 

 

 

 이때 특정 에디터를 지정해 두지 않는다면 제각각의 에디터프로그램을 사용할 것입니다.

 

 

 

 하지만, alternatives는 동일한 프로그램들을 이름만 다르게 한 심볼릭링크파일로 사용하도록 하면서도 사실은 모두 동일한 프로그램이므로 유지 및 관리하는데에 매우 편리함을 가질 수 있습니다.

 

 

 

 

 

이것이 alternatives프로그램이 만들어진 이유입니다.

 

 

 

 

 

특유의 기능들을 가진 파일들을 제공하는 각각의 RPM패키지들은 수정 또는 제거되기도 하는데 이때 alternatives프로그램은 업데이트 정보를 참고하기 위하여 불리워지게 됩니다.

 

 

 

 , alternatives RPM패키지들내에 있는 %post 또는 %pre스크립트로 부터 항상 불리워지게 됩니다.

 

 

 

 

 

또한 여러 개의 alternatives들이 동기화(일원화)되어지기 위하여 하나의 그룹이름으로 변경되기 위하여 이것은 매우 유용합니다.

 

 

 

 그리고 alternatives시스템은 master slave라는 개념으로 심볼릭링크를 관리합니다.

 

 

 

 , master가 변경이 되면 그와 관련된 slave 또한 변경이 됩니다.

 

 

 

 , master링크와 그와 관련된 slave링크는 하나의 링크그룹(link group)을 만들어 관리됩니다.

 

 

 

 

 

그리고 각각의 링크그룹들은 작동모드라는 것을 가집니다.

 

 

 

 , 자동모드(automatic mode)와 수동모드(manual mode)중 하나의 모드로 운영됩니다.

 

 

 

 만약 하나의 링크그룹이 자동모드에 있다면 alternatives시스템은 패키지들이 설치되거나 제거될 때에 이들 링크들의 업데이트를 자동으로 결정하고 수정합니다.

 

 

 

 반대로 링크그룹의 작동모드가 수동모드(manual mode)에 있다면 alternatives시스템은 패키지들의 설치와 제거시에 링크들의 업데이트를 전혀 변경하지 않고 시스템관리자들이 그 모든 결정을 하도록 남겨둡니다.

 

 

 

 

 

--config옵션을 사용하면 alternatives는 지정된 그룹이름(이것을 master link라고함)의 링크에 대한 선택가능한 모든 리스트를 보여주게 됩니다.

 

 

 

 그리고 그 그룹링크에 대한 이름을 선택해야합니다.

 

 

 

 일단 변경을 하고나면 더 이상 자동모드(automatic mode)로 설정되지 않습니다.

 

 

 

 만약 다시 자동모드(automatic mode)로 되돌리려면 --auto옵션을 사용해야 합니다.

 

 

 

 이에 대한 예들은 뒤에서 설명합니다.

 

 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,040 명
  • 현재 강좌수 :  35,850 개
  • 현재 접속자 :  170 명