Administration Guide : Command-line manual pages

DTREBUILD(8) manual page


dtrebuild - ``desktop'' maintenance of AppleShare volumes


/usr/etc/appletalk/dtrebuild [ -dlev |-D ] [ -ro ] [ -a ] [ -u user ]
[ -chroot rootdir ] [ -n ] [ -OP ... ] [ file|dir|volume ... ]


This program may be used to maintain some databases used by the AppleShare server, a la ``Rebuild Desktop'' on the Mac. FullPress and WebNative users may also use it to (re)create FPO/WEB images. This application is also called in normal operations from the FullPress GUI and different WebNative CGIs. It performs one or more operations on one or more files, directories and/or AppleShare volumes. Running dtrebuild with no arguments will produce an up-to-date list of available OPerations.

In the absence of the -a option, most of the OPerations may be run on a selected subset of AppleShare volumes or directories (or sometimes files), by listing a series of file, dir and/or volume arguments. In the absence of either the -a option or named volumes/files, the operations will be performed on all public volumes if run by root, else all of the user's private volumes. Dtrebuild will refuse to work on directories within KFS volumes.


The following command-line options control the behaviour of all OPerations done by dtrebuild:
-d lev
Turns on debugging for a subset of items. lev is a hex bitmask. See opidebug(5) for a listing of what bits control what.
Turns on ALL debugging and sends the messages to standard error.
Don't actually perform any of the selected OPerations, but print, on standard output, what changes each operation would make.
(root only) do all the OPerations on every volume. This means all public volumes as well as every user's private volumes. If a user only has a defaulted home directory volume, and has no desktop file in the home directory, that volume will be skipped. WARNING: on servers using the automount(8) er, this could cause a number of NFS mounts, possibly waiting indefinitely for some NFS servers to respond. Also, some OPerations must be run on all available AppleShare volumes, since they clean out old, unused volume information. When those operations are selected, this option is implied.
-u user
(root only) restricts the volume list to ones for the specified user. This option may not be used along with the -a option or OPerations that must be done on all volumes.
-chroot rootdir
Runs the entire program with the root of the filesystem changed to rootdir. This option is useful when working from an installation miniroot.
This option affects the following OPs: fpo epsfpo web locfpo pict nofpo. With -n, the notification given to fpod to make a preview will be the kind that only suggests the preview is needed, not force it to be rebuilt. What this means is, if the file is on fpod's hold list because it has failed before, it will not be moved up to the processing queue to be retried sooner than its scheduled retry time.

The following OPerations are supported. Selecting any OP that must be done on all volumes implies that all selected OPs will be done on all volumes.

Does nothing; however, some Volume and File-searching debug messages are generated only within the nop operation.
Delete old Resource forks that don't match existing data forks. Remove Desktop file entries for files that are no longer present. Set the Type and Creator for any file with creator currently blank, or set to ``????'', ``uxex'', ``UNIX'' or ``uxtt'' (does not set the type for files with no type/creator info - see kats(1) for that operation).
(implies -clean). Adds an option to the clean operation to clear a byte in the extra finder-info flags on folders that MacOS uses to mark Desktop Printers. This could possibly have unknown consequences if other folder information is stored in that byte (undocumented by Apple).
Irreversibly destroy all AppleShare-specific information in the specified volumes or directories. This will delete every .HSResource directory it comes across. Should only be used on directory trees that will never again be used as AppleShare volumes.
Clean out a volume's Trash folder. It removes as many files as it can, including individual trash folders not locked by a client. Volume references must be by Volume Name, the volume's root, or the Trash folder itself.
Clean out old File IDs and Directory IDs that no longer correspond to real files. If large subdirectories have been deleted via (for example) the Unix ``rm'' command, this operation can free up space inside the FileID database.
(root only) Replace the File/Directory ID database. This may be necessary if the database is corrupt. If both fid and refid operations are requested, only refid will be done.
  On MS Windows servers:
This operation does not retain any current File or Directory ID information, and only replaces the Directory IDs (no FileIDs). Unless the filesystem has undergone radical changes, this should not cause IDs for existing files to change. While this operation is in progress, clients that have the volume mounted may experience temporary folder access problems.
  On all other servers:

The current File/Directory ID database (if present) is moved aside and recreated to reflect the current filesystem. Files and directories with the same path in the old ID database will retain their IDs, whether or not their inode is the same. This operation is recommended for volumes on filesystems that have been restored from backup or moved to different media or platform. The volume should not be mounted by any AFP clients while this operation is in progress.

Update the Icon Database. Reads icons referenced by BNDL resources and stores them in the icon database. When run on all volumes, the database is deleted before anything is stored.
Update the Application Database. When run on a whole volume (starting with the volume's top-level directory), every entry for that volume is deleted first. When the -a option is also specified, the entire Application Database is deleted before storing entries for all applications currently on all volumes.
(Fullpress only) Removes any FPOs associated with image files. This OP can work on files or directories, whether or not they're part of an OPI volume.
(Fullpress only) Removes any WEB-specific previews (GIFs and/or JPEGs) associated with image files. This operation is independent of the rmfpo option, but if both are specified, all FullPress- and Webnative-specific additions to a file are deleted (this does not include PICT previews or custom icons).
(Fullpress, root only) Rebuild FPOs in the specified volume or directory, or FPO(s) for the given file(s), using current FPO option settings. Doesn't actually rebuild them directly, but instructs fpod(8) to do it. This can take a long time on volumes with many image files in them.
(Fullpress, root only) Differs from the fpo operation in that it only remakes FPOs that are EPS format.
(Fullpress, root only) Force a remake of PICT previews made by FullPress for any Web or FPO images. This can be used with other fpo operations, but forces dtrebuild to work on all images that can have a low-res version.
(Fullpress, root only) Do whatever is necessary to keep FPOs up to date with regard to their location. It either updates the location information inside an FPO or, if the FPO is out of date, does a rebuild.
(Fullpress, root only) Make FPOs (and/or WEB previews) for those files that are missing them. This option is ignored if the fpo, epsfpo or web operation is also specified.
(root only) Force a re-make of WebNative volume images. Unless the fpo option is also specified, only the GIF/JPEG low-resolution images will be made on volumes where WebNative is enabled.
(root only, not available on Windows NT) Convert pre-FullPress-version-9 custom folder icons to the version 9 format. This may be done any number of times and will have no effect if the folder icons are already in version 9 format.
(root only) Scans a directory for OS X native applications and reads their icons into the icon database. These icons are then used by OS 9 clients and WebNative.
(root only) Installs Xinet default Mac OS X -format volume icons onto specified volumes, but only if no Mac OS X icon is already installed. This option must be performed at the top level of a public volume (does not affect personal volumes).

See Also

ksd(8) , opidebug(5) , fpovolopts(5) , fpod(8)


public AppleShare volumes list
per-user volumes list
FPO options per AppleTalk volume
AppleShare Server File/Directory ID databases
(except on MSWin platform) AppleShare Server File/Directory ID databases
AppleShare Server Icon Database
AppleShare Server Application Database