3.26 POSIX, UNC, and NetWare Paths

There are four common file path formats that Redline uses.

  • UNC (Universal Naming Convention) is used commonly on Windows and occasionally on NetWare. An Example of UNC is \\servername\volumename\path

  • Mapped Drive format is used exclusively on Windows. An example is driveletter:\path1\path2

  • NetWare path format is used exclusively on NetWare. An Example is volumename:\path1\path2, or server/volume:\path1\path2

  • POSIX is used on Linux, but also is used on NetWare by Redline. A POSIX example is /path1/path2

    Although Redline gathers most its information via HTTP (and thus is file system independent), there are several circumstances when file paths must be specified (and hence the specific format used is important):

  • The RLAGENT and RLCENTER configuration files specify directory paths for internal Redline directories such as the Database or Reports locations.

  • The RLAGENT file may contain PATH specifications for integrated components such as BES, Guinevere, and the API Gateway that do not have HTTP servers.

  • Behind the scenes, Redline gathers log file information from many agents. These log files must be in an accessible location.

    On Linux and Windows systems, the rules are straightforward:

  • For Linux boxes, all paths must be POSIX format. UNC, mapped drive, or NetWare paths will not function. When first installed, all your paths will be in POSIX, and you must keep them that way.

  • For Windows, you may use either mapped drive or UNC format. POSIX, NetWare paths will not function correctly. When first installed, all your paths will be in mapped drive format, and you may alter them between mapped drive and UNC as desired.

    On NetWare, the situation is a bit more complicated. If Redline is installed in its default location, and all of the component agents are on the SYS volume, all should work perfectly. Otherwise:

  • Regarding issue 1, if you need to change these paths (and in normal operation, even when moving Redline to another volume, this is not needed), POSIX format is required. See below for the POSIX and NetWare path discussion

  • Regarding issue 2: POSIX, NetWare, and UNC paths are all accepted in the PATH section. Hence, it is recommended that you use NetWare or UNC paths, and avoid the POSIX path issues described below

  • Regarding issue 3: Redline will automatically deal with NetWare Log File paths read from the HTTP server and convert them to POSIX format internally, creating mount points as needed (under sys:\mnt\posix\volumename). So, no extra configuration is normally needed. If you really want to understand more about mount points, read on.

3.26.1 NetWare and POSIX Path Conversion

Consider a standard Netware server, named MJBSERVER, with 2 volumes, SYS and DATA1. Now let’s take the example of GroupWise being installed on this server, first on the SYS volume and then the DATA1 volume. For simplicity, we’ll assume the GroupWise agents are all installed under a directory right off the root of the volume named GRPWISE.

Start with the GRPWISE directory on SYS, the Netware path is volume:\path, so in this case it is the straightforward SYS:\GRPWISE. POSIX format is /path1/path2. In this case, it is simply /grpwise. The only change is to eliminate the volume name and changed to forward slashes.

Other examples of path conversions on SYS would be SYS:\system vs. /system, or SYS:\novell\webacc vs. /novell/webacc. It may be clear that an issue will arise shortly: namely that POSIX paths don’t include volume names.

Let us move the GroupWise system to the volume DATA1

The NetWare path will still be straightforward. It will be DATA1:\grpwise. But what is the POSIX path? The way that Novell solved this problem was to allow users and programs to provide a “mapping” between POSIX paths and Netware volumes. More specifically, there is a file (which doesn’t exist by default) in SYS:\ETC called PATHTAB which contains entries such as: POSIXPath<space>NetwarePath

You may specify as many as you wish, using any text editor you please. So the first thing an administrator might do is create an entry like this: /mygw<space>DATA:\

One might then expect that I could use /mygw/grpwise to refer in POSIX format to DATA1:\grpwise. Similarly, if another directory was off the root of DATA1 called EXAMPLE. I could refer to in NetWare format as DATA1:\example and in POSIX as /mygw/example

There is one complication, that isn’t so obvious: NetWare is really using a “mount point” to represent the NetWare volume. The “mount point” must always exist on SYS, and can be more or less arbitrarily named (but shouldn’t collide with other directories on SYS)

This is a roundabout way of saying that whatever POSIX path specified in PATHTAB must have a corresponding directory structure on SYS. Let’s take another step-by-step example.

  • Create a POSIX path, and I have a directory named ANOTHEREXAMPLE off my GOOGLE volume. The NetWare path would be GOOGLE:\ANOTHEREXAMPLE

  • Open SYS:\etc\pathtab, and add a mount point. Remember that I can name it how I want. In this case I’m going to decide that I want a POSIX path of /mnt/myothervol/anotherexample in the end.

  • Add: /mnt/myothervol<space>GOOGLE:\

  • I’ll save PATHTAB, and then I will create off SYS the following: SYS:\mnt, SYS:\mnt\othervol. Their contents do not matter. A POSIX compliant program should now be able to use /mnt/myothervol/example and be redirected to GOOGLE:\anotherexample.

How is this relevant to Redline?

  • If you must change the internal configuration paths of Redline, they must be valid POSIX paths, constructed as above. If you have integrations that use the PATH entry in RLAGENT.CONF, and for some reason WANT to use POSIX, you can, but you must follow these guidelines.

  • Redline handles the issue of log files transparently. All it does is create mount points named sys:\mnt\posix\volume name and create a PATHTAB entry for you. This is done behind the scenes, so normally you don’t need to worry about it..