다음 절차에서는 Makefile에 데이터베이스를 추가하고 삭제하는 방법에 대해 설명합니다.
이 절차를 수행하려면 NIS 마스터 서버를 이미 구성한 상태여야 합니다.
특정 작업을 수행할 수 있는 적절한 권한을 얻는 방법에 대한 자세한 내용은 Oracle Solaris 11.2의 사용자 및 프로세스 보안 의 지정된 관리 권한 사용을 참조하십시오.
all: passwd group hosts ethers networks rpc services protocols \ netgroup bootparams aliases netid netmasks \ audit_user auth_attr exec_attr prof_attr \ auto_direct
항목 순서는 관련이 없으며 구성 라인의 시작 부분에 있는 빈 공간은 공백이 아니라 탭이어야 합니다.
auto_direct: auto_direct.time auto_home: auto_home.time
auto_direct.time: $(DIR)/auto_direct @(while read L; do echo $$L; done < $(DIR)/auto_direct $(CHKPIPE)) | \ (sed -e "/^#/d" -e "s/#.*$$//" -e "/^ *$$/d" $(CHKPIPE)) | \ $(MAKEDBM) - $(YPDBDIR)/$(DOM)/auto_direct; @touch auto_direct.time; @echo "updated auto_direct"; @if [ ! $(NOPUSH) ]; then $(YPPUSH) auto_direct; fi @if [ ! $(NOPUSH) ]; then echo "pushed auto_direct"; fi
구문 설명
CHKPIPE는 결과를 다음 명령으로 파이프하기 전에 파이프(|) 왼쪽의 작업이 성공적으로 완료되었는지 확인합니다. 파이프 왼쪽의 작업이 성공적으로 완료되지 않은 경우 프로세스가 종료되고 NIS make terminated 메시지가 표시됩니다.
NOPUSH는 makefile이 새 맵을 슬레이브 서버로 전송하기 위해 yppush를 호출하지 못하도록 합니다. NOPUSH를 설정하지 않으면 푸시가 자동으로 완료됩니다.
시작 부분의 while 루프는 입력 파일에서 백슬래시 확장 라인을 제거하기 위한 것입니다. sed 스크립트는 주석과 빈 라인을 제거합니다.
auto_home이나 기본 맵이 아닌 맵 등 다른 모든 자동 마운트 맵에 대해 동일한 절차를 따릅니다.
# make mapname
여기서 mapname은 만들려는 맵의 이름입니다.
Makefile을 사용하여 특정 데이터베이스에 대한 맵을 생성하지 않으려면 다음과 같이 Makefile을 편집합니다.