INSTALL_CLIENT(8) — MAINTENANCE COMMANDS
NAME
install_client − create a diskless NFS client
SYNOPSIS
/usr/etc/setup/install_client [ −v ] [ −x ] [ −b swap_size ] [ −s swap_file ] [ −r root_dir ] [ −u usr_dir ] [ −h home_dir ] [ −p pid ] [ −n os_release ] client machine_arch
DESCRIPTION
install_client adds a diskless NFS client to a Solbourne server. It can only be run by the super-user.
The client argument is the hostname of the diskless client to be installed. The machine_arch argument specifies the client machine’s architecture (for instance S4000 or Series6 ). When run with no arguments, install_client displays a usage message that includes the proper machine_arch argument for each supported architecture.
A log of all invocations of install_client is maintained in /var/log/diskless_log, along with all other diskless client configuration and de-installation activity.
OPTIONS
−v Enable verbose output message display during execution.
−x Execute the "set -x" command to enable shell execution tracing. This feature is useful for determining the actions of install_client, but will cause the script to detect an error after normal processing has completed, and the client will not be installed.
-b swap_size
Specifies the number of bytes to reserve for the client’s swap file. You can append one of K or k to indicate kilobytes, M or m to indicate megabytes, or B or b to indicate 512-byte blocks, to swap_size. Otherwise, swap_size is taken to indicate an exact byte count. See mkfile(8) for more detail. It is recommended that this value always be at least as many megabytes as the amount of physical memory installed in the client. By default, swap_size has the value "32M", or 32 Mbytes.
-s swap_file
Name of the file to create for the client’s swap area. It will be swap_size bytes large; the file system containing swap_file must have sufficient free disk space, or else "no space" messages will appear. By default, the pathname /export/swap/client/swap.client will be used.
-r root_dir
Pathname of the directory which will become the client’s root directory. If specified, this directory must already exist, and a symbolic link to it will be created in /export/root/client. If not specified, the client root directory will be /export/root/client.
-u usr_dir
Directory which will become the client’s /usr directory. This is normally /export/exec/machine_arch.
-h home_dir
Pathname of the directory that the client is to mount as /home. home_dir may be the pathname of a directory located on the server, or a fully specified NFS mounted directory, such as homeserver:/home/client.
-p pid Process id of system administration installation tool handling display output. This option should only be used when install_client is invoked by the system administration tool.
-n os_release
Indicates the operating system and release level of the executables the client will use. This enables a server to support clients of the same machine type, but different OS release levels, simultaneously. For os_release, use a description such as osmp.4.1B or sunos.4.1.2. Use the same string as was earlier used as the argument to the -n option of config_server(8).
The effect is to obtain executables from subdirectories of /export/exec, /export/exec/kvm, and /export/root which indicate the OS release. For example:
example# install_client -n osmp.4.1B popcorn Series5 The above command obtains executables for the client named “popcorn” from /export/exec/Series5.osmp.4.1B, and so forth.
Use the -n option when a client has the same machine type as the server, but a different OS version; or the same machine type as another client on the server, but a different OS version from that client.
USAGE
Before you install diskless clients, you must first make sure that the Internet and Ethernet addresses for client and the Solbourne server are listed in the NIS hosts database (if the server is running the NIS), or in the server’s /etc/hosts and /etc/ethers databases, respectively (otherwise). If install_client is executed when domainname is anything other than “noname,” then install_client uses the NIS database. If domainname set, but you do not use NIS; temporarily set the domainname to “noname” prior to running install_client, then restore the domainname once install_client has completed.
The server must have previously been configured for this machine_arch architecture. This should be done using the config_server(8) command. Then, run install_client with appropriate arguments. After adding a client, you must then bootstrap that client machine. For Solbourne diskless clients, set the EEPROM environment variable DEFAULTBOOT to tftp.ei(,,<server_inet>)/export/root/client/vmunix, where <server_inet> is the last (rightmost) portion of the server’s Internet address. This will allow autobooting of the Solbourne client.
install_client updates the /etc/bootparams file.
If the server is a NIS master, install_client updates the local NIS databases. It does not propagate the local update to other NIS servers. To propagate the updates, use the following commands:
example# cd /var/yp
example# make
If the server is running NIS but is not a NIS master, install_client updates only the local database. The master database must be updated as well.
The /etc/exports file will also be updated by install_client (see exportfs(8)) to export the directories it has installed. Symbolic links are traversed to get to the real pathnames, and then previous entries in /etc/exports are scanned looking for parent directories which may already be exported, and updated appropriately. It is not recommended that the /usr or /home directories be used for the /export directory, since this would require all diskless clients to have root access permission to the entire /usr or /home directory. There can also be errors with /usr/etc/exportfs when more than ten clients are installed. The system administrator should verify /etc/exports to make sure that the listed directories have been exported to the correct groups, and all required systems have the desired access privileges. It may be necessary to set up network groups (see netgroup (5)) when installing more than ten clients.
The system administrator should make certain that the client’s hexadecimal address is not listed in the /tftpboot directory of an other server on the network. Otherwise, the wrong tftp daemon may respond.
If a fatal error is detected during the installation process, install_client will display a message and the remove all directories and files created for client.
If you want to run install_client and install a diskless client somewhere other than under /export, set the environment variable EXPORT_DIR to override the default value /export.
NOTE: Because OS/MP does not suppport the older network disk (nd) software, it is not possible for a server running OS/MP to support clients which are not also running the OS/MP release for their architecture.
EXAMPLES
These examples show how to add diskless NFS clients to a Solbourne server. The first command installs a Solbourne Series5 client into the default directories using a 32 megabyte swap file. The second command assumes that "/bigdisk/swap" is a directory in another file system with lots of free space, and installs a sun3 client.
example# install_client -b 32M frodo Series5
example# install_client -s /bigdisk/swap/swap.bozo bozo sun3
FILES
/etc/hosts hosts database
/etc/ethers database of hostnames and Ethernet addresses
/etc/bootparams database for diskless clients to determine their root and swap files
/etc/exports database of exported file systems
/exports directory or symbolic link to directory which will contain client root and swap directories.
/var/log/diskless_log
log of all diskless client configuration and installation activity
SEE ALSO
exportfs(8), config_server(8), remove_client(8)
Solbourne Installation Guide
Solbourne System and Network Administration Manual
DIAGNOSTICS
Must be run by the super user
You must be root to use install_client.
Can not determine domainname
Could not determine the yellow pages domainname of the server. See domainname (1).
Client internet address not found ...
You must add the client’s Internet address to the hosts database before using install_client.
Can not convert internet address
An error occurred trying to convert the client internet address to it’s hexadecimal form. Verify the internet address specified in the hosts database.
Can not find “client” ethernet address
You must add the client’s Ethernet address to the ethers database before using install_client.
Invalid machine architecture “mach”
You specified a machine architecture which is not supported.
Can not create client root directory ...
An error occurred while trying to create the new client’s root directory. Verify symbolic links and check permissions of parent directories.
Can not execute ’dirname’
An error occurred while executing dirname (1) to determine the swap file parent directory. Check permissions on directories.
Can not create client swap file
An error occurred while creating the client swap file. Usually this means the file system ran out of free disk space. Verify the swap file name, and free space of the file system.
Can not create tftpboot link
An error occurred creating the symbolic link in the /tftpboot directory for the client’s hexadecimal Internet address. Make sure there is a boot.<machine_arch> file in /tftpboot.
Can not update bootparams
An error occurred while adding the client information to /etc/bootparams. Check permissions and verify the bootparams database.
Can not create temporary exports file
An error occurred creating a copy of the /etc/exports file in /tmp. Verify permissions and free space in /tmp.
Error occurred installing new server data file
An error occurred while updating server /etc/exports and /etc/bootparams files. Verify these files are correct, and run /usr/etc/exportfs -a if necessary.
Error in /etc/exports
An error was detected by exportfs (8) . Check and correct the /etc/exports file and run /usr/etc/exportfs.
Server /tftpboot/boot.<arch> does not exist
Check machine architecture and run config_server (8) first.
The directory “dir” does not exist on server
The specified directory does not exist. Use the config_server (8) command to create the normal client /export directories first.
The directory/link “dir” already exists
The pathname /export/root/<client> already exists. This client name may already be in use. Pick a new hostname, or else use remove_client (8) to remove the old client directories.
Client root directory “dir” does not exist
The client root_dir specified as a argument does not already exist. Verify name and create the directory first before using install_client.
WARNING: There may not be enough free disk space ...
The /export directories on the server may not have enough free disk space for a successful client installation. Use the df(1) command to verify. The must be enough space for the client swap file plus an additional 2000 Kbytes.
Solbourne Computer, Inc. — 29 Dec 1993