Once started, the server locates its configuration file and reads it. The configuration option svas_root tells the server where to find its root directory, and one or more options svas_serve tell the server where to find other devices containing volumes to be served. When you start from scratch, you have no root directory, and you have to create one. The server is able to run without a root directory, but you can't do much with a server that has no file system, other than use it to format devices and make file systems (which corrspond to volumes) on those devices.
In order to make bootstrapping as easy as possible, after the server reads its configuration file, it can start a Tcl shell and read another file of commands.
One of the configuration options, svas_tclshell, determines whether the server will start a Tcl shell. If the value of svas_tclshell is yes or true, a shell is started, and the option svas_shellrc is inspected. If svas_shellrc is set, it names a file of Tcl commands, which are interpreted when the shell starts.
The file of Tcl commands is a convenience, not a requirement. When you are experimenting with the system, you might often throw away everything and start over.
When you throw away your Shore volumes and log and start from scratch, you are doing the Shore counterpart of re-installing Unix. The analogous activity in Unix is to reformat your disks and install Unix from scratch, making file systems with mkfs(8) or newfs(8)). There are enough steps to this process that you don't want to have to do it by hand each time.
That's the reason for the file of Tcl commands: it makes the process of starting from scratch automatic. Once your system is configured and running, and you are in "production mode", you can dispense with the Tcl command file. As long as you don't intend to reformat your disks, you can start a server without an Tcl commands; all you have to do in this case is to set the SVAS options svas_root and svas_serve so that the SVAS can mount the root directory and serve your non-root volumes. On the other hand, it does not hurt anything to run the server with a Tcl shell and to have it read the Tcl command file each time it starts.
The release contains a file of Tcl commands called shore.rc. These commands determine if the root file system was mounted when the server started running. If not, the Tcl commands format the root volume and create a Shore file system on it. The commands also create several directories that are required by the example applications.
If you want to replace the file of Tcl commands with your own version, or if you want to avoid reading such a file altogether, edit your options file (beta.options), and change or remove the command that sets the option svas_shellrc.
The release comes with a file of Tcl library procedures, vas.tcllib, which you can replace at your will, with the option svas_tcllib.
We suggest that you first run the Shore Server (SVAS) according to the directions in the testing section of the Installation Manual.
When you start the server, you will see several messages looking like this:
Warning: no database administrator -- running under userid 1966, groupid 2363 Looking for run command file "~/shore.rc"... serve ./volumes/vol8k serve ./volumes/miniroot Done serving devices and making filesystems. root = 0.0.0.0:10.20007 See if /small exists in the Shore namespace. /small does exists See if / exists in the Shore namespace. / does exists Done putting together the namespace. Done reading ~/shore.rc. Welcome to the Shore Value-Added-Server Version (Beta-$Id: running.src,v 1.11 1995/09/14 15:34:44 nhall Exp $) (0)%
You can ignore most of these messages.
The SVAS is now running a Tcl shell in the window in which you started the server. As you run clients, you can also run Tcl shell commands to the SVAS. Unfortunately, this shell has no user guide, but is has some on-line help. Type "commands" or "help".
The server shuts down when you type the command bye, which is synonymous with quit, q, exit, and x. You can also run the program sshutdown, which contacts the server and causes it to shut down.
If you want to change the location of your logs or the location of your data volumes, you will need to edit shore.rc (or whatever file you have chosen as your file of Tcl commands). Warning: If your volumes or log are on an AFS file system, the server will be sluggish, and you must take care that the volumes and logs have the necessary AFS permissions so that the user who runs the server can create and update the volumes and log files.
The file of Tcl commands does several things:
If you want to change the location or size of your file system, look at the volume table at the beginning of the file. The comments there are self-explanatory.