이름 서비스 스위치에서 지원하는 데이터베이스는 SMF 서비스를 사용하여 구성됩니다. 이러한 데이터베이스 목록을 가져오려면 다음 예와 같이 svcfg 명령을 사용합니다.
# svccfg -s name-service/switch listprop config config application config/default astring files config/password astring "files nis" config/group astring "files nis" config/host astring "files nis" config/network astring "nis [NOTFOUND=return] files" config/protocol astring "nis [NOTFOUND=return] files" config/rpc astring "nis [NOTFOUND=return] files" config/ether astring "nis [NOTFOUND=return] files" config/netmask astring "files nis" config/bootparam astring "nis [NOTFOUND=return] files" config/publickey astring "nis [NOTFOUND=return] files" config/netgroup astring nis config/automount astring "files nis" config/alias astring "files nis" config/service astring "files nis" config/printer astring "user nis" config/auth_attr astring "files nis" config/prof_attr astring "files nis" config/project astring "files nis"
다음 표에서는 각 데이터베이스에 저장되는 정보의 유형에 대해 설명합니다. SMF 관점에서 이러한 데이터베이스는 구성 가능한 서비스 등록 정보로 간주됩니다.
|
또한 이름 서비스 스위치의 default 등록 정보는 그렇지 않을 경우 정의되지 않는 데이터베이스의 소스 문자열을 정의합니다. 이 등록 정보의 값은 files로 설정되어 모든 데이터베이스 및 해당 정보가 로컬의 /etc 디렉토리에 있음을 나타냅니다. Table 2–2에 나열된 소스를 기반으로 default 등록 정보에 대해 다른 구성을 설정할 수 있습니다. 절차는 모든 이름 지정 데이터베이스의 소스를 변경하는 방법을 참조하십시오.
default 등록 정보를 사용하면 데이터베이스마다 소스를 구성하는 대신 모든 데이터베이스에 적용되는 소스를 구성할 수 있습니다.
다음 표에서는 위에 나열된 데이터베이스의 이름 서비스 스위치에 나열될 수 있는 소스 종류에 대해 설명합니다.
|
다음 검색 조건 형식을 사용하여 정보 소스를 하나 이상 선택하고 소스가 사용되는 순서를 지정할 수 있습니다.
단일 소스 — 정보 유형에 소스가 1개뿐인 경우(예: files) 스위치를 사용하는 검색 루틴에서 해당 소스의 정보만 검색합니다. 루틴에서 정보를 찾으면 success 상태 메시지를 반환합니다. 루틴에서 정보를 찾지 못하면 검색을 중지하고 다른 상태 메시지를 반환합니다. 루틴에서 상태 메시지에 대해 수행하는 작업은 루틴마다 다릅니다.
다중 소스 — 데이터베이스에 특정 정보 유형의 소스가 여러 개 포함되어 있는 경우 스위치가 첫번째 나열된 소스에서 검색하도록 검색 루틴에 지시합니다. 루틴에서 정보를 찾으면 success 상태 메시지를 반환합니다. 루틴이 첫번째 소스에서 정보를 찾지 못하면 다음 소스를 시도합니다. 루틴은 정보를 찾거나 return 지정에 의해 정지될 때까지 모든 소스를 검색합니다. 나열된 모든 소스가 검색했는데 정보를 찾지 못한 경우 루틴은 검색을 중지하고 non-success 상태 메시지를 반환합니다.
기본적으로 Oracle Solaris 11 릴리스에서는 files가 첫번째 소스입니다. 이 구성에서는 나열된 다음 소스를 사용할 수 없어도 시스템이 중단되지 않습니다.
루틴에서 정보를 찾으면 success 상태 메시지가 반환됩니다. 루틴에서 정보를 찾지 못하면 세 가지 오류 상태 메시지 중 하나를 반환합니다. 다음 표에는 가능한 상태 메시지가 나열되어 있습니다.
|
다음 표에 표시된 2가지 작업 중 하나로 상태 메시지에 응답하도록 이름 서비스 스위치에 지시할 수 있습니다.
|
또한 TRYAGAIN 상태 메시지의 경우 다음 작업을 정의할 수 있습니다.
forever – 현재 소스를 무기한 재시도합니다.
n – 현재 소스를 n회 더 시도합니다.
이름 서비스 스위치 상태 메시지와 작업 옵션의 조합에 따라 각 단계에서 검색 루틴이 수행하는 작업이 결정됩니다. 상태 메시지와 작업 옵션의 조합에 따라 검색 조건이 구성됩니다.
스위치의 기본 검색 조건은 모든 소스에서 동일합니다. 이 목록에는 여러 검색 조건에 대한 설명이 포함되어 있습니다.
UNAVAIL=continue. 다음 이름 서비스 스위치 소스로 이동하고 계속 검색합니다. 이 소스가 마지막 또는 유일한 소스인 경우 NOTFOUND 상태로 반환합니다.
NOTFOUND=continue. 다음 이름 서비스 스위치 소스로 이동하고 계속 검색합니다. 이 소스가 마지막 또는 유일한 소스인 경우 NOTFOUND 상태로 반환합니다.
TRYAGAIN=3. 현재 소스를 3번 검색합니다. 3번 재시도한 후 TRYAGAIN 작업이 continue로 전환되고 다음 이름 서비스 스위치 소스를 검색합니다.
앞의 목록에 표시된 STATUS=action 구문을 통해 다른 조건을 명시적으로 지정하여 기본 검색 조건을 변경할 수 있습니다. 절차는 데이터베이스에 대한 검색 조건을 구성하는 방법을 참조하십시오.
클라이언트 라이브러리 루틴에는 특정 SMF 등록 정보나 default SMF 등록 정보가 이름 서비스 스위치에 정의되어 있지 않거나 등록 정보의 구문이 잘못된 경우 사용되는 compiled-in 기본 항목이 들어 있습니다. 일반적으로 이러한 compiled-in 기본값은 “files”뿐입니다.
auto_home 및 auto_master 테이블과 맵에 대한 스위치 검색 조건은 automount라는 단일 범주로 결합됩니다.
timezone 테이블은 이름 서비스 스위치를 사용하지 않으므로 테이블이 스위치의 등록 정보 목록에 포함되지 않습니다.