Avahi-0.8

Introduction à Avahi

Le paquet Avahi est un système qui facilite la découverte des services dans un réseau local.

[Note]

Note

Les versions de développement de BLFS peuvent ne pas arriver à contruire ou à exécuter certains paquets correctement si LFS ou des dépendances ont été mises à jour depuis la dernière version stable des livres.

Informations sur le paquet

Téléchargements supplémentaires

Dépendances de Avahi

Requises

GLib-2.86.0 (GObject Introspection est recommandé)

Recommandées

Facultatives

D-Bus Python-1.4.0, libevent-2.1.12, Doxygen-1.14.0, GTK+-2 (obsolète) et xmltoman (pour générer la documentation)

Installation de Avahi

Il doit y avoir un utilisateur et un groupe dédiés pour prendre le contrôle du démon avahi-daemon après son démarrage. Tapez les commandes suivantes en tant qu'utilisateur root :

groupadd -fg 84 avahi &&
useradd -c "Avahi Daemon Owner" -d /run/avahi-daemon -u 84 \
        -g avahi -s /bin/false avahi

Il doit y avoir un groupe d'accès dédiés pour les clients Avahi. Tapez les commandes suivantes en tant qu'utilisateur root :

groupadd -fg 86 netdev

Corrigez une régression qui provient d'une situation de compétition lorsqu'IPv6 est utilisé et que plusieurs interfaces réseau sont présentes sur le système :

patch -Np1 -i ../avahi-0.8-ipv6_race_condition_fix-1.patch

Corrigez un problème de sécurité dans avahi-daemon :

sed -i '426a if (events & AVAHI_WATCH_HUP) { \
client_free(c); \
return; \
}' avahi-daemon/simple-protocol.c

Installez Avahi en exécutant les commandes suivantes :

./configure \
    --prefix=/usr        \
    --sysconfdir=/etc    \
    --localstatedir=/var \
    --disable-static     \
    --disable-libevent   \
    --disable-mono       \
    --disable-monodoc    \
    --disable-python     \
    --disable-qt3        \
    --disable-qt4        \
    --disable-qt5        \
    --enable-core-docs   \
    --with-distro=none   \
    --with-dbus-system-address='unix:path=/run/dbus/system_bus_socket' &&
make

Ce paquet n'a pas de suite de tests.

Maintenant, en tant qu'utilisateur root :

make install

Explication des commandes

--disable-static : Ce paramètre empêche l'installation des versions statiques des bibliothèques.

--disable-libveent : ce paramètre désactive l'utilisation de libevent-2.1.12. Supprimez-le si vous l'avez installé.

--disable-mono : Ce paramètre désactive la construction de l'intégration de Mono.

--disable-monodoc : Ce paramètre désactive la documentation pour l'intégration de Mono.

--disable-python : Ce paramètre désactive les scripts qui dépendent de Python. Il permet aussi à une installation régulière (sans destdir) de réussir entièrement.

--disable-qt3 : Ce paramètre désactive la construction obsolète des portions Qt3 du paquet.

--disable-qt4 : Ce paramètre désactive la construction obsolète des portions Qt4Core du paquet.

--enable-core-docs : Ce paramètre active la construction de la documentation.

--with-distro=none : C'est un script de démarrage obsolète de la distribution LFS. Cette option est le désactive.

--with-dbus-system-address= : cette option empêche le paquet de référencer le répertoire obsolète /var/run.

--disable-dbus : Ce paramètre évite l'utilisation de D-Bus.

--disable-gtk : Ce paramètre évite l'utilisation de GTK+2.

--disable-gtk3 : Ce paramètre évite l'utilisation de GTK+3.

--disable-qt5 : ce paramètre désactive l'utilisation de Qt5 et permet de construire le paquet sans lui.

--disable-libdaemon : Ce paramètre évite l'utilisation de libdaemon. Si vous utilisez cette option, avahi-daemon ne sera pas construit.

--enable-tests : Cette option permet de construire les tests et les exemples.

