.TH avahi-daemon 8 User Manuals
.SH NAME
avahi-daemon \- The Avahi mDNS/DNS-SD daemon
.SH SYNOPSIS
\fBavahi-daemon [\fIoptions\fB]

avahi-daemon --kill\fB

avahi-daemon --reload\fB

avahi-daemon --check\fB
\f1
.SH DESCRIPTION
The Avahi mDNS/DNS-SD daemon implements Apple's Zeroconf architecture (also known as "Rendezvous" or "Bonjour"). The daemon registers local IP addresses and static services using mDNS/DNS-SD and provides two IPC APIs for local programs to make use of the mDNS record cache the avahi-daemon maintains. First there is the so called "simple protocol" which is used exclusively by avahi-dnsconfd (a daemon which configures unicast DNS servers using server info published via mDNS) and nss-mdns (a libc NSS plugin, providing name resolution via mDNS). Finally there is the D-Bus interface which provides a rich object oriented interface to D-Bus enabled applications.

Upon startup avahi-daemon interprets its configuration file \fI/home/lennart/tmp/avahi/etc/avahi/avahi-daemon.conf\f1 and reads XML fragments from \fI/home/lennart/tmp/avahi/etc/avahi/services/*.service\f1 which may define static DNS-SD services. If you enable \fBpublish-resolv-conf-dns-servers\f1 in \fIavahi-daemon.conf\f1 the file \fI/etc/resolv.conf\f1 will be read, too.
.SH OPTIONS
.TP
\fB-f | --file=\f1 \fIFILE\f1
Specify the configuration file to read. (default: /home/lennart/tmp/avahi/etc/avahi/avahi-daemon.conf)
.TP
\fB-D | --daemonize\f1
Daemonize after startup. Implies \fB--syslog\f1.
.TP
\fB-s | --syslog\f1
Log to syslog instead of STDERR. Implied by \fB--daemonize\f1.
.TP
\fB--debug\f1
Increase verbosity to debug level.
.TP
\fB--no-rlimits\f1
Don't enforce resource limits as specified in the configuration file. (See \fBsetrlimit(2)\f1 for more information)
.TP
\fB--no-drop-root\f1
Don't drop root privileges after startup and don't require daemon to be started as root. We recommend not to use this option.
.TP
\fB--no-chroot\f1
Don't \fBchroot(2)\f1 the daemon. This option is only available when compiled with chroot() support.
.TP
\fB--no-proc-title\f1
Don't change the process name while running. Unless this option is specified avahi-daemon will reflect its current state and the selected host name in the process title.
.TP
\fB-k | --kill\f1
Kill an already running avahi-daemon. (equivalent to sending a SIGTERM)
.TP
\fB-r | --reload\f1
Tell an already running avahi-daemon to reread \fI/etc/resolv.conf\f1 (in case you enabled \fBpublish-resolv-conf-dns-servers\f1 in \fIavahi-daemon.conf\f1) the files from \fI/home/lennart/tmp/avahi/etc/avahi/services/\f1. Please note that this will not reload the \fI/home/lennart/tmp/avahi/etc/avahi/avahi-daemon.conf\f1. (equivalent to sending a SIGHUP)
.TP
\fB-c | --check\f1
Return 0 as return code when avahi-daemon is already running.
.TP
\fB-h | --help\f1
Show help
.TP
\fB-v | --version\f1
Show version information 
.SH FILES
\fI/home/lennart/tmp/avahi/etc/avahi/avahi-daemon.conf\f1: the default configuration file for avahi-daemon, \fBavahi-daemon.conf(5)\f1 for more information.

\fI/home/lennart/tmp/avahi/etc/avahi/hosts\f1: additional static hostname mappings to publish in mDNS, see \fBavahi.hosts(5)\f1 for more information.

\fI/home/lennart/tmp/avahi/etc/avahi/services/*.service\f1: static service definitions, see \fBavahi.service(5)\f1 for more information.
.SH SIGNALS
\fISIGINT, SIGTERM\f1: avahi-daemon will shutdown. (Same as \fB--kill\f1).

\fISIGHUP\f1: avahi-daemon will reload unicast DNS server data from \fI/etc/resolv.conf\f1 and static service definitions from \fI/home/lennart/tmp/avahi/etc/avahi/services/\f1. (Same as \fB--reload\f1)

\fISIGUSR1\f1: avahi-daemon will dump local and remote cached resource record data to syslog.
.SH AUTHORS
The Avahi Developers <avahi (at) lists (dot) freedesktop (dot) org>; Avahi is available from \fBhttp://avahi.org/\f1
.SH SEE ALSO
\fBavahi-daemon.conf(5)\f1, \fBavahi.hosts(5)\f1, \fBavahi.service(5)\f1, \fBavahi-dnsconfd(8)\f1, \fBavahi-set-host-name(1)\f1

http://avahi.org/wiki/AvahiAndUnicastDotLocal documents the problems when using Avahi in a unicast DNS zone .local.
.SH COMMENTS
This man page was written using \fBxml2man(1)\f1 by Oliver Kurth.
