MKFS(8)MKFS(8)NAME
mkfs, mkext - archive or update a file system
SYNOPSIS
disk/mkfs [-aprvxS] [-d dest] [-n name] [-s source] [-u users] [-z n]
[-G group] [-U user] proto ...
disk/mkext [-d name] [-f] [-h] [-T] [-u] [-v] [ file ... ]
DESCRIPTION
Mkfs copies files from the file tree source (default /) to a kfs file
system (see kfs(4)) assumed to be mounted on dest (default: /n/kfs).
The proto files are read, and any files specified in them that are out
of date are copied to dest. See proto(6) for the description of file
system prototype files.
Mkfs by default copies only those files that are out of date. Such a
file is first copied into a temporary file in the appropriate destina‐
tion directory and then moved to the destination file. Files in the
kfs file system that are not specified in the proto file are not
updated and not removed.
The options to mkfs are:
-a Instead of writing to a kfs file system, write an archive file
to standard output, suitable for mkext. All files in proto are
archived, not just those out of date.
-x For use with -a, this option writes a list of file names, dates,
and sizes to standard output rather than producing an archive
file.
-n name
Use kfs.name.cmd as the name of the command file for the kfs(4)
assumed to be mounted on dest.
-p Update the permissions of a file even if it is up to date.
-r Copy all files.
-s source
Copy from files rooted at the tree source.
-u users
Before copying any other file, copy file users into
dest/adm/users, and if the -n option was given, also issue the
kfs(4) command users to update kfs's own user list.
-v Print the names of all of the files as they are copied.
-z n Copy files assuming kfs is using a block size of n bytes
(default 1024). If a block contains only 0-valued bytes, it is
not copied.
-S For use with the -d option, make owner and group of each file
copied match the original.
-G group
Force all files copied to have the given group.
-U user
Force all files copied to be owned by the given user.
Mkext unpacks an archive created by the -a option of mkfs, read from
the standard input. If one or more files are specified on the command
line, only those files are unpacked. If a file is a directory, all
files and subdirectories of that directory are also unpacked. When a
file is unpacked, the entire path is created if it does not exist. If
no files are specified, the entire archive is unpacked; in this case,
missing intermediate directories are not created. The options are:
-d dir Treat dir (default as the root directory when unpacking the ar‐
chive.
-h Print headers for the files on standard output instead of
unpacking the files.
-T Restore the modification times of the files.
-u Set the owners of the files created to correspond to those in
the archive and restore the modification times of the files.
-v Print the names and sizes of files as they are extracted.
EXAMPLES
Make an archive to establish a new file system (assuming that the out‐
put file arch is not referenced by proto):
bind '#U' /n/local
disk/mkfs -a -s /n/local proto > arch
Unpack that archive on another machine:
mount tcp!server /n/remote
disk/mkext -u -d /n/remote < arch
FILES
/lib/proto
directory of prototype files.
/lib/proto/all
contains a single + (archive any directory structure)
SOURCE
/appl/cmd/disk/mkfs.b
/appl/cmd/disk/mkext.b
SEE ALSOfs(1), kfs(4), proto(6), kfscmd(8)MKFS(8)