CREATE(8) CREATE(8) NAME create, inst, info - archive or update a file system SYNOPSIS 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 DESCRIPTION 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 vari- ables. 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 direc- tory 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: -u 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 prod- uct. 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. Page 1 Plan 9 (printed 12/22/24) CREATE(8) CREATE(8) -U Build an update package distribution instead. This is a hybrid of a base distribution and an update distribution. -v Print out the files as they go into the archive. -x Print out the files that would go into the archive but do not actually archive them. -o 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 : -c Carry on regardless when errors occur. The default behaviour is to exit on encountering an error. -h Only print the names of the files in the archive. -t Give each installed file the same date stamp as indicated by that file's entry in the archive. -u Give each installed file the same date stamp, user id and group id as shown in the archive. -v Print out the names of directories as they are installed. -F Force the installation of the files in the archive even when the corresponding local file has appar- ently been locally updated or already exists. -r root Specifies the root of destination tree where the files will be copied to. Page 2 Plan 9 (printed 12/22/24) CREATE(8) CREATE(8) Info prints information about either a specific file pro- duced 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 speci- fies the the root of the tree to look in. This defaults to /. EXAMPLES 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. SOURCE /appl/cmd/install/arch.b /appl/cmd/install/create.b /appl/cmd/install/info.b /appl/cmd/install/inst.b /appl/cmd/install/proto.b /appl/cmd/install/wrap.b SEE ALSO archfs(4) Page 3 Plan 9 (printed 12/22/24)