La procédure suivante explique comment ajouter et supprimer des bases de données dans le fichier makefile.
Cette procédure requiert la configuration préalable d'un serveur NIS maître.
Pour plus d'informations sur l'obtention des droits appropriés pour exécuter des tâches spécifiques, reportez-vous à la section A l’aide de vos droits administratifs attribués du manuel Sécurisation des utilisateurs et des processus dans 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
L'ordre des entrées n'est pas pertinent, mais l'espace vide situé au début des lignes de continuation doit être une tabulation, et non des espaces.
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
où
CHKPIPE veille à ce que les opérations à gauche de la barre verticale (|) soient correctement terminées avant d'envoyer les résultats aux commandes suivantes. En cas d'échec des opérations à gauche de la barre verticale, le processus prend fin et le message NIS not terminated s'affiche.
NOPUSH empêche makefile d'appeler yppush pour transférer la nouvelle carte aux serveurs esclaves. Si NOPUSH n'est pas défini, le transfert s'effectue automatiquement.
La boucle while est conçue pour éliminer toutes les lignes étendues par barre oblique inverse du fichier d'entrée. Le script sed élimine les lignes vides et de commentaire.
Il faut suivre la même procédure pour toutes les autres mappes de montage automatique (telles que auto_home) ou les cartes qui ne font pas partie des cartes par défaut.
# make mapname
Remplacez mapname par le nom de la carte que vous voulez créer.
Si vous ne souhaitez pas que le fichier Makefile produise des cartes pour une base de données spécifique, modifiez-le comme suit.
Par exemple, pour supprimer la base de données hosts, il faut supprimer l'entrée hosts.time.
Par exemple, pour supprimer la base de données hosts, vous devez supprimer l'entrée hosts: hosts.time.