[manual index][section index]


create, inst, info - archive or update a file system


install/create [-u] [-U] [-v] [-x] [-o] [-p proto] [-r root] [-s source] [-N uid] [-G gid] [-d description] name

install/inst [-c] [-h] [-t] [-u] [-v] [-F] [-r root] name [prefix ...]

install/info [-r] package


Create copies files from the file tree source (default /) to an output file in archive format appropriate for a software distribution. The name of the output file is the time that the archive was made. The latter includes wrap headers that describe the distribution. Name is typically the name of the product or software package. The -p option specifies the prototype file proto to use to build the archive.

Each line of the proto file specifies a file to copy. Indentation is significant, with each level of indentation corresponding to a level in the file tree. Fields within a line are separated by white space. The first field is the last path element in the destination file tree. The second field specifies the permissions. The third field is the owner of the file, and the fourth is the group owning the file. The fifth field is the name of the file from which to copy; this file is read from the current name space, not the source file tree. All fields except the first are optional.

Names beginning with a $ are expanded as environment variables. If the first file specified in a directory is *, all of the files in that directory are copied. If the first file is %, all of the non-directory files in that directory are copied. If the first file is +, all of the files are copied, and all subdirectories are recursively copied.

Files in the source tree that are not specified in the proto file are not placed in the archive.

The remaining options to create are:

Build an update distribution rather than a base distribution. In this case name should be the name of the previous archive file built for this product. Only files that are out of date with respect to the latter are included in the archive. Files which no longer exist will be marked for removal.
Build an update package distribution instead. This is a hybrid of a base distribution and an update distribution.
Print out the files as they go into the archive.
Print out the files that would go into the archive but do not actually archive them.
Copy the archive file to the standard output rather than putting it in a date stamped output file.
-r root
Specifies the location of any previous archives for this product.
-N uid
Give all the files in the archive the user id specified.
-G gid
Give all the files in the archive the group id specified,
-d description
Give a description of the distribution. This is placed in the wrap header files.

Inst installs archive files made by create . Name is the name of the archive file to install. Any further names after this are treated as path prefixes and only files in the archive that have one of the given prefixes are actually installed. The option to inst are :

Carry on regardless when errors occur. The default behaviour is to exit on encountering an error.
Only print the names of the files in the archive.
Give each installed file the same date stamp as indicated by that file's entry in the archive.
Give each installed file the same date stamp, user id and group id as shown in the archive.
Print out the names of directories as they are installed.
Force the installation of the files in the archive even when the corresponding local file has apparently been locally updated or already exists.
-r root
Specifies the root of destination tree where the files will be copied to.

Info prints information about either a specific file produced by create or about all files making up a package in the /wrap tree. In particular base packages, full updates and partial updates are distinguished. The -r option specifies the the root of the tree to look in. This defaults to /.


Make an archive to establish a new base package for an Inferno distribution:

install/create -o -N inferno -G inf -d InfernoOS -p PROTO Inferno.1.0 > inferno.arch

Here the name of the product is Inferno.1.0.

Install that archive on another machine:

install/inst -r / inferno.arch

Here the product is placed in / with the user and group ids being set to those of the person doing the installation.





CREATE(8 ) Rev:  Thu Feb 15 14:43:55 GMT 2007