This section describes problem in which NIS+ was unable to find some object or principal. Symptoms include error messages with operative clauses such as:
"Can't find suitable transport for name"
"Unable to find"
"Unable to stat"
The most likely cause of some NIS+ object not being found is that you mistyped or misspelled its name. Check the syntax and make sure that you are using the correct name.
A likely cause of an object not found problem is specifying an incorrect path. Make sure that the path you specified is correct. Also make sure that the NIS_PATH environment variable is set correctly.
Remember that all servers are clients of the domain above them, not the domain they serve. There are two exceptions to this rule:
When using a fully qualified name you must end the domain name with a period. If you do not end the domain name with a period, NIS+ assumes it is a partially qualified name. However, the domain name of a machine should not end with a dot in the /etc/defaultdomain file. If you add a dot to a machine's domain name in the /etc/defaultdomain file, you will get Could not bind to server serving domainname error messages and encounter difficulty in connecting to the net at system start.
The NIS+ object may not have been found because it does not exist, either because it has been erased or not yet created. Use nisls -l in the appropriate domain to check that the object exists.
When you create or modify an NIS+ object, there is a time lag between the completion of your action and the arrival of the newly updated information at a given replica. In ordinary operation, namespace information may be queried from a master or any of its replicas. A client automatically distributes queries among the various servers (master and replicas) to balance system load. This means that at any given moment, you do not know which machine is supplying you with namespace information. If a command relating to a newly created or modified object is sent to a replica that has not yet received the updated information from the master, you will get an "object not found" type of error or the old out-of-date information. Similarly, a general command such as nisls may not list a newly created object if the system sends the nisls query to a replica that has not yet been updated. (Unlike NIS, there is no binding with NIS+.)
You can use nisping to resync a lagging or out-of-sync replica server.
Alternatively, you can use the -M option with most NIS+ commands to specify that the command must obtain namespace information from the domain's master server. In this way, you can be sure that you are obtaining and using the most up-to-date information.
Note: Use the -M option only when necessary, because a main point of having and using replicas to serve the namespace is to distribute the load and thus increase network efficiency.
One or more of the files in /var/nis/data directory has become corrupted or erased. Restore these files from your most recent backup.
Sometimes an object is there, sometimes it is not. Some NIS+ or operating system commands report that an NIS+ object does not exist or cannot be found, while other NIS+ or operating system commands do find that same object.
Use nisls to display the object's name. Look carefully at the object's name to see if the name actually begins with a blank space. (If you accidentally enter two spaces after the flag when creating NIS+ objects from the command line with NIS+ commands, some NIS+ commands will interpret the second space as the beginning of the object's name.)
If an NIS+ object name begins with a blank space, you must either rename it without the space or remove it and then recreate it from scratch.
If you cannot change to a directory on another host, the problem may be an automounter problem. Under NIS+, automounter names must be renamed to meet NIS+ requirements. NIS+ cannot access /etc/auto* tables that contain a period in the name. For example, NIS+ cannot access a file named auto.direct.
Use nisls and niscat to determine if the automounter tables are properly constructed.
Change the periods to underscores. For example, change auto.direct to auto_direct. (Be sure to change other maps that might reference these.)