Как предотвратить (или, по крайней мере, автоматически исправить) «avahi-daemon: running [ubuntu_comp_hostname.local]» заменять версией с добавлением «-2»?

У меня есть эта проблема, где это:
#=> avahi-daemon: running [ubuntu_comp_hostname.local]
продолжает заменяться версией с добавленным:
#=> avahi-daemon: running [ubuntu_comp_hostname-2.local]

(
Я нахожу это из:
> ps -eo cmd | grep avahi
что кроме этого (и самого grep) оказывается просто:
#=> avahi-daemon: chroot helper
)


Я исправил проблему, просто запустив:
> sudo service avahi-daemon restart
но это просто раздражает, когда я пытаюсь запустить какую-то функцию оболочки, которая включает ssh,
и она просто зависает на некоторое время, прежде чем, наконец, перейти:
#=> ssh: Could not resolve hostname ubuntu_comp_hostname.local: Name or service not known


(Это просто персональный ноутбук в домашней сети с одной из стандартных настроек модема-маршрутизатора от местной интернет-компании.)


Я, к сожалению, довольно невежественен (в этом вопросе в частности и вообще),
но кажется разумным предположить, что:

  • avahi вылетает или перезагружается или что-то в этом роде

  • а затем он снова пытается начать с простого [ubuntu_comp_hostname.local],
    но он все еще висит в несуществующем состоянии или что-то в этом роде
    (как процесс на компьютере? или в каком-то кеше где-то еще в сети? или...?)
    , поэтому он автоматически добавляет -2до конца фактического имени хоста

Что-то в этом роде, да?


Я не уверен, когда именно это произойдет. Все, что я могу сказать, это:

  • это не происходит каждый раз, когда компьютер выходит из спящего режима

  • это может происходить не только тогда, когда компьютер только что вышел из спящего режима


Итак... как я могу предотвратить это?
(Или, если это не удается, заставить его автоматически исправляться, когда это происходит??)

1 ответ

У меня такая же проблема на 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
Другие вопросы по тегам