source: networking/netutils/avahi.xml@ a5e9bcdc

12.1 ken/TL2024 ken/tuningfonts lazarus plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18
Last change on this file since a5e9bcdc was c1a287b, checked in by Douglas R. Reno <renodr@…>, 11 months ago

Tags for printing stack

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