COHERENT manpages

This page displays the COHERENT manpage for install [Install a software update onto COHERENT].

List of available manpages
Index


install -- Command

Install a software update onto COHERENT
/etc/install [-c] id device ndisks

The command  install installs  an update of  the COHERENT system  onto your
hard disk.  id identifies the update to be installed.  device is the device
from which  the update disks will  be read.  ndisks is  the number of disks
that comprise the update.

Option -c  tells install to  uncompress compressed files  directly from the
installation disks,  rather than  copy the  compressed files onto  disk and
uncompress them there.  install reads information about compression formats
and options from file /etc/install.u. This switch permits software packages
other than COHERENT to use compressed files.

Third-Party Software

install also provides a standard mechanism by which software developers can
install their  software onto systems  that run COHERENT.  The  rest of this
article  discusses how  to prepare  a software  release so  that it  can be
installed using install.

For install to be able to install a software distribution, the distribution
must consist  of a set of  mountable floppy disks, each  holding a COHERENT
file system created by mkfs. This keeps the disks independent of each other
and also lets  the user to insert the disks  in any order.  install records
the  fact  that it  has  read  a given  disk  from  the distribution,  thus
preventing the  user from attempting  to read a  given disk more  than once
during an installation session.

Floppy disks should be built using mkfs. Each disk in the distribution must
hold in its root directory a file whose name is of the form:

    /id.sequence

Here, id identifies the release, as  described above.  Note that id must be
formed from  the set of  upper- and lower-case letters,  digits, the period
`.', and  the underscore character  `_', and not exceed  nine characters in
length.  sequence  indicates which disk  in the distribution  this disk is,
from one through the total number of disks.

install uses  the command cpdir to  copy each of the  distribution disks to
directory / on the current  system.  Therefore, every disk should be ``root
based'' (i.e., full path names should  be used).  Because install is run by
the  superuser,  cpdir preserves  the  date  and time  for  each file,  and
preserves  ownership and  modes.  To  keep  file ownership  consistent with
COHERENT conventions,  make files that are neither  setuid nor setgid owned
by  user  bin and  group  bin.  install recreates  on  your  hard disk  all
directories that it finds on the distribution disks, as needed.  Be careful
when  choosing the  ownership  and mode  of directories  because you  could
inadvertently compromise the security of your users' systems.

Preprocessing

When you  load a  disk, install  seeks a file  named id.disk.pre  upon that
disk.  If it finds such a file, install assumes that that file is a script,
copies it into directory /conf, and executes it from there before it copies
any files from the disk onto  your system.  If you are installing COHERENT,
it uses the command:

    id.disk.pre id.disk.arch

If you are  updating a package rather than installing  it, install uses the
command:

    id.disk.pre -u id.disk.arch

install always gives  the same argument to the .pre  script.  As its suffix
.arch  indicates, the  argument usually  names a  file whose  contents name
files that should be archived install  copies the contents of the disk onto
your system.  install  merely passes the name of the  .arch file that might
exist on  the installation disk  to the .pre  script: it is up  to the .pre
script to check  for the existence of the .arch  file, read it, and perform
the archiving.  Of course, the  .pre script can ignore this argument should
it choose.

For example, if you are installing X Windows onto your COHERENT system, the
identifier is CohX. When you load  the first disk into your system, install
looks for  file CohX.1.pre on  that disk.  If  it finds that  file, install
copies it  into directory /conf  on your root  file system, and  invokes it
with the command:

    /conf/CohX.1.pre CohX.arch

All of this occurs before install copies any files from that disk onto your
system.  In this  way, files can be archived or  otherwise backed up before
they are overwritten by the package you are installing onto your system.

One last  behavior should  be noted:  if install finds  a .pre file  on the
first disk of the installation kit,  it also seeks on that disk a file that
has  the  suffix  .supp  on   that  disk.   The  suffix  .supp  stands  for
``suppression'': normally,  it names files  that are not to  be copied from
the release onto your system.  It is the flip side of the .arch file.

Note that  you can mount  the disks of  a release and edit  these .arch and
.supp files before you install the  package onto your system.  In this way,
you can  protect your system from being damaged  by installing new software
onto your system.

Postprocessing

After  all disks  in a  distribution have been  successfully copied  by the
user, install checks for the existence of a file of the form

    /conf/id.post

where id matches the id field found on the install command line.  If found,
install  executes this  file to allow  special ``postprocessing,''  such as
installing manual pages  into directory /usr/man or executing installation-
specific commands.

Before an  installation procedure  completes its postprocessing,  it should
remove any id files of the following form from the target system:

    /conf/id.post
    /id.sequence

Adding Manual-Page Entries

As part of building a distribution, you usually must generate pre-processed
or  ``cooked'' manual-page  entries for distribution  with your  upgrade or
add-on  package.   These  should be  inserted  into  the subdirectories  of
/usr/man, with the name of the subdirectory being specific to your product.
This  naming  convention  avoids  name-space  collisions,  should  multiple
applications use the same name for a manual-page entry.

If you  install new or additional  manual pages, you must  update the index
file   used  by   the  man   command  to   locate  manual   entries.   File
/usr/man/man.index on the target file system contains index entries for all
manual pages  on the  system.  As part  of postprocessing, you  must append
index information  for your manual pages  to the end of  the existing index
file.  In addition,  file /usr/man/man.help contains the man command's help
message.  This  includes a list of valid topics  and some explanatory text.
You should also append to this file a brief list of the manual page entries
that  you have  added.  For  further information on  manual pages,  see the
Lexicon entry for the command man.

Logging

install  logs  all  partial as  well  as  completed  installations in  file
/etc/install.log.  This  information  includes  date/time  stamps  and  the
command-line arguments to install.

Example

The following installs COHERENT update coh.301, which consists of one disk,
from a high-density 5.25-inch floppy drive:

    /etc/install coh.301 /dev/fha0 1

Files

/etc/install.log

See Also

commands,
man,
mkfs