ypmake(1M) ypmake(1M)
NAME
ypmake: make - Dateien für den Netzverwaltungsdienst NIS erzeugen
SYNTAX
cd /var/yp; make [NOPUSH=1] [mname]
BESCHREIBUNG
Das Kommando make(1), im Dateiverzeichnis /var/yp ausgeführt, erzeugt
aus vorhandenen ASCII-Dateien die Standard-Netzverwaltungsdateien
(NIS-Maps) im dbm-Format.
Das Kommando kann z. B. angewendet werden, wenn eine herkömmliche
ASCII-Datei Informationen enthält, die allen Rechnern einer Domäne
zugänglich gemacht werden sollen (z. B. die Datei /etc/yp/passwd mit
den globalen Benutzerkennungen).
Über das Menüsystem SIfmllan wird das Kommando automatisch aufgerufen,
wenn Änderungen an Netzverwaltungsdateien vorgenommen wurden.
Das Kommando make auf die Netzverwaltungsdateien angewendet, benötigt
Konvertierungsparameter und Kommandoaufrufe [z. B. makedbm(1M)], die
in Makefile im Dateiverzeichnis /var/yp hinterlegt sind.
Um Änderungen der Netzverwaltungsdateien mit make vorzunehmen, müssen
diese Änderungen zunächst in den jeweiligen ASCII-Dateien eingetragen
werden.
Auszug aus der Datei /var/yp/Makefile:
#
..........
#
SHELL=/usr/bin/ksh
DOM = 'domainname'
NOPUSH = " "
YPDIR =/usr/sbin
YPDBDIR=/var/yp
ALIASFILE=$(APDBDIR)/aliases
YPPUSH=$(YPDIR)/yppush
MAKEDBM=/usr/sbin/makedbm
ALIAS=$(YPDIR)/ypalias
STDHOSTS=$(YPDBDIR)/stdhosts
REVNETGROUP=$(YPDBDIR)/revnetgtoup
PASSWD=/etc/yppasswd
GROUP=/etc/ypgroup
ALIASES=/usr/lib/aliases
YPSERVERS=/var/yp/ypservers
NETGROUP=/var/yp/netgroup
HOSTS=/etc/inet/hosts
SERVICES=/etc/inet/services
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
ypmake(1M) ypmake(1M)
PROTOCOLS=/etc/int/protocols
NETWORKS=etc/inet/networks
RPC=/etc/rpc
ETHERS=/etc/ethers
MAIL=/var/yp/mail.aliases
TIMED=/etc/inet/timed
all: ypservers rest
rest: passwd group networksk netgroup protocols\
services rpc mail
setup:
@echo passwd.byname '$(ALIAS) passwd.byname' >> $(ALIASFILE);
@echo passwd.byuid '$(ALIAS) passwd.byuid' >> $(ALIASFILE);
@echo group.byname '$(ALIAS) group.byname' >> $(ALIASFILE);
@echo group.byuid '$(ALIAS) group.byuid' >> $(ALIASFILE);
@echo hosts.byname '$(ALIAS) hosts.byname' >> $(ALIASFILE);
@echo hosts.byaddr '$(ALIAS) hosts.byaddr' >> $(ALIASFILE);
@echo networks.byname '$(ALIAS) networks.byname' >> $(ALIASFILE);
@echo networks.byaddr '$(ALIAS) networks.byaddr' >> $(ALIASFILE);
@echo netgroup.byuser '$(ALIAS) netgroup.byuse' >> $(ALIASFILE);
@echo netgroup.byhost '$(ALIAS) netgroup.byhost' >> $(ALIASFILE);
@echo protocols.byname '$(ALIAS) protocols.byname' >> $(ALIASFILE);
@echo protocols.bynumber '$(ALIAS) protocols.bynumber' >> $(ALIASFILE);
@echo services.byname '$(ALIAS) services.byname' >> $(ALIASFILE);
@echo services.byport '$(ALIAS) services.byport' >> $(ALIASFILE);
@echo rpc.byname '$(ALIAS) rpc.byname' >> $(ALIASFILE);
@echo rpc.bynumber '$(ALIAS) rpc.bynumber' >> $(ALIASFILE);
@echo ypservers '$(ALIAS) ypservers' >> $(ALIASFILE);
@echo timed '$(ALIAS) timed' >> $(ALIASFILE);
@echo $(ALIASFILE) | uniq > .ypaliases; mv .ypaliases >> $(ALIASFILE);
@echo "setup of /var/yp/aliases"
passwd: passwd.push
passwd.push: passwd.time
-@if [ ! "$(NOPUSH)" -a -f $(PASSWD) }: then \
$(YPPUSH) passwd.byname; \
$(YPPUSH) passwd.byuid; \
/var/yp/map2system passwd; \
touch $@; echo "pushed $(@:.push+)"; \
fi
passwd.time: $(PASSWD)
-@if { -f $(PASSWD) ]; then \
domain=$(DOM);\
awk 'BEGIN {FS="="; OFS="\
/[a-zA-Z0-9]/ { print $$1, $$0}' \
$(PASSWD) \
$(MAKEDBM) - $(YPDBDIR)/'$(ALIAS) -d $$domain'/'$(ALIAS)passwd.byname'; \
awk 'BEGIN {fs=":"; ofs="\\T"; } \
/[a-zA-Z0-9]/ { print $$3, $$0 }' \
$(PASSWD) \
$(MAKEDBM) - $(YPDBDIR)/Q$(ALIAS) -d $$domainQ/Q$(ALIAS) passwd.byuid'; \
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98
ypmake(1M) ypmake(1M)
touch $@; echo "updated $(@:.time=)"; \
else \
echo "source of map $(@:.time=) not found; map not done"; \
fi
.
.
Für jede ASCII-Datei, die dem Netzverwaltungsdienst standardmäßig
zugänglich gemacht werden soll, muß in der Datei Makefile ein entspre-
chender Eintrag existieren. Das Kommando make führt die Anweisungen
aus, die in Makefile eingetragen sind. Die so erzeugten Netzverwal-
tungsdateien können automatisch mit dem Kommando yppush(1M) an die
Stellvertreter-Rechner übergeben werden.
OPTIONEN
Keine Option angegeben:
Das Kommando erzeugt von allen geänderten, in Makefile eingetra-
genen ASCII-Dateien Dateien für den Netzverwaltungsdienst. Die
Dateien werden automatisch auf die Stellvertreter-Rechner
kopiert.
NOPUSH=1
yppush wird nicht durchgeführt.
mname
Name einer ASCII-Datei, die dem Netzverwaltungsdienst zugänglich
gemacht werden soll.
BEISPIEL
Änderungen in der ASCII-Datei /etc/inet/hosts auf dem Netzver-
waltungs-Rechner sollen dem Netzverwaltungsdienst zugänglich gemacht
werden. Dazu geben Sie ein:
cd /var/yp; make hosts
Das System meldet:
updated hosts
pushed hosts
SIEHE AUCH
make(1), makedbm(1M), yppush(1M).
Seite 3 Reliant UNIX 5.44 Gedruckt 11/98