=head1 NAME

B<makehosts> - sets up /etc/hosts from the xCAT hosts table.

=head1 SYNOPSIS

B<makehosts> [B<-n>] [I<noderange>] [B<-l>|B<--longnamefirst>] [B<-d>] [B<-m>|B<--mactolinklocal>]

B<makehosts> {B<-h>|B<--help>}

=head1 DESCRIPTION

B<makehosts> updates the /etc/hosts file based on entries in the hosts table in the xCAT database.
If your node hostnames and IP addresses follow a regular pattern, you can use just a few regular expressions
in the hosts table and then easily generate /etc/hosts using makehosts.

=head1 OPTIONS

=over 6

=item B<-n>

Completely replace the /etc/hosts file, losing any previous content.  If this option is not specified,
it will only replace the lines in the file that correspond to the nodes in the specified noderange.

=item B<-l>|B<--longnamefirst>

The long name of the host will appear before the short name for each host in the /etc/hosts file.
The default is short name first.

=item B<-m>|B<--mactolinklocal>

Updates /etc/hosts file with IPv6 link local addresses, the link local address is generated 
from the mac address stored in mac table.

=item B<-d>

Delete rather than create records.

=back

=head1 EXAMPLES

=over 2

=item *

If the xCAT hosts table contains:

  "compute","|node(\d+)|1.2.3.($1+0)|","|(.*)|($1).cluster.net|",,

Assuming the group "compute" contains node01, node02, etc., then in /etc/hosts they will be given
IP addresses of 1.2.3.1, 1.2.3.2, etc.

=back

=head1 SEE ALSO

L<hosts(5)|hosts.5>, L<makedns(8)|makedns.8>
