=head1 NAME

vos_changeaddr - Changes or removes a file server machine's entry in the VLDB

=head1 SYNOPSIS

=for html
<div class="synopsis">

B<vos changeaddr> S<<< B<-oldaddr> <I<original IP address>> >>>
    S<<< [B<-newaddr> <I<new IP address>>] >>> [B<-remove>] [B<-force>]
    S<<< [B<-cell> <I<cell name>>] >>> [B<-noauth>] [B<-localauth>]
    [B<-verbose>] [B<-encrypt>] [B<-noresolve>]
    S<<< [B<-config> <I<config directory>>] >>>
    [B<-help>]

B<vos changea> S<<< B<-o> <I<original IP address>> >>>
    S<<< [B<-ne> <I<new IP address>>] >>> [B<-r>] [B<-f>]
    S<<< [B<-c> <I<cell name>>] >>>
    [B<-noa>] [B<-l>] [B<-v>] [B<-e>] [B<-nor>]
    S<<< [B<-co> <I<config directory>>] >>>
    [B<-h>]

=for html
</div>

=head1 DESCRIPTION

The B<vos changeaddr> command removes a server entry from the Volume
Location Database (VLDB) when the B<-remove> flag is combined with the
B<-oldaddr> argument. There must be no VLDB entries that list the machine
as a site for any version of a volume (if necessary, use the B<vos move>
or B<vos remove> command to move or remove volumes). It is appropriate to
remove a VLDB server entry when removing the corresponding file server
machine from service.

To display all VLDB server entries, use the B<vos listaddrs> command.

=head1 CAUTIONS

Combining the command's B<-oldaddr> and B<-newaddr> arguments is no longer
the appropriate way to change the IP address registered for a file server
machine. Furthermore, if a machine is multihomed and its server entry
includes several addresses, then the address specified with the
B<-newaddr> argument replaces all of the addresses currently listed in the
server entry that includes the address specified by the B<-oldaddr>
argument. This effectively makes the machine single-homed with respect to
AFS operations, which is probably not the desired result.

The recommended method for changing the IP addresses in a server entry is
instead to restart the C<fs> process group (which includes the File
Server) after using the utilities provided by the operating system to
reconfigure the machine's network interfaces. For a description of how the
File Server constructs and registers a list of its network interfaces in
the VLDB, see L<sysid(5)>.

If, counter to recommended usage, the command is used to change the IP
address in a server entry, it does not also change the names of machine
entries in the Protection Database. Operations fail when they refer to a
protection group that has an obsolete IP address in it. Use the B<pts
rename> command to change the names of machine entries that correspond to
the addresses changed with this command. Changing the address of a
database server machine also requires updating the client and server
versions of the F<CellServDB> file on every machine.

=head1 OPTIONS

=over 4

=item B<-oldaddr> <I<original IP address>>

Specifies the IP address currently registered for the file server machine
in the VLDB server entry. If there are multiple addresses registered for a
multihomed machine, use any of them to identify the server entry.

=item B<-newaddr> <I<new IP address>>

Specifies the new IP address that replaces all currently registered
addresses.

Unless the B<-force> option is given, B<vos changeaddr> will refuse to change
addresses when the address given in B<-oldaddr> is registered with a multihomed
server entry in the VLDB. See L</CAUTIONS>.

=item B<-remove>

Removes from the VLDB the server entry that includes the address specified
by the B<-oldaddr> argument.

=item B<-force>

Overrides the multihomed server entry check when the B<-oldaddr> and
B<-newaddr> options are combined. The B<-force> flag is provided for historical
compatibility and is not recommended.

=item B<-cell> <I<cell name>>

Names the cell in which to run the command. Do not combine this argument
with the B<-localauth> flag. For more details, see L<vos(1)>.

=item B<-noauth>

Assigns the unprivileged identity C<anonymous> to the issuer. Do not
combine this flag with the B<-localauth> flag. For more details, see
L<vos(1)>.

=item B<-localauth>

Constructs a server ticket using a key from the local
F</usr/afs/etc/KeyFile> file. The B<vos> command interpreter presents it
to the Volume Server and Volume Location Server during mutual
authentication. Do not combine this flag with the B<-cell> argument or
B<-noauth> flag. For more details, see L<vos(1)>.

=item B<-verbose>

Produces on the standard output stream a detailed trace of the command's
execution. If this argument is omitted, only warnings and error messages
appear.

=item B<-encrypt>

Encrypts the command so that the operation's results are not transmitted
across the network in clear text. This option is available in OpenAFS
versions 1.4.11 or later and 1.5.60 or later.

=item B<-noresolve>

Shows all servers as IP addresses instead of the DNS name. This is very
useful when the server address is registered as 127.0.0.1 or when dealing
with multi-homed servers. This option is available in OpenAFS
versions 1.4.8 or later and 1.5.35 or later.

=item B<-config> <I<configuration directory>>

Set the location of the configuration directory to be used. This defaults to
F</usr/vice/etc>, except if B<-localauth> is specified, in which case the
default is F</usr/afs/etc>. This option allows the use of alternative
configuration locations for testing purposes.

=item B<-help>

Prints the online help for this command. All other valid options are
ignored.

=back

=head1 EXAMPLES

The following command removes the VLDB server entry that includes the IP
address C<192.12.107.214>.

   % vos changeaddr -oldaddr 192.12.107.214 -remove

=head1 PRIVILEGE REQUIRED

Issuer must be listed in the F</usr/afs/etc/UserList> file on the machine
specified with the B<-oldaddr> argument and on each database server
machine.

=head1 SEE ALSO

L<CellServDB(5)>,
L<UserList(5)>,
L<sysid(5)>,
L<fileserver(8)>,
L<pts_rename(1)>,
L<vos(1)>,
L<vos_listaddrs(1)>

=head1 COPYRIGHT

IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved.

This documentation is covered by the IBM Public License Version 1.0.  It was
converted from HTML to POD by software written by Chas Williams and Russ
Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
