source: networking/netutils/avahi.xml@ e12b9ec

ken/TL2024 trunk
Last change on this file since e12b9ec was e8b3f50, checked in by Douglas R. Reno <renodr@…>, 2 months ago

Tags

  • 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 &lfs121_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"/>
84 </para>
85
86 <bridgehead renderas="sect4">Recommended</bridgehead>
87 <para role="recommended">
88 <xref linkend="gobject-introspection"/>,
89 <xref linkend="gtk3"/>,
90 <xref linkend="libdaemon"/>, and
91 &qt5-deps;
92 </para>
93
94 <bridgehead renderas="sect4">Optional</bridgehead>
95 <para role="optional">
96 <xref linkend="dbus-python"/>,
97 <xref linkend="gtk2"/> (deprecated),
98 <xref linkend="libevent"/>,
99 <xref linkend="doxygen"/> and
100 <ulink url="https://sourceforge.net/projects/xmltoman/">xmltoman</ulink>
101 (for generating documentation)
102 </para>
103
104 </sect2>
105
106 <sect2 role="installation">
107 <title>Installation of Avahi</title>
108
109 <para>
110 There should be a dedicated user and group to take control
111 of the <command>avahi-daemon</command> daemon after it is
112 started. Issue the following commands as the
113 <systemitem class="username">root</systemitem> user:
114 </para>
115
116<screen role="root"><userinput>groupadd -fg 84 avahi &amp;&amp;
117useradd -c "Avahi Daemon Owner" -d /run/avahi-daemon -u 84 \
118 -g avahi -s /bin/false avahi</userinput></screen>
119
120 <para>
121 There should also be a dedicated privileged access group for
122 <application>Avahi</application> clients. Issue the following command as
123 the <systemitem class="username">root</systemitem> user:
124 </para>
125
126<screen role="root"><userinput>groupadd -fg 86 netdev</userinput></screen>
127
128 <para>
129 Fix a regression that results in a race condition when IPv6 is in use
130 and multiple network adapters are present on the system:
131 </para>
132
133<screen><userinput remap="pre">patch -Np1 -i ../avahi-&avahi-version;-ipv6_race_condition_fix-1.patch</userinput></screen>
134
135 <para>
136 Fix a security vulnerability in <command>avahi-daemon</command>:
137 </para>
138
139<screen><userinput remap="pre">sed -i '426a if (events &amp; AVAHI_WATCH_HUP) { \
140client_free(c); \
141return; \
142}' avahi-daemon/simple-protocol.c</userinput></screen>
143
144 <para>
145 Install <application>Avahi</application> by running the following
146 commands:
147 </para>
148
149<screen revision="sysv"><userinput>./configure \
150 --prefix=/usr \
151 --sysconfdir=/etc \
152 --localstatedir=/var \
153 --disable-static \
154 --disable-libevent \
155 --disable-mono \
156 --disable-monodoc \
157 --disable-python \
158 --disable-qt3 \
159 --disable-qt4 \
160 --enable-core-docs \
161 --with-distro=none \
162 --with-systemdsystemunitdir=no \
163 --with-dbus-system-address='unix:path=/run/dbus/system_bus_socket' &amp;&amp;
164make</userinput></screen>
165
166<screen revision="systemd"><userinput>./configure \
167 --prefix=/usr \
168 --sysconfdir=/etc \
169 --localstatedir=/var \
170 --disable-static \
171 --disable-libevent \
172 --disable-mono \
173 --disable-monodoc \
174 --disable-python \
175 --disable-qt3 \
176 --disable-qt4 \
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 the use
272 of <application>Qt5</application>, and allows building without it.
273 </para>
274
275 <para>
276 <option>--disable-libdaemon</option>: This parameter disables the use
277 of <application>libdaemon</application>. If you use this option,
278 <command>avahi-daemon</command> won't be built.
279 </para>
280
281 <para>
282 <option>--enable-tests</option>: This option enables the building of
283 tests and examples.
284 </para>
285
286 <para>
287 <option>--enable-compat-howl</option>: This option enables the
288 compatibility layer for <application>HOWL</application>.
289 </para>
290
291 <para>
292 <option>--enable-compat-libdns_sd</option>: This option enables the
293 compatibility layer for <application>libdns_sd</application>.
294 </para>
295
296 </sect2>
297
298 <sect2 role="configuration">
299 <title>Configuring avahi</title>
300
301 <sect3 id="avahi-init">
302 <title>Boot Script</title>
303
304 <para revision="sysv">
305 To automatically start the <command>avahi-daemon</command>
306 when the system is rebooted, install the
307 <filename>/etc/rc.d/init.d/avahi</filename> bootscript from
308 the <xref linkend="bootscripts"/> package.
309 </para>
310
311 <para revision="systemd">
312 To start the <command>avahi-daemon</command> daemon at boot, enable
313 the previously installed systemd unit by running the following command
314 as the <systemitem class="username">root</systemitem> user:
315 </para>
316
317 <indexterm zone="avahi avahi-init">
318 <primary sortas="f-avahi">avahi</primary>
319 </indexterm>
320
321<screen role="root" revision="sysv"><userinput>make install-avahi</userinput></screen>
322
323<screen role="root" revision="systemd"><userinput>systemctl enable avahi-daemon</userinput></screen>
324
325 <para revision="systemd">
326 To start the <command>avahi-dnsconfd</command> daemon at boot, enable
327 the previously installed systemd unit by running the following command
328 as the <systemitem class="username">root</systemitem> user:
329 </para>
330
331<screen role="root" revision="systemd"><userinput>systemctl enable avahi-dnsconfd</userinput></screen>
332
333 </sect3>
334
335 </sect2>
336
337 <sect2 role="content">
338 <title>Contents</title>
339
340 <segmentedlist>
341 <segtitle>Installed Programs</segtitle>
342 <segtitle>Installed Libraries</segtitle>
343 <segtitle>Installed Directories</segtitle>
344
345 <seglistitem>
346 <seg>avahi-autoipd, avahi-browse, avahi-browse-domains,
347 avahi-daemon, avahi-discover-standalone, avahi-dnsconfd,
348 avahi-publish, avahi-publish-address, avahi-publish-service,
349 avahi-resolve, avahi-resolve-address, avahi-resolve-host-name,
350 avahi-set-host-name, bshell, bssh, and bvnc</seg>
351 <seg>libavahi-client.so, libavahi-common.so, libavahi-core.so,
352 libavahi-glib.so, libavahi-gobject.so, libavahi-libevent.so
353 libavahi-ui-gtk3.so, libavahi-qt5, libavahi-ui.so, libdns_sd.so, and
354 libhowl.so,</seg>
355 <seg>/etc/avahi/services, /usr/include/{avahi-client,avahi-common,
356 avahi-compat-howl, avahi-compat-libdns_sd, avahi-core, avahi-glib,
357 avahi-gobject, avahi-libevent, avahi-qt5, avahi-ui},
358 /usr/lib/avahi, /usr/share/avahi</seg>
359 </seglistitem>
360 </segmentedlist>
361
362 <variablelist>
363 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
364 <?dbfo list-presentation="list"?>
365 <?dbhtml list-presentation="table"?>
366
367 <varlistentry id="avahi-autoipd">
368 <term><command>avahi-autoipd</command></term>
369 <listitem>
370 <para>
371 is a IPv4LL network address configuration daemon
372 </para>
373 <indexterm zone="avahi avahi-autoipd">
374 <primary sortas="b-avahi-autoipd">avahi-autoipd</primary>
375 </indexterm>
376 </listitem>
377 </varlistentry>
378 <!--
379 <varlistentry id="avahi-bookmarks">
380 <term><command>avahi-bookmarks</command></term>
381 <listitem>
382 <para>
383 is a Web service showing mDNS/DNS-SD announced HTTP services
384 using the <application>Avahi</application> daemon.
385 </para>
386 <indexterm zone="avahi avahi-bookmarks">
387 <primary sortas="b-avahi-bookmarks">avahi-bookmarks</primary>
388 </indexterm>
389 </listitem>
390 </varlistentry>
391 -->
392 <varlistentry id="avahi-browse">
393 <term><command>avahi-browse</command></term>
394 <listitem>
395 <para>
396 browses for mDNS/DNS-SD services using the
397 <application>Avahi</application> daemon
398 </para>
399 <indexterm zone="avahi avahi-browse">
400 <primary sortas="b-avahi-browse">avahi-browse</primary>
401 </indexterm>
402 </listitem>
403 </varlistentry>
404
405 <varlistentry id="avahi-browse-domains">
406 <term><command>avahi-browse-domains</command></term>
407 <listitem>
408 <para>
409 browses for mDNS/DNS-SD services using the
410 <application>Avahi</application> daemon
411 </para>
412 <indexterm zone="avahi avahi-browse-domains">
413 <primary sortas="b-avahi-browse-domains">avahi-browse-domains</primary>
414 </indexterm>
415 </listitem>
416 </varlistentry>
417
418 <varlistentry id="avahi-daemon">
419 <term><command>avahi-daemon</command></term>
420 <listitem>
421 <para>
422 is the <application>Avahi</application> mDNS/DNS-SD daemon
423 </para>
424 <indexterm zone="avahi avahi-daemon">
425 <primary sortas="b-avahi-daemon">avahi-daemon</primary>
426 </indexterm>
427 </listitem>
428 </varlistentry>
429 <!--
430 <varlistentry id="avahi-discover">
431 <term><command>avahi-discover</command></term>
432 <listitem>
433 <para>
434 browses for mDNS/DNS-SD services using the
435 <application>Avahi</application> daemon.
436 </para>
437 <indexterm zone="avahi avahi-discover">
438 <primary sortas="b-avahi-discover">avahi-discover</primary>
439 </indexterm>
440 </listitem>
441 </varlistentry>
442 -->
443 <varlistentry id="avahi-discover-standalone">
444 <term><command>avahi-discover-standalone</command></term>
445 <listitem>
446 <para>
447 browses for mDNS/DNS-SD services using the
448 <application>Avahi</application> daemon
449 </para>
450 <indexterm zone="avahi avahi-discover-standalone">
451 <primary sortas="b-avahi-discover-standalone">avahi-discover-standalone</primary>
452 </indexterm>
453 </listitem>
454 </varlistentry>
455
456 <varlistentry id="avahi-dnsconfd">
457 <term><command>avahi-dnsconfd</command></term>
458 <listitem>
459 <para>
460 is a Unicast DNS server from mDNS/DNS-SD configuration daemon
461 </para>
462 <indexterm zone="avahi avahi-dnsconfd">
463 <primary sortas="b-avahi-dnsconfd">avahi-dnsconfd</primary>
464 </indexterm>
465 </listitem>
466 </varlistentry>
467
468 <varlistentry id="avahi-publish">
469 <term><command>avahi-publish</command></term>
470 <listitem>
471 <para>
472 registers a mDNS/DNS-SD service or host name or address mapping
473 using the <application>Avahi</application> daemon
474 </para>
475 <indexterm zone="avahi avahi-publish">
476 <primary sortas="b-avahi-publish">avahi-publish</primary>
477 </indexterm>
478 </listitem>
479 </varlistentry>
480
481 <varlistentry id="avahi-publish-address">
482 <term><command>avahi-publish-address</command></term>
483 <listitem>
484 <para>
485 registers a mDNS/DNS-SD service or host name or address mapping
486 using the <application>Avahi</application> daemon
487 </para>
488 <indexterm zone="avahi avahi-publish-address">
489 <primary sortas="b-avahi-publish-address">avahi-publish-address</primary>
490 </indexterm>
491 </listitem>
492 </varlistentry>
493
494 <varlistentry id="avahi-publish-service">
495 <term><command>avahi-publish-service</command></term>
496 <listitem>
497 <para>
498 registers a mDNS/DNS-SD service or host name or address mapping
499 using the <application>Avahi</application> daemon
500 </para>
501 <indexterm zone="avahi avahi-publish-service">
502 <primary sortas="b-avahi-publish-service">avahi-publish-service</primary>
503 </indexterm>
504 </listitem>
505 </varlistentry>
506
507 <varlistentry id="avahi-resolve">
508 <term><command>avahi-resolve</command></term>
509 <listitem>
510 <para>
511 resolves one or more mDNS/DNS host name(s) to IP address(es)
512 (and vice versa) using the <application>Avahi</application>
513 daemon
514 </para>
515 <indexterm zone="avahi avahi-resolve">
516 <primary sortas="b-avahi-resolve">avahi-resolve</primary>
517 </indexterm>
518 </listitem>
519 </varlistentry>
520
521 <varlistentry id="avahi-resolve-address">
522 <term><command>avahi-resolve-address</command></term>
523 <listitem>
524 <para>
525 resolves one or more mDNS/DNS host name(s) to IP address(es)
526 (and vice versa) using the <application>Avahi</application>
527 daemon
528 </para>
529 <indexterm zone="avahi avahi-resolve-address">
530 <primary sortas="b-avahi-resolve-address">avahi-resolve-address</primary>
531 </indexterm>
532 </listitem>
533 </varlistentry>
534
535 <varlistentry id="avahi-resolve-host-name">
536 <term><command>avahi-resolve-host-name</command></term>
537 <listitem>
538 <para>
539 resolves one or more mDNS/DNS host name(s) to IP address(es)
540 (and vice versa) using the <application>Avahi</application>
541 daemon
542 </para>
543 <indexterm zone="avahi avahi-resolve-host-name">
544 <primary sortas="b-avahi-resolve-host-name">avahi-resolve-host-name</primary>
545 </indexterm>
546 </listitem>
547 </varlistentry>
548
549 <varlistentry id="avahi-set-host-name">
550 <term><command>avahi-set-host-name</command></term>
551 <listitem>
552 <para>
553 changes the mDNS host name
554 </para>
555 <indexterm zone="avahi avahi-set-host-name">
556 <primary sortas="b-avahi-set-host-name">avahi-set-host-name</primary>
557 </indexterm>
558 </listitem>
559 </varlistentry>
560
561 <!--<varlistentry id="bshell">
562 <term><command>bshell</command></term>
563 <listitem>
564 <para>
565 does this .....
566 </para>
567 <indexterm zone="avahi bshell">
568 <primary sortas="b-bshell">bshell</primary>
569 </indexterm>
570 </listitem>
571 </varlistentry>-->
572
573 <varlistentry id="bssh">
574 <term><command>bssh</command></term>
575 <listitem>
576 <para>
577 browses for SSH servers on the local network
578 </para>
579 <indexterm zone="avahi bssh">
580 <primary sortas="b-bssh">bssh</primary>
581 </indexterm>
582 </listitem>
583 </varlistentry>
584
585 <varlistentry id="bvnc">
586 <term><command>bvnc</command></term>
587 <listitem>
588 <para>
589 browses for VNC servers on the local network
590 </para>
591 <indexterm zone="avahi bvnc">
592 <primary sortas="b-bvnc">bvnc</primary>
593 </indexterm>
594 </listitem>
595 </varlistentry>
596
597 <!--<varlistentry id="libavahi-client">
598 <term><filename class='libraryfile'>libavahi-client.{so,a}</filename></term>
599 <listitem>
600 <para>
601 contains functions that .....
602 </para>
603 <indexterm zone="avahi libavahi-client">
604 <primary sortas="c-libavahi-client">libavahi-client.{so,a}</primary>
605 </indexterm>
606 </listitem>
607 </varlistentry>
608
609 <varlistentry id="libavahi-common">
610 <term><filename class='libraryfile'>libavahi-common.{so,a}</filename></term>
611 <listitem>
612 <para>
613 contains functions that .....
614 </para>
615 <indexterm zone="avahi libavahi-common">
616 <primary sortas="c-libavahi-common">libavahi-common.{so,a}</primary>
617 </indexterm>
618 </listitem>
619 </varlistentry>
620
621 <varlistentry id="libavahi-core">
622 <term><filename class='libraryfile'>libavahi-core.{so,a}</filename></term>
623 <listitem>
624 <para>
625 contains functions that .....
626 </para>
627 <indexterm zone="avahi libavahi-core">
628 <primary sortas="c-libavahi-core">libavahi-core.{so,a}</primary>
629 </indexterm>
630 </listitem>
631 </varlistentry>
632
633 <varlistentry id="libavahi-glib">
634 <term><filename class='libraryfile'>libavahi-glib.{so,a}</filename></term>
635 <listitem>
636 <para>
637 contains functions that .....
638 </para>
639 <indexterm zone="avahi libavahi-glib">
640 <primary sortas="c-libavahi-glib">libavahi-glib.{so,a}</primary>
641 </indexterm>
642 </listitem>
643 </varlistentry>
644
645 <varlistentry id="libavahi-gobject">
646 <term><filename class='libraryfile'>libavahi-gobject.{so,a}</filename></term>
647 <listitem>
648 <para>
649 contains functions that .....
650 </para>
651 <indexterm zone="avahi libavahi-gobject">
652 <primary sortas="c-libavahi-gobject">libavahi-gobject.{so,a}</primary>
653 </indexterm>
654 </listitem>
655 </varlistentry>
656
657 <varlistentry id="libavahi-ui-gtk3">
658 <term><filename class='libraryfile'>libavahi-ui-gtk3.{so,a}</filename></term>
659 <listitem>
660 <para>
661 contains functions that .....
662 </para>
663 <indexterm zone="avahi libavahi-ui-gtk3">
664 <primary sortas="c-libavahi-ui-gtk3">libavahi-ui-gtk3.{so,a}</primary>
665 </indexterm>
666 </listitem>
667 </varlistentry>
668
669 <varlistentry id="libavahi-ui">
670 <term><filename class='libraryfile'>libavahi-ui.{so,a}</filename></term>
671 <listitem>
672 <para>
673 contains functions that .....
674 </para>
675 <indexterm zone="avahi libavahi-ui">
676 <primary sortas="c-libavahi-ui">libavahi-ui.{so,a}</primary>
677 </indexterm>
678 </listitem>
679 </varlistentry>
680
681 <varlistentry id="libdns_sd">
682 <term><filename class='libraryfile'>libdns_sd.{so,a}</filename></term>
683 <listitem>
684 <para>
685 contains functions that .....
686 </para>
687 <indexterm zone="avahi libdns_sd">
688 <primary sortas="c-libdns_sd">libdns_sd.{so,a}</primary>
689 </indexterm>
690 </listitem>
691 </varlistentry>
692
693 <varlistentry id="libhowl">
694 <term><filename class='libraryfile'>libhowl.{so,a}</filename></term>
695 <listitem>
696 <para>
697 contains functions that .....
698 </para>
699 <indexterm zone="avahi libhowl">
700 <primary sortas="c-libhowl">libhowl.{so,a}</primary>
701 </indexterm>
702 </listitem>
703 </varlistentry>-->
704
705 </variablelist>
706
707 </sect2>
708
709</sect1>
Note: See TracBrowser for help on using the repository browser.