NSPACE(3): name space conventions
SYNOPSYS
; NS=' / /
/zx tcp!server!zx
'
; Importzx
DESCRIPTION
This page describes the conventions for the name space. The importzx(1) command imports the main tree which follows such conventions.Clive terminals operate on hosted environments. Clive servers may be native (not yet, really) or hosted.
The main tree is usually mounted at /zx
and
its dump can be found at /dump
. The
/once
tree keeps stuff not be dumped. The
dump contains a frozen version of the main tree for each day.
Directories named tmp
or
tmp.*
or *.tmp
or
containing a file named NODUMP
are never
copied to the dump. Files with names starting with a dot character
(.
) are never dumped.
The name space is usually specified by either a environment variable
($NS
) or by a file at
$HOME/NS
. In both cases, the text describes
the name space. The environment variable may be just the path for a
file describing the name space, and acts as an indirection to that
file in such a case.
The description of the name space is a series of lines, one per mount entry. A line can be a printed directory entry (with attribute/value pairs, as expected). In that case, the path for the directory is used as the mount point and the directory is mounted there.
A line can be also a pair of strings, the first is the path for the mount point and the second refers to the resource mounted there. The resource may be a path, in which case it refers to a local file, or it may be a resource address as described in addr(3), to refer to the addressed resource.
For example,
/ /
/zx unix!localhost!zx
The name space is a prefix table and the longest prefix wins, but each prefix may have more than one entry (i.e., be a union).
These files can be expected in the name space.
/bin
- local terminal binaries for the hosting system
/bin/rc
- The Rc shell, always kept at the terminal
/once
- Root of mounted non-archived main tree
/dump
- Root of the mounted dumps
/dump/zx
-
Root of dump for
the
zx
tree /dump/zx/2014/0509/...
- Copy of files for the named year and day
/zx
- Root of the main tree
/zx/bin
- Binaries
/zx/bin/rc
- Portable scripts. Non portable scripts are kept on a per-architecture directory along with binaries.
/zx/bin/darwin_amd64
- Binaries for OSX on amd64 hosts.
/zx/bin/bsd_amd64
- Binaries for BSD on amd64 hosts.
/zx/bin/linux_amd64
- Binaries for Linux on amd64 hosts.
/zx/cfg
- Copy of configuration for servers and terminals
/zx/doc
- Documents
/zx/lib
- System wide libraries (eg, bibliography, icons, etc.)
/zx/mail
- Copy of system wide e-mail files
/zx/sys
- Source for the system
/zx/sys/bin
-
To make
/sys
go compliant, should not be used. Use/zx/bin/*
directories instead. /zx/sys/doc
- White papers for the system
/zx/sys/man
- Source for manual pages.
/zx/sys/golang
- Source for the lsub branch of the go compiler
/zx/sys/pkg
-
To make
/sys
go compliant. /zx/sys/src
- System source
/zx/sys/src/clive
- Source for clive packages and binary commands
/zx/sys/src/clive/cmd
- Source for clive binary commands
/zx/sys/src/clive/x
- Source for external go packages (google code, etc.).
/zx/usr
- Home and project directories
/zx/usr/web
- Web pages
/zx/usr/p9p
- Plan9ports copy
/x
- Directory for xcmd(1) to execute commands on lsub systems.
/x/nautilus
- Commands run at nautilus, see xcmd(1).
/x/nautilus/web
-
Web command
run at nautilus, see
xcmd(1).
SEE ALSO