--enable-compat-howl : Cette option active la couche de compatibilité avec HOWL.

--enable-compat-libdns_sd : Cette option active la compatibilité pour libdns_sd.

Configuration de avahi

Script de démarrage

Le démon avahi-daemon entrera en conflit avec systemd-resolved dans la configuration par défaut si les deux sont exécutés en même temps sur un système car les deux agiront comme des résolveurs et des répondeurs DNS multicast. Si vous devez exécuter le démon Avahi (les auteurs de BLFS ne le recommandent pas à mois d'avoir vraiment besoin de ses fonctionnalités), désactivez la prise en charge du DNS multicast de ^systemd-resolved et activez l'unité systemd précédemment installée en exécutant la commande suivant en tant qu'utilisateur root :

mkdir -pv /etc/systemd/resolved.conf.d &&
cat > /etc/systemd/resolved.conf.d/no-mdns.conf << EOF &&
[Resolve]
MulticastDNS=no
EOF
systemctl enable avahi-daemon

Pour démarrer le démon avahi-dnsconfd au démarrage, activez l'unité systemd précédemment installée en exécutant la commande suivante en tant qu'utilisateur root (remarquez que la commande suivante activera également implicitement avahi-daemon, donc si vous l'exécutez, vous devez vous assurer que vous avez désactivé la prise en charge du DNS multicast de systemd-resolved comme mentionné plus haut) :

systemctl enable avahi-dnsconfd

Contenu

Programmes installés: avahi-autoipd, avahi-browse, avahi-browse-domains, avahi-daemon, avahi-discover-standalone, avahi-dnsconfd, avahi-publish, avahi-publish-address, avahi-publish-service, avahi-resolve, avahi-resolve-address, avahi-resolve-host-name, avahi-set-host-name, bshell, bssh et bvnc
Bibliothèques installées: libavahi-client.so, libavahi-common.so, libavahi-core.so, libavahi-glib.so, libavahi-gobject.so, libavahi-libevent.so libavahi-ui-gtk3.so, libavahi-ui.so, libdns_sd.so et libhowl.so
Répertoires installés: /etc/avahi/services, /usr/include/{avahi-client,avahi-common, avahi-compat-howl, avahi-compat-libdns_sd, avahi-core, avahi-glib, avahi-gobject, avahi-libevent, avahi-ui}, /usr/lib/avahi, /usr/share/avahi

Descriptions courtes

avahi-autoipd

est un démon de configuration des adresses réseau IPv4LL

avahi-browse

parcourt les services mDNS/DNS-SD utilisant le démon Avahi

avahi-browse-domains

parcourt les services mDNS/DNS-SD utilisant le démon Avahi

avahi-daemon

est le démon Avahi mDNS/DNS-SD

avahi-discover-standalone

parcourt les services mDNS/DNS-SD utilisant le démon Avahi

avahi-dnsconfd

est un serveur DNS Unicast pour la configuration du démon mDNS/DNS-SD

avahi-publish

enregistre un service mDNS/DNS-SD ou un nom d'hôte ou une adresse utilisant le démon Avahi

avahi-publish-address

enregistre un service mDNS/DNS-SD ou un nom d'hôte ou une adresse utilisant le démon Avahi

avahi-publish-service

enregistre un service mDNS/DNS-SD ou un nom d'hôte ou une adresse utilisant le démon Avahi

avahi-resolve

résout un ou plusieurs noms d'hôtes mDNS/DNS en adresses IP (et vice versa) en utilisant le démon Avahi

avahi-resolve-address

résout un ou plusieurs noms d'hôtes mDNS/DNS en adresses IP (et vice versa) en utilisant le démon Avahi

avahi-resolve-host-name

résout un ou plusieurs noms d'hôtes mDNS/DNS en adresses IP (et vice versa) en utilisant le démon Avahi

avahi-set-host-name

change le nom d'hote mDNS

bssh

parcourt les serveurs SSH sur le réseau local

bvnc

parcourt les serveurs VNC sur le réseau local