선택한 맵의 마스터 서버를 변경하려면 먼저 새 NIS 마스터에서 맵을 작성해야 합니다. 이전 마스터 서버 이름은 기존 맵에서 키-값 쌍으로 발생하기 때문에(이 쌍은 makedbm에 의해 자동으로 삽입됨) ypxfr을 사용하여 복사본을 새 마스터로 전송하거나 맵을 새 마스터에 복사하는 것만으로 충분하지 않습니다. 키를 새 마스터 서버 이름과 다시 연결해야 합니다. 맵에 ASCII 소스 파일이 있는 경우 이 파일을 새 마스터에 복사해야 합니다.
자세한 내용은 Oracle Solaris 11.2의 사용자 및 프로세스 보안 의 지정된 관리 권한 사용을 참조하십시오.
newmaster# cd /var/yp
그렇지 않은 경우 지금 Makefile을 편집합니다. 이 예에서는 sites.byname 맵의 항목을 추가합니다.
newmaster# make sites.byname
sites.byname 맵을 만든 Makefile 섹션을 주석 처리하여 맵이 더 이상 만들어지지 않도록 합니다.
먼저 ypcat 명령을 사용하여 sites.byname 파일의 복사본을 역어셈블합니다. 그런 다음 makedbm을 통해 역어셈블된 버전을 실행합니다.
newmaster# cd /var/yp newmaster# ypcat sites.byname | makedbm domain/sites.byname
새 마스터에 맵을 만든 후 새 맵의 복사본을 다른 슬레이브 서버로 보내야 합니다. 다른 슬레이브는 새 마스터 대신 이전 마스터에서 새 복사본을 가져오기 때문에 yppush를 사용하지 마십시오. 이를 피하는 일반적인 방법은 새 마스터의 맵 복사본을 다시 이전 마스터로 전송하는 것입니다. 이전 마스터 서버에서 수퍼 유저 또는 동등한 역할의 사용자로 로그인하고 다음을 입력하면 됩니다.
oldmaster# /usr/lib/netsvc/yp/ypxfr -h newmaster sites.byname
이제 yppush를 실행해도 됩니다. 나머지 슬레이브 서버는 여전히 이전 마스터가 현재 마스터라고 간주하고 이전 마스터에서 현재 버전의 맵을 가져오려고 합니다. 클라이언트가 이 작업을 수행하면 새 마스터 이름을 현재 마스터로 지정하는 새 맵을 가져오게 됩니다.
이 방법이 실패하면 각 NIS 서버에서 루트로 로그인하고 표시된 대로 ypxfr 명령을 실행할 수 있습니다.