+fossilcons \- fossil console commands
+These are configuration and maintenance commands
+executed at the console of a
+The commands are split into three groups above:
+file server configuration,
+file system configuration,
+and file system maintenance.
+This manual page is split in the same way.
+.SS File server configuration
+treating each line as a command to be executed.
+Blank lines and lines beginning with a
+Errors during execution are printed but do not stop the script.
+is a file in the name space in which
+a file in any file system served by
+executes a 9P transaction; the arguments
+are in the same format used by
+It is useful when fossil
+is started without devices it needs configured
+toggles the debug flag and prints the new setting.
+When the debug flag is set, all protocol messages
+and information about authentication is printed to
+manages the network addresses at which
+prints the current list of addresses and their network directories.
+With one argument, listen
+starts a new listener at
+is only allowed to attach on a connection after
+at least one other user has successfully attached.
+flag allows connections from
+to check the IP address of incoming connections
+rejecting attaches from disallowed addresses.
+This mechanism is not intended for general use.
+uses it to comply with U.S. crytography
+prints the maximum internal 9P message queue size
+and the maximum number of 9P processes to
+allocate for serving the queue.
+options set the two variables.
+line for each configured file system
+line, if any, used to configure this file server.
+behaves like listen but uses
+rather than a network address.
+edits a list of console services rather than 9P services.
+prints the current list of services.
+to remove the named service.
+command below for a description of the
+manipulates entries in the user table.
+There is no distinction between users and groups:
+a user is a group with one member.
+For each user, the user table records:
+the string used to represent this user in the on-disk structures
+the string used to represent this user in the 9P protocol
+for a description of the special privileges held by a group leader)
+a comma-separated list of members in this group
+are usually the same string, but need not be.
+is used in file system structures archived to Venti,
+it is impossible to change those disk structures,
+and thus impossible to rename the
+allows the appearance of renaming the user even
+though the on-disk structures still record the old name.
+(In a conventional Unix file system, the
+is stored as a small integer rather than a string.)
+The second argument is a verb, one of:
+also create a home directory
+.BI /active/usr/ uname \fR
+but do not create a home directory
+throughout the user table
+group leader; then all members will be
+If the verb is omitted, the entire entry for
+The end of this manual page gives examples.
+manipulates the user table.
+The user table is a list of lines in the form printed
+flag resets the user table with the default:
+these users are mandatory: they must appear in all user
+files and cannot be renamed.
+flag reads a user table from the named
+flag writes the table to
+will be created if they do not exist.
+is automatically executed when the file system
+is automatically executed after each change to the user
+prints a list of users attached to each active connection.
+.SS File system configuration
+sets the current file system to
+which must be configured and open (q.v.).
+The current file system name is
+displayed as the file server prompt.
+stands for all file systems;
+are applied to each file system in turn.
+takes as an optional argument
+a command to execute on the named file system.
+Most commands require that the named file system
+be configured and open; these commands can be invoked
+prefix, in which case the current file system is used.
+operate on unopened file systems; they require the prefix.
+creates a new file system named
+This just adds an entry to fossil's internal table.
+option will be used instead;
+configuration file to avoid naming the partition that it is embedded in,
+making it more portable.
+establishes a connection to the Venti server
+(by default, the environment variable
+for use by the named file system.
+command is issued before
+the default Venti server will be used.
+If the file system is open,
+and was not opened with the
+the command redials the Venti server.
+This can be used to reestablish broken connections.
+It is not a good idea to use the command to switch
+between Venti servers, since Fossil does not keep track
+of which blocks are stored on which servers.
+opens the file system, reading the
+root and super blocks and allocating an in-memory
+cache for disk and Venti blocks.
+run with no authentication
+run with no permission checking
+do not attempt to connect to a Venti server
+allow wstat to make arbitrary changes to the user and group fields
+do not update file access times;
+primarily to avoid wear on flash memories
+open the file system read-only
+allocate an in-memory cache of
+settings can be overridden on a per-connection basis
+flushes all dirty file system blocks to disk
+and then closes the device file.
+removes the named file system (which must be closed)
+from fossil's internal table.
+.SS File system maintenance
+marks the block at disk address
+as available for allocation.
+Before doing so, it prints a
+that can be used to restore the block to its previous state.
+displays (in hexadecimal)
+the contents of the block at disk address
+bytes or until the end of the block.
+is given, the contents in that range are
+When writing to a block,
+prints the old and new contents,
+so that the change is easily undone.
+Editing blocks is discouraged.
+zeros an entry from a disk block.
+Before doing so, it prints a
+command that can be used
+removes the internal directory entry
+and abandons storage associated with
+It ignores the usual rules for sanity, such as checking against
+removing a non-empty directory.
+will identify the abandoned storage so it can be reclaimed with
+zeros a pointer in a disk block.
+Before doing so, it prints a
+command that can be used to restore the entry.
+checks the file system for various inconsistencies.
+If the file system is not already halted, it is halted for
+the duration of the check.
+If the archiver is currently sending a snapshot to Venti,
+the check will refuse to run; the only recourse is to wait
+for the archiver to finish.
+A list of keyword options control the check.
+to print the name of each block, directory, or file encountered.
+reports errors but does not fix them.
+options specify correcting actions that may be taken:
+closing leaked blocks, clearing bad file directory entries,
+clearing bad pointers, and clearing bad entries.
+option enables all of these; it is equivalent to
+scans the portion of the active file system held in the write buffer,
+avoiding blocks stored on Venti or used only in snapshots.
+to scan the portion of the file system stored on Venti,
+to take a very long time.
+creates a file on the current file system.
+see the discussion above, in the description
+is the low 9 bits of the permission mode of the file,
+set the append-only, directory, and lock bits.
+is formatted as described in the
+creating files or directories with the
+prints the amount of used disk space in the write buffer.
+sets the low file system epoch.
+Snapshots in the file system are given increasing epoch numbers.
+The file system maintains a low and a high epoch number,
+and only allows access to snapshots in that range.
+The low epoch number can be moved forward to discard old snapshots
+and reclaim the disk space they occupy.
+(The high epoch number is always the epoch of the currently
+reports the current low and high epoch numbers.
+is used to propose changing the low epoch to
+for snapshots that would be discarded, printing their
+commands necessary to remove them.
+The epoch is changed only if no such paths are found.
+The usual sequence of commands is (1) run epoch to
+print the snapshots and their epochs, (2) clri some snapshots,
+If the file system is completely full (there are no free blocks),
+may fail because it needs to allocate blocks.
+flag to epoch forces the epoch change even when
+it means discarding currently accessible snapshots.
+Note that when there are still snapshots in
+the archiver should take care
+of those snapshots (moving the blocks from disk to Venti)
+if you give it more time.
+flag to epoch causes it to remove any now-inaccessible
+snapshot directories once it has changed the epoch.
+This flag only makes sense in conjunction with the
+is a very low-level way to retire snapshots.
+The preferred way is by setting an automatic timer
+suspends all file system activity;
+displays and edits the label associated with a block.
+When editing, a parameter of
+means leave that field unchanged.
+Editing labels is discouraged.
+takes a temporary snapshot of the current file system,
+.BI /snapshot/ yyyy / mmdd / hhmm \fR,
+to take an archival snapshot, recording it in
+.BI /archive/ yyyy / mmdd \fR,
+By default the snapshot is taken of
+the root of the active file system.
+flag specifies a different source path.
+flag specifies a different destination path.
+These two flags are useful together for moving snapshots into
+immediately discards all snapshots that are more than
+The default timeout is the one set by the
+The discarding is a one-time event rather than
+displays and edits the times at which snapshots are automatically
+An archival snapshot is taken once a day, at
+while temporary snapshots are taken at multiples of
+Temporary snapshots are discarded after they are
+The snapshot cleanup runs every
+minutes or once a day, whichever is more frequent,
+so snapshots may grow to an age of almost twice the timeout
+before actually being discarded.
+prints the current snapshot times.
+options set the archive and snapshot times.
+can be used to disable that kind of automatic snapshot.
+option sets the snapshot timeout.
+temporary snapshots are not automatically discarded.
+By default, all three times are set to
+displays metadata for each of the named
+stat \fIfile elem uid gid perm length
+yields a valid command.)
+is an octal number less than or equal to 777,
+prefixed with any of the following letters
+to indicate additional bits.
+s \fRis the root of a snapshot
+The bits denoted by capital letters are included
+to support non-Plan 9 systems.
+They are not made visible by the 9P protocol.
+writes dirty blocks in memory to the disk.
+prints the Venti score for a
+archive containing the tree rooted
+which must already be archived to Venti
+changes the metadata of the named
+for any of the fields means ``don't change.''
+the Plan 9 distribution file server,
+uses the following configuration file:
+srv -p fscons.sources.adduserd
+fsys main config /dev/sdC0/fossil.outside
+The second console is used by the daemon
+that creates new accounts.
+and create his home directory:
+(with no home directory)
+To save an old (but not yet discarded) snapshot into the archive tree:
+snap -a -s /snapshot/2003/1220/0700 -d /archive/2003/1220