Avahi-0.8

Introdução ao Avahi

O pacote Avahi é um sistema que facilita a descoberta de serviços em uma rede de intercomunicação local.

Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.2.

Informação do Pacote

Transferências Adicionais

Dependências do "Avahi"

Exigidas

GLib-2.80.4 (GObject Introspection recomendado)

Recomendadas

Opcionais

D-Bus Python-1.3.2, libevent-2.1.12, Doxygen-1.12.0, GTK+-2 (obsoleto) e xmltoman (para gerar documentação)

Instalação do Avahi

Deveria existir um(a) usuário(a) e um grupo dedicado(a) para assumir o controle do processo de segundo plano "avahi-daemon" depois que ele for iniciado. Emita os seguintes comandos como o(a) usuário(a) "root":

groupadd -fg 84 avahi &&
useradd -c "Proprietário(a) do Processo de Segundo Plano Avahi" -d /run/avahi-daemon -u 84 \
        -g avahi -s /bin/false avahi

Também deveria existir um grupo de acesso privilegiado dedicado para clientes do "Avahi". Emita o seguinte comando como o(a) usuário(a) "root":

groupadd -fg 86 netdev

Corrija uma regressão que resulta em uma condição de corrida quando o "IPv6" está em uso e vários adaptadores de rede de intercomunicação estiverem presentes no sistema:

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

Corrija uma vulnerabilidade de segurança no "avahi-daemon":

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

Instale o "Avahi" executando os seguintes comandos:

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

Esse pacote não vem com uma suíte de teste.

Agora, como o(a) usuário(a) "root":

make install

Explicações do Comando

--disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas.

--disable-libevent: Esse parâmetro desabilita o uso da "libevent-2.1.12". Remova se você a tiver instalado.

--disable-mono: Esse parâmetro desabilita as ligações "Mono".

--disable-monodoc: Esse parâmetro desabilita a documentação para as ligações "Mono".

--disable-python: Esse parâmetro desabilita os conjuntos de comandos sequenciais que dependem do Python. Ele também permite que uma instalação regular complete exitosamente.

--disable-qt3: Esse parâmetro desabilita a tentativa de construir as partes obsoletas do "Qt3" do pacote.

--disable-qt4: Esse parâmetro desabilita a tentativa de construir as partes obsoletas "Qt4Core" do pacote.

--enable-core-docs: Esse parâmetro habilita a construção da documentação.

--with-distro=none: Existe um conjunto de comandos sequenciais obsoletos de inicialização na distribuição para o LFS. Essa opção o desabilita.

--with-dbus-system-address=: Essa opção evita que o pacote referencie o diretório obsoleto /var/run.

--disable-dbus: Esse parâmetro desabilita o uso do "D-Bus".

--disable-gtk: Esse parâmetro desabilita o uso do "GTK+2".

--disable-gtk3: Esse parâmetro desabilita o uso do "GTK+3".

--disable-qt5: Esse parâmetro desabilita o uso do "Qt5" e permite construir sem ele.

--disable-libdaemon: Esse parâmetro desabilita o uso do "libdaemon". Se você usar essa opção, [então] o "avahi-daemon" não será construído.

--enable-tests: Essa opção habilita a construção de testes e exemplos.

--enable-compat-howl: Essa opção habilita a camada de compatibilidade para o "HOWL".

--enable-compat-libdns_sd: Essa opção habilita a camada de compatibilidade para o "libdns_sd".

Configurando o avahi

Conjunto de Comandos Sequenciais de Inicialização

Para iniciar o processo de segundo plano avahi-daemon na inicialização, habilite a unidade do systemd instalada anteriormente executando o seguinte comando como o(a) usuário(a) root:

systemctl enable avahi-daemon

Para iniciar o processo de segundo plano avahi-dnsconfd na inicialização, habilite a unidade do systemd instalada anteriormente executando o seguinte comando como o(a) usuário(a) root:

systemctl enable avahi-dnsconfd

Conteúdo

Aplicativos Instalados: 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 e bvnc
Bibliotecas Instaladas: libavahi-client.so, libavahi-common.so, libavahi-core.so, libavahi-glib.so, libavahi-gobject.so, libavahi-libevent.so libavahi-ui-gtk3.so, libavahi-qt5, libavahi-ui.so, libdns_sd.so e libhowl.so
Diretórios Instalados: /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-qt5, avahi-ui}, /usr/lib/avahi, /usr/share/avahi

Descrições Curtas

avahi-autoipd

é um processo de segundo plano de configuração de endereço de rede de intercomunicação "IPv4LL"

avahi-browse

procura serviços "mDNS"/"DNS-SD" usando o processo de segundo plano "Avahi"

avahi-browse-domains

procura serviços "mDNS"/"DNS-SD" usando o processo de segundo plano "Avahi"

avahi-daemon

é o processo de segundo plano "mDNS"/"DNS-SD" "Avahi"

avahi-discover-standalone

procura serviços "mDNS"/"DNS-SD" usando o processo de segundo plano "Avahi"

avahi-dnsconfd

é um servidor "DNS" "Unicast" originário do processo de segundo plano de configuração "mDNS"/"DNS-SD"

avahi-publish

registra um serviço "mDNS"/"DNS-SD" ou mapeamento de nome de dispositivo ou de endereço usando o processo de segundo plano "Avahi"

avahi-publish-address

registra um serviço "mDNS"/"DNS-SD" ou mapeamento de nome de dispositivo ou de endereço usando o processo de segundo plano "Avahi"

avahi-publish-service

registra um serviço "mDNS"/"DNS-SD" ou mapeamento de nome de dispositivo ou de endereço usando o processo de segundo plano "Avahi"

avahi-resolve

resolve um ou mais nomes de dispositivo "mDNS"/"DNS" para endereços "IP" (e vice-versa) usando o processo de segundo plano "Avahi"

avahi-resolve-address

resolve um ou mais nomes de dispositivo "mDNS"/"DNS" para endereços "IP" (e vice-versa) usando o processo de segundo plano "Avahi"

avahi-resolve-host-name

resolve um ou mais nomes de dispositivo "mDNS"/"DNS" para endereços "IP" (e vice-versa) usando o processo de segundo plano "Avahi"

avahi-set-host-name

muda o nome "mDNS" do dispositivo

bssh

procura servidores "SSH" na rede de intercomunicação local

bvnc

procura servidores "VNC" na rede de intercomunicação local