The most likely reason to use it is to initialize the protection database when bringing up a new cell. The current syntax for this, presented below, needs improvement. pt_util can also be used when problems are suspected with the database. It can be used to dump the database or portions thereof, in several different ways, and to reload it.
The textual representation of the database has the following form: For users,
name flags/quota viceid ownerid creatorid
name flags/quota viceid ownerid creatorid a-username a-user-viceid
The second line is repeated for each member of the group. When reading the database, membership is not reported unless -members is also included.
In all cases, entry timestamps and other information is also not preserved.
The epoch and version are reported on standard error. On little-endian machines, they'll be byte swapped, so may be very random.
Before you do this, make sure ptserver is not running. If you have multiple database servers, make sure prdb.* does not exist on any server machine.
Now, type this in EXACTLY, including the leading space on the line indicated. But do use Control-D at the end, not up-arrow D.
pt_util -w admin 128/20 1 -204 -204 system:administrators 130/20 -204 -204 -204 admin 1 ^D
You will see this:
# pt_util -w pt_util: /var/lib/openafs/db/prdb.DB0: Bad UBIK_MAGIC. Is 0 should be 354545 Ubik Version is: 2.0 admin 128/20 1 -204 -204 system:administrators 130/20 -204 -204 -204 Error while creating system:administrators: Entry for id already exists admin 1 pt_util: Ubik Version number changed during execution. Old Version = 2.0, new version = 33554432.0 #
To make a complete copy of the database,
# pt_util -user -members -datafile /tmp/out
To load from the complete copy,
# pt_util -w -datafile /tmp/out
Don't do this until you read cautions, above.
Copyright (c) 2005 The Regents of the University of Michigan. ALL RIGHTS RESERVED.
Permission is granted to use, copy, create derivative works and redistribute this software and such derivative works for any purpose, so long as the name of the University of Michigan is not used in any advertising or publicity pertaining to the use or distribution of this software without specific, written prior authorization. If the above copyright notice or any other identification of the University of Michigan is included in any copy of any portion of this software, then the disclaimer below must also be included.
This software is provided as is, without representation from the University of Michigan as to its fitness for any purpose, and without warranty by the University of Michigan of any kind, either express or implied, including without limitation the implied warranties of merchantability and fitness for a particular purpose. The regents of the University of Michigan shall not be liable for any damages, including special, indirect, incidental, or consequential damages, with respect to any claim arising out of or in connection with the use of the software, even if it has been or is hereafter advised of the possibility of such damages.