source: networking/netutils/avahi.xml@ ce271d7

trunk
Last change on this file since ce271d7 was b771fb7, checked in by Bruce Dubbs <bdubbs@…>, 3 weeks ago

Spacing

  • Property mode set to 100644
File size: 23.1 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY avahi-download-http "https://github.com/lathiat/avahi/releases/download/v&avahi-version;/avahi-&avahi-version;.tar.gz">
8 <!ENTITY avahi-download-ftp " ">
9 <!ENTITY avahi-md5sum "229c6aa30674fc43c202b22c5f8c2be7">
10 <!ENTITY avahi-size "1.5 MB">
11 <!ENTITY avahi-buildsize "32 MB">
12 <!ENTITY avahi-time "0.3 SBU">
13]>
14
15<sect1 id="avahi" xreflabel="Avahi-&avahi-version;">
16 <?dbhtml filename="avahi.html"?>
17
18
19 <title>Avahi-&avahi-version;</title>
20
21 <indexterm zone="avahi">
22 <primary sortas="a-Avahi">Avahi</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to Avahi</title>
27
28 <para>
29 The <application>Avahi</application> package is a system which
30 facilitates service discovery on a local network.
31 </para>
32
33 &lfs122_checked;
34
35 <bridgehead renderas="sect3">Package Information</bridgehead>
36 <itemizedlist spacing="compact">
37 <listitem>
38 <para>
39 Download (HTTP): <ulink url="&avahi-download-http;"/>
40 </para>
41 </listitem>
42 <listitem>
43 <para>
44 Download (FTP): <ulink url="&avahi-download-ftp;"/>
45 </para>
46 </listitem>
47 <listitem>
48 <para>
49 Download MD5 sum: &avahi-md5sum;
50 </para>
51 </listitem>
52 <listitem>
53 <para>
54 Download size: &avahi-size;
55 </para>
56 </listitem>
57 <listitem>
58 <para>
59 Estimated disk space required: &avahi-buildsize;
60 </para>
61 </listitem>
62 <listitem>
63 <para>
64 Estimated build time: &avahi-time;
65 </para>
66 </listitem>
67 </itemizedlist>
68
69 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
70 <itemizedlist spacing="compact">
71 <listitem>
72 <para>
73 Required patch:
74 <ulink url="&patch-root;/avahi-&avahi-version;-ipv6_race_condition_fix-1.patch"/>
75 </para>
76 </listitem>
77 </itemizedlist>
78
79 <bridgehead renderas="sect3">Avahi Dependencies</bridgehead>
80
81 <bridgehead renderas="sect4">Required</bridgehead>
82 <para role="required">
83 <xref linkend="glib2"/> (GObject Introspection recommended)
84 </para>
85
86 <bridgehead renderas="sect4">Recommended</bridgehead>
87 <para role="recommended">
88 <xref linkend="gtk3"/> and
89 <xref linkend="libdaemon"/>
90 </para>
91
92 <bridgehead renderas="sect4">Optional</bridgehead>
93 <para role="optional">
94 <xref linkend="dbus-python"/>,
95 <xref linkend="libevent"/>,
96 <xref linkend="doxygen"/>,
97 &gtk2; (deprecated), and
98 <ulink url="https://sourceforge.net/projects/xmltoman/">xmltoman</ulink>
99 (for generating documentation)
100 </para>
101
102 </sect2>
103
104 <sect2 role="installation">
105 <title>Installation of Avahi</title>
106
107 <para>
108 There should be a dedicated user and group to take control
109 of the <command>avahi-daemon</command> daemon after it is
110 started. Issue the following commands as the
111 <systemitem class="username">root</systemitem> user:
112 </para>
113
114<screen role="root"><userinput>groupadd -fg 84 avahi &amp;&amp;
115useradd -c "Avahi Daemon Owner" -d /run/avahi-daemon -u 84 \
116 -g avahi -s /bin/false avahi</userinput></screen>
117
118 <para>
119 There should also be a dedicated privileged access group for
120 <application>Avahi</application> clients. Issue the following command as
121 the <systemitem class="username">root</systemitem> user:
122 </para>
123
124<screen role="root"><userinput>groupadd -fg 86 netdev</userinput></screen>
125
126 <para>
127 Fix a regression that results in a race condition when IPv6 is in use
128 and multiple network adapters are present on the system:
129 </para>
130
131<screen><userinput remap="pre">patch -Np1 -i ../avahi-&avahi-version;-ipv6_race_condition_fix-1.patch</userinput></screen>
132
133 <para>
134 Fix a security vulnerability in <command>avahi-daemon</command>:
135 </para>
136
137<screen><userinput remap="pre">sed -i '426a if (events &amp; AVAHI_WATCH_HUP) { \
138client_free(c); \
139return; \
140}' avahi-daemon/simple-protocol.c</userinput></screen>
141
142 <para>
143 Install <application>Avahi</application> by running the following
144 commands:
145 </para>
146
147<screen revision="sysv"><userinput>./configure \
148 --prefix=/usr \
149 --sysconfdir=/etc \
150 --localstatedir=/var \
151 --disable-static \
152 --disable-libevent \
153 --disable-mono \
154 --disable-monodoc \
155 --disable-python \
156 --disable-qt3 \
157 --disable-qt4 \
158 --disable-qt5 \
159 --enable-core-docs \
160 --with-distro=none \
161 --with-systemdsystemunitdir=no \
162 --with-dbus-system-address='unix:path=/run/dbus/system_bus_socket' &amp;&amp;
163make</userinput></screen>
164
165<screen revision="systemd"><userinput>./configure \
166 --prefix=/usr \
167 --sysconfdir=/etc \
168 --localstatedir=/var \
169 --disable-static \
170 --disable-libevent \
171 --disable-mono \
172 --disable-monodoc \
173 --disable-python \
174 --disable-qt3 \
175 --disable-qt4 \
176 --disable-qt5 \
177 --enable-core-docs \
178 --with-distro=none \
179 --with-dbus-system-address='unix:path=/run/dbus/system_bus_socket' &amp;&amp;
180make</userinput></screen>
181
182 <para>
183 This package does not come with a test suite.
184 </para>
185
186 <para>
187 Now, as the <systemitem class="username">root</systemitem> user:
188 </para>
189
190<screen role="root"><userinput>make install</userinput></screen>
191
192 </sect2>
193
194 <sect2 role="commands">
195 <title>Command Explanations</title>
196
197 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
198 href="../../xincludes/static-libraries.xml"/>
199
200 <para>
201 <parameter>--disable-libevent</parameter>: This parameter disables the
202 use of <xref linkend="libevent"/>. Remove if you have it installed.
203 </para>
204
205 <para>
206 <parameter>--disable-mono</parameter>: This parameter disables the
207 <application>Mono</application> bindings.
208 </para>
209
210 <para>
211 <parameter>--disable-monodoc</parameter>: This parameter disables
212 documentation for the <application>Mono</application> bindings.
213 </para>
214
215 <para>
216 <parameter>--disable-python</parameter>: This parameter disables the
217 scripts that depend on <application>Python</application>. It also
218 allows a regular install to complete successfully.
219 </para>
220
221 <para>
222 <parameter>--disable-qt3</parameter>: This parameter disables the
223 attempt to build the obsolete <application>Qt3</application>
224 portions of the package.
225 </para>
226
227 <para>
228 <parameter>--disable-qt4</parameter>: This parameter disables the
229 attempt to build the obsolete <application>Qt4Core</application>
230 portions of the package.
231 </para>
232
233 <para>
234 <parameter>--enable-core-docs</parameter>: This parameter enables the
235 building of documentation.
236 </para>
237
238 <para>
239 <parameter>--with-distro=none</parameter>: There is an obsolete
240 boot script in the distribution for LFS. This option disables it.
241 </para>
242
243 <para revision="sysv">
244 <parameter>--with-systemdsystemunitdir=no</parameter>: Without it, the
245 daemon fails to start in BLFS, which does not support
246 <application>systemd</application>.
247 </para>
248
249 <para>
250 <parameter>--with-dbus-system-address=</parameter>: This option
251 prevents the package from referring to the deprecated
252 <filename class='directory'>/var/run</filename> directory.
253 </para>
254
255 <para>
256 <option>--disable-dbus</option>: This parameter disables the use
257 of <application>D-Bus</application>.
258 </para>
259
260 <para>
261 <option>--disable-gtk</option>: This parameter disables the use
262 of <application>GTK+2</application>.
263 </para>
264
265 <para>
266 <option>--disable-gtk3</option>: This parameter disables the use
267 of <application>GTK+3</application>.
268 </para>
269
270 <para>
271 <option>--disable-qt5</option>: This parameter disables
272 the use of <application>Qt5</application>, and allows
273 building without it.
274 </para>
275
276 <para>
277 <option>--disable-libdaemon</option>: This parameter disables the use
278 of <application>libdaemon</application>. If you use this option,
279 <command>avahi-daemon</command> won't be built.
280 </para>
281
282 <para>
283 <option>--enable-tests</option>: This option enables the building of
284 tests and examples.
285 </para>
286
287 <para>
288 <option>--enable-compat-howl</option>: This option enables the
289 compatibility layer for <application>HOWL</application>.
290 </para>
291
292 <para>
293 <option>--enable-compat-libdns_sd</option>: This option enables the
294 compatibility layer for <application>libdns_sd</application>.
295 </para>
296
297 </sect2>
298
299 <sect2 role="configuration">
300 <title>Configuring avahi</title>
301
302 <sect3 id="avahi-init">
303 <title>Boot Script</title>
304
305 <para revision="sysv">
306 To automatically start the <command>avahi-daemon</command>
307 when the system is rebooted, install the
308 <filename>/etc/rc.d/init.d/avahi</filename> bootscript from
309 the <xref linkend="bootscripts"/> package.
310 </para>
311
312 <para revision="systemd">
313 To start the <command>avahi-daemon</command> daemon at boot, enable
314 the previously installed systemd unit by running the following command
315 as the <systemitem class="username">root</systemitem> user:
316 </para>
317
318 <indexterm zone="avahi avahi-init">
319 <primary sortas="f-avahi">avahi</primary>
320 </indexterm>
321
322<screen role="root" revision="sysv"><userinput>make install-avahi</userinput></screen>
323
324<screen role="root" revision="systemd"><userinput>systemctl enable avahi-daemon</userinput></screen>
325
326 <para revision="systemd">
327 To start the <command>avahi-dnsconfd</command> daemon at boot, enable
328 the previously installed systemd unit by running the following command
329 as the <systemitem class="username">root</systemitem> user:
330 </para>
331
332<screen role="root" revision="systemd"><userinput>systemctl enable avahi-dnsconfd</userinput></screen>
333
334 </sect3>
335
336 </sect2>
337
338 <sect2 role="content">
339 <title>Contents</title>
340
341 <segmentedlist>
342 <segtitle>Installed Programs</segtitle>
343 <segtitle>Installed Libraries</segtitle>
344 <segtitle>Installed Directories</segtitle>
345
346 <seglistitem>
347 <seg>avahi-autoipd, avahi-browse, avahi-browse-domains,
348 avahi-daemon, avahi-discover-standalone, avahi-dnsconfd,
349 avahi-publish, avahi-publish-address, avahi-publish-service,
350 avahi-resolve, avahi-resolve-address, avahi-resolve-host-name,
351 avahi-set-host-name, bshell, bssh, and bvnc</seg>
352 <seg>libavahi-client.so, libavahi-common.so, libavahi-core.so,
353 libavahi-glib.so, libavahi-gobject.so, libavahi-libevent.so
354 libavahi-ui-gtk3.so, libavahi-ui.so, libdns_sd.so, and
355 libhowl.so</seg>
356 <seg>/etc/avahi/services, /usr/include/{avahi-client,avahi-common,
357 avahi-compat-howl, avahi-compat-libdns_sd, avahi-core, avahi-glib,
358 avahi-gobject, avahi-libevent, avahi-ui},
359 /usr/lib/avahi, /usr/share/avahi</seg>
360 </seglistitem>
361 </segmentedlist>
362
363 <variablelist>
364 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
365 <?dbfo list-presentation="list"?>
366 <?dbhtml list-presentation="table"?>
367
368 <varlistentry id="avahi-autoipd">
369 <term><command>avahi-autoipd</command></term>
370 <listitem>
371 <para>
372 is a IPv4LL network address configuration daemon
373 </para>
374 <indexterm zone="avahi avahi-autoipd">
375 <primary sortas="b-avahi-autoipd">avahi-autoipd</primary>
376 </indexterm>
377 </listitem>
378 </varlistentry>
379 <!--
380 <varlistentry id="avahi-bookmarks">
381 <term><command>avahi-bookmarks</command></term>
382 <listitem>
383 <para>
384 is a Web service showing mDNS/DNS-SD announced HTTP services
385 using the <application>Avahi</application> daemon.
386 </para>
387 <indexterm zone="avahi avahi-bookmarks">
388 <primary sortas="b-avahi-bookmarks">avahi-bookmarks</primary>
389 </indexterm>
390 </listitem>
391 </varlistentry>
392 -->
393 <varlistentry id="avahi-browse">
394 <term><command>avahi-browse</command></term>
395 <listitem>
396 <para>
397 browses for mDNS/DNS-SD services using the
398 <application>Avahi</application> daemon
399 </para>
400 <indexterm zone="avahi avahi-browse">
401 <primary sortas="b-avahi-browse">avahi-browse</primary>
402 </indexterm>
403 </listitem>
404 </varlistentry>
405
406 <varlistentry id="avahi-browse-domains">
407 <term><command>avahi-browse-domains</command></term>
408 <listitem>
409 <para>
410 browses for mDNS/DNS-SD services using the
411 <application>Avahi</application> daemon
412 </para>
413 <indexterm zone="avahi avahi-browse-domains">
414 <primary sortas="b-avahi-browse-domains">avahi-browse-domains</primary>
415 </indexterm>
416 </listitem>
417 </varlistentry>
418
419 <varlistentry id="avahi-daemon">
420 <term><command>avahi-daemon</command></term>
421 <listitem>
422 <para>
423 is the <application>Avahi</application> mDNS/DNS-SD daemon
424 </para>
425 <indexterm zone="avahi avahi-daemon">
426 <primary sortas="b-avahi-daemon">avahi-daemon</primary>
427 </indexterm>
428 </listitem>
429 </varlistentry>
430 <!--
431 <varlistentry id="avahi-discover">
432 <term><command>avahi-discover</command></term>
433 <listitem>
434 <para>
435 browses for mDNS/DNS-SD services using the
436 <application>Avahi</application> daemon.
437 </para>
438 <indexterm zone="avahi avahi-discover">
439 <primary sortas="b-avahi-discover">avahi-discover</primary>
440 </indexterm>
441 </listitem>
442 </varlistentry>
443 -->
444 <varlistentry id="avahi-discover-standalone">
445 <term><command>avahi-discover-standalone</command></term>
446 <listitem>
447 <para>
448 browses for mDNS/DNS-SD services using the
449 <application>Avahi</application> daemon
450 </para>
451 <indexterm zone="avahi avahi-discover-standalone">
452 <primary sortas="b-avahi-discover-standalone">avahi-discover-standalone</primary>
453 </indexterm>
454 </listitem>
455 </varlistentry>
456
457 <varlistentry id="avahi-dnsconfd">
458 <term><command>avahi-dnsconfd</command></term>
459 <listitem>
460 <para>
461 is a Unicast DNS server from mDNS/DNS-SD configuration daemon
462 </para>
463 <indexterm zone="avahi avahi-dnsconfd">
464 <primary sortas="b-avahi-dnsconfd">avahi-dnsconfd</primary>
465 </indexterm>
466 </listitem>
467 </varlistentry>
468
469 <varlistentry id="avahi-publish">
470 <term><command>avahi-publish</command></term>
471 <listitem>
472 <para>
473 registers a mDNS/DNS-SD service or host name or address mapping
474 using the <application>Avahi</application> daemon
475 </para>
476 <indexterm zone="avahi avahi-publish">
477 <primary sortas="b-avahi-publish">avahi-publish</primary>
478 </indexterm>
479 </listitem>
480 </varlistentry>
481
482 <varlistentry id="avahi-publish-address">
483 <term><command>avahi-publish-address</command></term>
484 <listitem>
485 <para>
486 registers a mDNS/DNS-SD service or host name or address mapping
487 using the <application>Avahi</application> daemon
488 </para>
489 <indexterm zone="avahi avahi-publish-address">
490 <primary sortas="b-avahi-publish-address">avahi-publish-address</primary>
491 </indexterm>
492 </listitem>
493 </varlistentry>
494
495 <varlistentry id="avahi-publish-service">
496 <term><command>avahi-publish-service</command></term>
497 <listitem>
498 <para>
499 registers a mDNS/DNS-SD service or host name or address mapping
500 using the <application>Avahi</application> daemon
501 </para>
502 <indexterm zone="avahi avahi-publish-service">
503 <primary sortas="b-avahi-publish-service">avahi-publish-service</primary>
504 </indexterm>
505 </listitem>
506 </varlistentry>
507
508 <varlistentry id="avahi-resolve">
509 <term><command>avahi-resolve</command></term>
510 <listitem>
511 <para>
512 resolves one or more mDNS/DNS host name(s) to IP address(es)
513 (and vice versa) using the <application>Avahi</application>
514 daemon
515 </para>
516 <indexterm zone="avahi avahi-resolve">
517 <primary sortas="b-avahi-resolve">avahi-resolve</primary>
518 </indexterm>
519 </listitem>
520 </varlistentry>
521
522 <varlistentry id="avahi-resolve-address">
523 <term><command>avahi-resolve-address</command></term>
524 <listitem>
525 <para>
526 resolves one or more mDNS/DNS host name(s) to IP address(es)
527 (and vice versa) using the <application>Avahi</application>
528 daemon
529 </para>
530 <indexterm zone="avahi avahi-resolve-address">
531 <primary sortas="b-avahi-resolve-address">avahi-resolve-address</primary>
532 </indexterm>
533 </listitem>
534 </varlistentry>
535
536 <varlistentry id="avahi-resolve-host-name">
537 <term><command>avahi-resolve-host-name</command></term>
538 <listitem>
539 <para>
540 resolves one or more mDNS/DNS host name(s) to IP address(es)
541 (and vice versa) using the <application>Avahi</application>
542 daemon
543 </para>
544 <indexterm zone="avahi avahi-resolve-host-name">
545 <primary sortas="b-avahi-resolve-host-name">avahi-resolve-host-name</primary>
546 </indexterm>
547 </listitem>
548 </varlistentry>
549
550 <varlistentry id="avahi-set-host-name">
551 <term><command>avahi-set-host-name</command></term>
552 <listitem>
553 <para>
554 changes the mDNS host name
555 </para>
556 <indexterm zone="avahi avahi-set-host-name">
557 <primary sortas="b-avahi-set-host-name">avahi-set-host-name</primary>
558 </indexterm>
559 </listitem>
560 </varlistentry>
561
562 <!--<varlistentry id="bshell">
563 <term><command>bshell</command></term>
564 <listitem>
565 <para>
566 does this .....
567 </para>
568 <indexterm zone="avahi bshell">
569 <primary sortas="b-bshell">bshell</primary>
570 </indexterm>
571 </listitem>
572 </varlistentry>-->
573
574 <varlistentry id="bssh">
575 <term><command>bssh</command></term>
576 <listitem>
577 <para>
578 browses for SSH servers on the local network
579 </para>
580 <indexterm zone="avahi bssh">
581 <primary sortas="b-bssh">bssh</primary>
582 </indexterm>
583 </listitem>
584 </varlistentry>
585
586 <varlistentry id="bvnc">
587 <term><command>bvnc</command></term>
588 <listitem>
589 <para>
590 browses for VNC servers on the local network
591 </para>
592 <indexterm zone="avahi bvnc">
593 <primary sortas="b-bvnc">bvnc</primary>
594 </indexterm>
595 </listitem>
596 </varlistentry>
597
598 <!--<varlistentry id="libavahi-client">
599 <term><filename class='libraryfile'>libavahi-client.{so,a}</filename></term>
600 <listitem>
601 <para>
602 contains functions that .....
603 </para>
604 <indexterm zone="avahi libavahi-client">
605 <primary sortas="c-libavahi-client">libavahi-client.{so,a}</primary>
606 </indexterm>
607 </listitem>
608 </varlistentry>
609
610 <varlistentry id="libavahi-common">
611 <term><filename class='libraryfile'>libavahi-common.{so,a}</filename></term>
612 <listitem>
613 <para>
614 contains functions that .....
615 </para>
616 <indexterm zone="avahi libavahi-common">
617 <primary sortas="c-libavahi-common">libavahi-common.{so,a}</primary>
618 </indexterm>
619 </listitem>
620 </varlistentry>
621
622 <varlistentry id="libavahi-core">
623 <term><filename class='libraryfile'>libavahi-core.{so,a}</filename></term>
624 <listitem>
625 <para>
626 contains functions that .....
627 </para>
628 <indexterm zone="avahi libavahi-core">
629 <primary sortas="c-libavahi-core">libavahi-core.{so,a}</primary>
630 </indexterm>
631 </listitem>
632 </varlistentry>
633
634 <varlistentry id="libavahi-glib">
635 <term><filename class='libraryfile'>libavahi-glib.{so,a}</filename></term>
636 <listitem>
637 <para>
638 contains functions that .....
639 </para>
640 <indexterm zone="avahi libavahi-glib">
641 <primary sortas="c-libavahi-glib">libavahi-glib.{so,a}</primary>
642 </indexterm>
643 </listitem>
644 </varlistentry>
645
646 <varlistentry id="libavahi-gobject">
647 <term><filename class='libraryfile'>libavahi-gobject.{so,a}</filename></term>
648 <listitem>
649 <para>
650 contains functions that .....
651 </para>
652 <indexterm zone="avahi libavahi-gobject">
653 <primary sortas="c-libavahi-gobject">libavahi-gobject.{so,a}</primary>
654 </indexterm>
655 </listitem>
656 </varlistentry>
657
658 <varlistentry id="libavahi-ui-gtk3">
659 <term><filename class='libraryfile'>libavahi-ui-gtk3.{so,a}</filename></term>
660 <listitem>
661 <para>
662 contains functions that .....
663 </para>
664 <indexterm zone="avahi libavahi-ui-gtk3">
665 <primary sortas="c-libavahi-ui-gtk3">libavahi-ui-gtk3.{so,a}</primary>
666 </indexterm>
667 </listitem>
668 </varlistentry>
669
670 <varlistentry id="libavahi-ui">
671 <term><filename class='libraryfile'>libavahi-ui.{so,a}</filename></term>
672 <listitem>
673 <para>
674 contains functions that .....
675 </para>
676 <indexterm zone="avahi libavahi-ui">
677 <primary sortas="c-libavahi-ui">libavahi-ui.{so,a}</primary>
678 </indexterm>
679 </listitem>
680 </varlistentry>
681
682 <varlistentry id="libdns_sd">
683 <term><filename class='libraryfile'>libdns_sd.{so,a}</filename></term>
684 <listitem>
685 <para>
686 contains functions that .....
687 </para>
688 <indexterm zone="avahi libdns_sd">
689 <primary sortas="c-libdns_sd">libdns_sd.{so,a}</primary>
690 </indexterm>
691 </listitem>
692 </varlistentry>
693
694 <varlistentry id="libhowl">
695 <term><filename class='libraryfile'>libhowl.{so,a}</filename></term>
696 <listitem>
697 <para>
698 contains functions that .....
699 </para>
700 <indexterm zone="avahi libhowl">
701 <primary sortas="c-libhowl">libhowl.{so,a}</primary>
702 </indexterm>
703 </listitem>
704 </varlistentry>-->
705
706 </variablelist>
707
708 </sect2>
709
710</sect1>
Note: See TracBrowser for help on using the repository browser.