source: networking/netutils/avahi.xml

trunk
Last change on this file was c0bc0a9, checked in by Xi Ruoyao <xry111@…>, 5 weeks ago

Update to glib-2.80.0 and gobject-introspection-1.80.0

Merge gobject-introspection into glib page to better handle a circular
dependency between these two packages.

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