Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ ypmake(1M) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

make(1)

makedbm(1M)

yppush(1M)

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

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026