Operating System - HP-UX
1754365 Members
4557 Online
108813 Solutions
New Discussion юеВ

ypinit/ypxfr always give "RPC: Program not registered" error (resend)

 
David Trusty
Frequent Advisor

ypinit/ypxfr always give "RPC: Program not registered" error (resend)

Hi,

[For some reason, my previous post is unreachable...]

I cannot get our 11.0 server to initialize
NIS. The master is a Linux machine.

Here are the diagnostics:
# ypinit -s genetics.swmed.edu
Transferring group.bygid for domain genetics-nis from genetics.swmed.edu...
genetics.swmed.edu: RPC: Program not registered
ypxfr: can't mv /usr/local/tmp/AAAa05614.pag to /var/yp/genetics-nis/group.bygid.pag
ypxfr: rename error: couldn't mv /usr/local/tmp/AAAa05614 to /var/yp/genetics-nis/group.bygid
Transferring group.byname for domain genetics-nis from genetics.swmed.edu...
genetics.swmed.edu: RPC: Program not registered
ypxfr: can't mv /usr/local/tmp/AAAa05615.pag to /var/yp/genetics-nis/group.byname.pag

# ypwhich
morpheus.swmed.edu

# domainname
genetics-nis

# rpcinfo -s
program version(s) netid(s) service owner
100000 2,3,4 udp,tcp,ticlts,ticotsord,ticots rpcbind superuser
100029 2,1 ticots,ticotsord,ticlts keyserv superuser
100007 1,2 udp,tcp ypbind sys
100024 1 udp,tcp status superuser
100021 2,4,3,1 udp,tcp nlockmgr superuser
100020 1 tcp,udp llockmgr superuser
100068 5,4,3,2 udp cmsd superuser
100083 1 tcp ttdbserver superuser
100005 3,1 tcp,udp mountd superuser
100003 3,2 udp nfs superuser
# rpcinfo -p
program vers proto port service
100000 4 tcp 111 rpcbind
100000 3 tcp 111 rpcbind
100000 2 tcp 111 rpcbind
100000 4 udp 111 rpcbind
100000 3 udp 111 rpcbind
100000 2 udp 111 rpcbind
100007 2 tcp 49152 ypbind
100007 2 udp 49177 ypbind
100007 1 tcp 49152 ypbind
100007 1 udp 49177 ypbind
100024 1 tcp 49153 status
100024 1 udp 49188 status
100021 1 tcp 49154 nlockmgr
100021 1 udp 49191 nlockmgr
100021 3 tcp 49155 nlockmgr
100021 3 udp 49192 nlockmgr
100021 4 tcp 49156 nlockmgr
100021 4 udp 49193 nlockmgr
100020 1 udp 4045 llockmgr
100020 1 tcp 4045 llockmgr
100021 2 tcp 49157 nlockmgr
100068 2 udp 49213 cmsd
100068 3 udp 49213 cmsd
100068 4 udp 49213 cmsd
100068 5 udp 49213 cmsd
100083 1 tcp 49158 ttdbserver
100005 1 udp 49249 mountd
100005 3 udp 49249 mountd
100005 1 tcp 49165 mountd
100005 3 tcp 49165 mountd
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs

# swlist
# Initializing...
# Contacting target "atlas.swmed.edu"...
#
# Target: atlas.swmed.edu:/
#

#
# Bundle(s):
#

