SUMMARY: ypserv dies on an SS-1

From: Dave Spott (ssi!ssiwest!spott@uunet.uu.net)
Date: Wed Jul 31 1991 - 20:05:52 CDT


   I received several replies, but unfortunately they were either not
applicable in our particular case or were too expensive to implement (one
person said that he switched machines from an SS-1 to an SS-2).

   Many thanks to those who responded:

uunet!bond.crim.ca!hall (Ron Hall)
"Manavendra K. Thakur" <uunet!zerkalo.harvard.edu!thakur>
uunet!phyast.nhn.uoknor.edu!feldt (Andy Feldt)

   I have included Manavendra's response below because there are several
general principles that are good to know.

David Spott
Supercomputer Systems, Inc.
uunet!ssi!spott

Manavendra writes:

I can immediately think of three things to look for:

1) The ascii file from which the services NIS map is built (usually
   /etc/services on the NIS master) has a blank line in it. Blank
   lines in the services map will cause random failures of exactly the
   type that you describe.

2) Make sure that your portmapper hasn't died. If it has, then you
   will need to reboot. Make sure that ypserv is started after
   portmap in /etc/rc.local

3) Make sure that /etc/rpc (or the corresponding rpc NIS map) has an
   entry that looks like this:

        ypserv 100004 ypprog

Finally, you can apply this patch to /var/yp/Makefile to ensure that
any blank lines in /etc/services get stripped out while making the
services NIS map:

*** /var/yp/Makefile.411 Wed Jul 17 14:42:54 1991
--- /var/yp/Makefile Fri Jul 19 10:34:35 1991
***************
*** 108,113 ****
  
  services.time: $(DIR)/services
! @(awk 'BEGIN { OFS="\t"; } $$1 !~ /^#/ { print $$2, $$0 }' \
! $(DIR)/services $(CHKPIPE))| $(MAKEDBM) - $(YPDBDIR)/$(DOM)/services.byname;
  
          @touch services.time;
--- 108,116 ----
  
  services.time: $(DIR)/services
! @umask 022;
! @(sed -e '/^[ ]*$$/d' -e '/^$$/d' $(DIR)/services $(CHKPIPE)) | \
! (awk 'BEGIN { OFS="\t"; } $$1 !~ /^#/ { print $$2, $$0 }' \
! $(CHKPIPE))| \
! $(MAKEDBM) - $(YPDBDIR)/$(DOM)/services.byname;
  
          @touch services.time;

NOTE: in the line

        @(sed -e '/^[ ]*$$/d' ...

The characters in between and including the brackets are the
following:

        left bracket
        tab
        space
        right bracket

I thought I would make this explicit, since some mailers or editors
will expand the tab into spaces.

Good luck!



This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:06:20 CDT