El siguiente procedimiento describe cómo suprimir y eliminar bases de datos desde Makefile.
Este procedimiento requiere que ya se haya configurado un servidor maestro NIS.
Para obtener más información sobre cómo obtener los permisos apropiados para realizar tareas específicas, consulte Uso de sus derechos administrativos asignados de Protección de los usuarios y los procesos en 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
El orden de las entradas no es relevante, pero el espacio en blanco al principio de las líneas de continuación deben una tabulación, no espacios.
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
Donde
CHKPIPE asegura que las operaciones a la izquierda de la conducción (|) se completen satisfactoriamente antes de conducir los resultados a los siguientes comandos. Si las operaciones a la izquierda de la conducción no se realizan correctamente, el proceso se terminará con un mensaje NIS make terminated.
NOPUSH evita que makefile llame a yppush para transferir el nuevo mapa a los servidores esclavos. Si NOPUSH no está definido, el envío se realiza automáticamente.
El bucle while al principio está diseñado para eliminar las líneas extendidas con barra diagonal inversa en el archivo de entrada. La secuencia de comandos sed elimina comentarios y líneas vacías.
Siga el mismo procedimiento para todos los demás mapas del montador automático, como auto_home, o cualquier otro mapa no predeterminado.
# make mapname
Donde mapname es el nombre del mapa que desea crear.
Si no desea que Makefile produzca mapas para una base de datos específica, edite Makefile como se indica a continuación.
Por ejemplo, para suprimir la base de datos hosts, la entrada hosts.time debería eliminarse.
Por ejemplo, para suprimir la base de datos hosts, se debe eliminar la entrada hosts: hosts.time.