A4924A B.11.00.11 1000Base-SX HSC Gigabit Ethernet Driver
B3392BA B.11.00.01 HP-UX Developer's Toolkit for 11.0
B3901BA B.11.01.06 HP C/ANSI C Developer's Bundle for HP-UX 11.00 (S800)
B3909CA B.11.01.06 HP FORTRAN Compiler and associated products (S800)
B3909DB B.11.01.06 HP Fortran 90 Compiler and associated products (S800)
B3913CB B.11.01.06 HP C++ Compiler (S800)
B3913DB B.11.01.06 HP aC++ Compiler (S800)
B3919EA_AGS B.11.00 HP-UX Unlimited-User License
B3929BA B.11.00 HP OnLineJFS (Advanced VxFS)
B3939A_APZ B.11.00 HP-UX PHIGS 3.40 Development Environment
B6196AA_APZ B.11.00 HP-UX 700 OpenGL 3D Graphics API Run Time Environment
B6323BA 6.1 CXperf Performance Analyzer
B6817AA B.11.00.05.0.17 ObAM Runtime Environment
B8110AA C.01.21.00 HP-UX Development Kit for Java 2
B9788AA 1.3.1.05.00 Java2 1.3 SDK for HP-UX
BUNDLE B.11.00 Patch Bundle
GSLDevEnv B.11.00 GSL Starbase/PEX Development Environment
GSLRuntime B.11.00 GSL Starbase/PEX/DirectAccess Runtime Environment
HPUXEng64RT B.11.00 English HP-UX 64-bit Runtime Environment
HWE1100 B.11.00.0403.3 Hardware Enablement Patches for HP-UX 11.00, March 2004
Integ-Logon B.11.00 Integrated Logon Bundle
J2559C D.06.21 Hewlett-Packard JetAdmin for Unix Utility
KernDev B.11.00 HPUX Kernel Developers Kit
OnlineDiag B.11.00.13.16 HPUX 11.0 Support Tools Bundle
QPK1100 B.11.00.64.4 Quality Pack for HP-UX 11.00, March 2004
T1471AA A.03.10.002 HP-UX Secure Shell
UXCoreMedia B.11.00 HP-UX Media Kit (Reference Only. See Description)
XSWGR1100 B.11.00.53.2 HP-UX General Release Patches, June 2001
...

Anyideas?

Thanks,

David


9 REPLIES 9
SureshKumar_2
Valued Contributor

Re: ypinit/ypxfr always give "RPC: Program not registered" error (resend)

Hi David,

1) May I know, in which flavour of Linux u have tried.?

Is that NIS/NIS+?

2) morpheus.swmed.edu -- May I know what is this m/c?? (Is this same systems/other Master NIS)

check the entries in /etc/rc.config.d/namesvrs,
----
NIS_MASTER_SERVER=0
NIS_SLAVE_SERVER=1
NIS_CLIENT=1
NIS_DOMAIN="genetics-nis"
-------

3) Above NIS_DOMAIN entry assumed - the domain in which ur NIS Master Server is laying.

On the Master server, If u get output for
rpcinfo -p
then ur rpc port has been binded for nis server. (And also check 100007 port has ypbind.)

4) Restart the services (/sbin/init.d/nis.server, /sbin/init.d/nis.client)

**) If these are not solving problem, then could u please give the output of the following on the master server
*) rpcinfo
*) ypwhich
*) domainname

All the best
Things are very easy, when u know about it...
Victor Fridyev
Honored Contributor

Re: ypinit/ypxfr always give "RPC: Program not registered" error (resend)

Hi,

It seems to me you forgot to add subnet of this machine to /var/yp/securenets file on your NIS-master machine.

HTH
Entities are not to be multiplied beyond necessity - RTFM
David Trusty
Frequent Advisor

Re: ypinit/ypxfr always give "RPC: Program not registered" error (resend)

Hi,

Thanks for responding. Here is the info you
requested:

1. The master is running Redhat 9
2. The machine "morpheus.swmed.edu" is another
slave server -- a HPUX 11i machine (seems
to connect to the master just fine...)
The /etc/rc.config.d/namesvrs is as you
assumed.
3. Here is rpcinfo -p from the master:
[root@genetics yp]# rpcinfo -p
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 32768 status
100024 1 tcp 32768 status
100021 1 udp 32769 nlockmgr
100021 3 udp 32769 nlockmgr
100021 4 udp 32769 nlockmgr
391002 2 tcp 32769 sgi_fam
100011 1 udp 839 rquotad
100011 2 udp 839 rquotad
100011 1 tcp 842 rquotad
100011 2 tcp 842 rquotad
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100005 1 udp 32770 mountd
100005 1 tcp 32770 mountd
100005 2 udp 32770 mountd
100005 2 tcp 32770 mountd
100005 3 udp 32770 mountd
100005 3 tcp 32770 mountd
100004 2 udp 971 ypserv
100004 1 udp 971 ypserv
100004 2 tcp 974 ypserv
100004 1 tcp 974 ypserv
100007 2 udp 989 ypbind
100007 1 udp 989 ypbind
100007 2 tcp 992 ypbind
100007 1 tcp 992 ypbind
100009 1 udp 722 yppasswdd
4. ypwhich on the master gives the master's
IP address
5. domainname on the master gives "genetics-nis"

