通常(大概 80% 的时间),当我重新启动运行 Avahi 的机器时,它会开始使用machinename-2.local
作为主机名。我网络上的所有机器都有唯一的主机名,因此不会发生冲突。
如何防止 Avahi 附加-2
到主机名?
(事实证明,这对于 Google 来说是一件极其困难的事情……)
答案1
OS X 机器也是如此。
如果主机名已经在网络上使用,它会触发计数器以使名称再次唯一。我怀疑有问题的机器可能有两个网卡连接到同一个网络(有线和无线),或者您正在运行 Bonjour 代理(您可能不知道),它通过保持主机名处于活动状态来帮助休眠的机器。为了更确定,您可能需要更好地描述您的网络。
答案2
我在 Raspberry Pi 上遇到了同样的问题。在找到更好的解决方案之前,我添加了一个 crontab 条目来每天运行此脚本。
#!/bin/bash
writelog()
{
echo $(date) >> /home/pi/avahirestart.log
}
aname=$(avahi-resolve -a $(hostname -I|cut -d' ' -f1)|cut -f2)
if [[ "$aname" = *"-2"* ]];then
sudo service avahi-daemon restart
writelog
fi
if [[ "$aname" = *"-3"* ]];then
sudo service avahi-daemon restart
writelog
fi
答案3
就我而言,此行为是由 Docker 容器内的 Plex Media Server 引起的,该容器运行自己的 avahi-daemon。我正在使用这个 Docker 镜像:https://hub.docker.com/r/linuxserver/plex/
该数字经常增加,无需重新启动。
停止 docker 容器并重新启动 avahi-daemon.service 后,数字消失了。
答案4
请参阅第 4.7 节“主机名更改并附加递增数字”阿瓦希。这里指出这是 Avahi 中的一个已知错误。一种解决方法是关闭本地路由器上的 IPv6。我试过了,它在我的网络中起作用了。我在 Raspberry pi 4 上挣扎了一段时间。我不知道为什么我没有在其他 Pi 上看到这个问题。