Внимательнейшим образом изучил эту строку:
before doing NFS mountsaiting for interface eth0
Значит так, часть строки,а именно: "waiting for interface $i before doing NFS mounts" (вместо $i выводится имя интерфейса) выводится через скрипт /etc/network/if-up.d/mountnfs (в Debian 6) именно так, как написано.
Почему в сообщении сначало идёт "before doing...", затем, w затирается, и после идёт "aiting for interface eth0"?
В скриптах в каталоге /etc, есть только скрипт один скрипт, в котором такое сообщение - mountnfs. Другие скрипты не могут формировать такой вывод. Ошибка похоже на синтаксическую, в скрипте mountnfs или в обрабатываемых данных этим скриптом, иначе бы 2 части одного сообщения не поменялись местами.
Участок кода, где выводится сообщение:
exit_unless_last_interface() {
grep "^[:space:]*auto" /etc/network/interfaces | \
sed -e 's/[ \t]*auto[ \t]*//;s/[ \t]*$//;s/[ \t]/\n/g' | \
while read i; do
if [ `grep -c $i /etc/network/run/ifstate` -eq "0" ]; then
msg="if-up.d/mountnfs[$IFACE]: waiting for interface $i before doing NFS mounts"
log_warning_msg "$msg"
# Can not pass this as a variable because of the while subshell
mkdir /var/run/network/mountnfs_earlyexit 2> /dev/null
fi
done
if [ -d /var/run/network/mountnfs_earlyexit ]; then
rmdir /var/run/network/mountnfs_earlyexit 2>/dev/null
exit 0
fi
}
Перед этим, идёт парсинг файла /etc/network/interfaces на предмет строк с auto - именно эти интерфейсы должны стартовать автоматически при старте системы. Без allow-hotplug, кстати, интерфейс конфигурироваться не будут если в процессе работы выткнуть сетевой шнур, а затем снова его вставить. Свой файл interfaces (debian 6) отправил через личку. Если синтаксис interfaces нарушен, парсинг не сработает. Также он не сработает, если grep или sed не выполнились как надо - такое бывает между версиями Debian - разработчики иногда меняют эти утилиты, но по каким-то причинам символическая ссылка на старую версию не создалась.