I have no /var/yp/securenets file. Here is
the documentation for it on the master:
"If the /var/yp/securenets file does not exist, ypserv will allow connections from
any host."

Any ideas?

Thanks!!

David
SureshKumar_2
Valued Contributor

Re: ypinit/ypxfr always give "RPC: Program not registered" error (resend)

Hi

*) To confirm that NIS Master is working fine, run ypxfr on NIS another slave server - and check. If this is going thru' v may need to check only on new server which v r going to add...

*) Please check the /etc/rpc

ypxfrd 100069

has enabled, in NIS Master and slave. this could be the possible cause that u might be getting ypxfr: RPC Program not registered.
I suspect this could be the problem, since the rpcinfo -p didnt shown that ypxfrd is running on the port 100069.

*) There could be another possiblity, the ypservers entry may not have new slave server IP.
To do that,
o) # cd /var/yp/domainname
o) # makedbm -u ypservers >/tmp/temp_file
o) Add the NIS Slave server name into that file
o) # makedbm /tmp/temp_file ypservers
o) To confirm that, #makedbm -u ypservers

On New server.
# cd /var/yp
# /usr/sbin/ypinit -s genetics.swmed.edu

Hope these all documents will help you.

ALL THE BEST!
Things are very easy, when u know about it...
David Trusty
Frequent Advisor

Re: ypinit/ypxfr always give "RPC: Program not registered" error (resend)

Hi,

I think I found the problem, and it looks like
it is a bug in the ypxfr code.

Look at this system call (tusc) trace of
ypxfr:
...
stat("/var/yp/genetics-nis/passwd.byname.dir", 0x7aff1904) ................................ ERR#2 ENOENT
stat("/usr/local/tmp/AAAa06268.dir", 0x7aff2584) .......................................... = 0
stat("/usr/local/tmp/AAAa06268.pag", 0x7aff2584) .......................................... = 0
rename("/usr/local/tmp/AAAa06268.pag", "/var/yp/genetics-nis/passwd.byname.pag") .......... ERR#18 EXDEV


As you can see, the NIS file is transferred
to the slave server, but the slave server
tries to rename the temp file into the
/var/yp file system and gets an error.

Do you concur? Any ideas on how to fix it?

Thanks,

David
Dave Johnson_1
Super Advisor

Re: ypinit/ypxfr always give "RPC: Program not registered" error (resend)

my guess is the direcory /var/adm/genetics-nis does not exist. ENOENT is defined as:
[ENOENT] No such file or directory. This error occurs when a file name is specified and the file should exist but does not, or when one of the directories in a path name does not exist. It also occurs with msgget(), semget(), and shmget() when key does not refer to any object and the IPC_CREAT flag is not set.

while EXDEV is defined as:
[EXDEV] Cross-device link. A link to a file on another device was attempted.

If it does exist what is the output of:
ll -d /var/adm/genetics-nis
when run on the HP that is failing. Perhaps it is a permission problem.

Later
-Dave
David Trusty
Frequent Advisor

Re: ypinit/ypxfr always give "RPC: Program not registered" error (resend)

Hi,

I found the cause. The problem is that there
was an environment variable (TMPDIR) set
to /usr/local/bin.

When I removed that variable, it works.

Thanks for helping with this problem!!

David
A. Clay Stephenson
Acclaimed Contributor

Re: ypinit/ypxfr always give "RPC: Program not registered" error (resend)

That error indicates that the source and destination for the rename() system call are not on the same filesystem.
If it ain't broke, I can fix that.
A. Clay Stephenson
Acclaimed Contributor

Re: ypinit/ypxfr always give "RPC: Program not registered" error (resend)

Ooops, I hit [Submit] too quickly.

Normally, when rename() fails with EXDEV, the code would then try what would amount to a cp command followed by a rm. It's not done like this in C but the net effect is a cp and a rm or simply a mv.

In summary, this error is probably not significant because there should be a fallback operation if the easy method (rename) fails.
If it ain't broke, I can fix that.