The avahi-daemon Linux service runs on client machines to perform network-based Zeroconf service discovery. Avahi is an implementation of the DNS Service Discovery and Multicast DNS specifications for Zeroconf Networking. User applications receive notice of discovered network services and resources using the Linux D-Bus message passing. The daemon coordinates application efforts in caching replies, helping minimize network traffic.
Avahi provides a set of language bindings, including Python and Mono. Because of its modularized architecture, Avahi is already integrated into major desktop components like GNOME’s Virtual File System or KDE’s input/output architecture. Refer http://avahi.org/ for further specifications.
The avahi RPM package provides the /usr/sbin/avahi-daemon daemon and its configuration files.
Service Control
To manage the avahi-daemon service on demand, use the service(8) tool or run the /etc/init.d/avahi-daemon script directly:
# service avahi-daemon Usage: /etc/init.d/avahi-daemon {start|stop|status|restart|condrestart}
# /etc/init.d/avahi-daemon Usage: /etc/init.d/avahi-daemon {start|stop|status|restart|condrestart}
The available commands are:
Command | Description |
---|---|
start | Start the avahi-daemon daemon. |
stop | Stop the avahi-daemon daemon. |
status | Report if the avahi-daemon daemon is running. |
restart | Equivalent to a stop and then a start command sequence. |
condrestart | If the avahi-daemon daemon is currently running, this is the same as a restart command. If the daemon is not running, no action is taken. Often used in RPM package installation to avoid starting a service not already running. |
To manage the avahi-daemon service at boot time, use chkconfig command:
# chkconfig --list avahi-daemon avahi-daemon 0:off 1:off 2:off 3:off 4:off 5:off 6:off
# chkconfig avahi-daemon on
# chkconfig --list avahi-daemon avahi-daemon 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Configuration
Below is the sample configuration file /etc/avahi/avahi-daemon.conf:
# cat /etc/avahi/avahi-daemon.conf # $Id: avahi-daemon.conf 1155 2006-02-22 22:54:56Z lennart $ # # This file is part of avahi. # # avahi is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as # published by the Free Software Foundation; either version 2 of the # License, or (at your option) any later version. # # avahi is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public # License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with avahi; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 # USA. # See avahi-daemon.conf(5) for more information on this configuration # file! [server] #host-name=foo #domain-name=local browse-domains=0pointer.de, zeroconf.org use-ipv4=yes use-ipv6=yes #check-response-ttl=no #use-iff-running=no #enable-dbus=yes #disallow-other-stacks=no #allow-point-to-point=no [wide-area] enable-wide-area=yes [publish] #disable-publishing=no #disable-user-service-publishing=no #add-service-cookie=yes #publish-addresses=yes #publish-hinfo=yes #publish-workstation=yes #publish-domain=yes #publish-dns-servers=192.168.50.1, 192.168.50.2 #publish-resolv-conf-dns-servers=yes [reflector] #enable-reflector=no #reflect-ipv=no [rlimits] #rlimit-as= rlimit-core=0 rlimit-data=4194304 rlimit-fsize=0 rlimit-nofile=30 rlimit-stack=4194304 rlimit-nproc=3