Installasjon av Avahi
Det bør være en dedikert bruker og gruppe til å ta kontroll på
avahi-daemon nissen
etter at det er startet. Utfør følgende kommandoer som root bruker:
groupadd -fg 84 avahi &&
useradd -c "Avahi Daemon Owner" -d /run/avahi-daemon -u 84 \
-g avahi -s /bin/false avahi
Det bør også være en dedikert privilegert tilgangsgruppe for
Avahi klienter. Utfør følgende
kommando som root bruker:
groupadd -fg 86 netdev
Fiks en regresjon som resulterer i en konkurranse tilstand når IPv6
er i bruk og flere nettverkskort er tilstede på systemet:
patch -Np1 -i ../avahi-0.8-ipv6_race_condition_fix-1.patch
Rett opp en sikkerhetssårbarhet i avahi-daemon:
sed -i '426a if (events & AVAHI_WATCH_HUP) { \
client_free(c); \
return; \
}' avahi-daemon/simple-protocol.c
Installer Avahi ved å kjøre
følgende kommandoer:
./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
Denne pakken kommer ikke med en testpakke.
Nå, som root bruker:
make install
Parameterforklaringer
--disable-static: Denne
bryteren forhindrer installasjon av statiske versjoner av
bibliotekene.
--disable-libevent: Denne
parameteren deaktiverer bruken av libevent-2.1.12. Fjern
hvis du har den installert.
--disable-mono: Denne
parameteren deaktiverer Mono
bindinger.
--disable-monodoc: Denne
parameteren deaktiverer dokumentasjon for Mono bindinger.
--disable-python: Denne
parameteren deaktiverer skript som er avhengig av Python. Det lar også en vanlig installasjon
fullføre.
--disable-qt3: Denne
parameteren deaktiverer forsøk på å bygge de foreldede Qt3 deler av pakken.
--disable-qt4: Denne
parameteren deaktiverer forsøk på å bygge de foreldede Qt4Core deler av pakken.
--disable-qt5: Denne
parameteren deaktiverer bruken av Qt5, og tillater bygging uten den.
--enable-core-docs: Denne
parameteren aktiverer bygging av dokumentasjonen.
--with-distro=none: Det er
et foreldet oppstartsskript i distribusjonen for LFS. Dette
alternativet deaktiverer det.
--with-dbus-system-address=: Dette
alternativet forhindrer at pakken refererer til den utdaterte
/var/run mappen.
--disable-dbus: Denne parameteren
deaktiverer bruken av D-Bus.
--disable-gtk: Denne parameteren
deaktiverer bruken av GTK+2.
--disable-gtk3: Denne parameteren
deaktiverer bruken av GTK+3.
--disable-libdaemon: Denne parameteren
deaktiverer bruken av libdaemon.
Hvis du bruker dette alternativet, avahi-daemon vil ikke bli bygget.
--enable-tests: Dette alternativet gjør
det mulig å bygge tester og eksempler.
--enable-compat-howl: Dette
alternativet aktiverer kompatibilitetslag for HOWL.
--enable-compat-libdns_sd: Dette
alternativet aktiverer kompatibilitetslag for libdns_sd.
Konfigurere avahi
Oppstartsskript
avahi-daemon vil
komme i konflikt med systemd-resolved under
standardkonfigurasjonen hvis begge kjører samtidig på et system,
fordi begge vil fungere som en Multicast DNS resolver og
responder. Hvis du må kjøre Avahi-daemonen (BLFS redaktørene
anbefaler ikke å gjøre det med mindre du virkelig trenger
funksjonaliteten), deaktiver Multicast DNS støtten til
systemd-resolved og
aktiver den tidligere installerte systemd enheten ved å kjøre
følgende kommando som root
bruker:
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
For å starte avahi-dnsconfd daemonen ved
oppstart, aktiver den tidligere installerte systemd enheten ved å
kjøre følgende kommando som root
bruker (merk at følgende kommando også implisitt vil aktivere
avahi-daemon, så
hvis du kjører den, må du sørge for at du har deaktivert
systemd-resolved
Multicast DNS støtte som nevnt ovenfor):
systemctl enable avahi-dnsconfd