Как предотвратить (или, по крайней мере, автоматически исправить) «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