Тормоза запуска программ при недоступности DNS - борьба с debian -ом продолжается
Установил lenny, обновил. Раб. стол - Gnome, но возможно дело не в нем.
Настроил DNS в /etc/resolv.conf - машина (ноутбук) предназначена для
работы в локальной корпоративной сети и на выносе (без сети).
Все (почти) хорошо работало, пока не отключил сетевой кабель - тут
машина как послабела в несколько раз: вместо запуска программ за доли
секунда стала думать секунд по 20-30.
Выяснил - дело в DNS. Если убрать строки в /etc/resolv.conf - все снова
летает (на настройки в /etc/nssswitch.conf не реагирурует кстати).
DNS желателен, и даже можно было бы статически прописать, но неужели так
и должно быть? Зачем при запуске любого приложения лезть на DNS? (в
интернет стало быть)
Что отключить?
Пробовал через горячую коммутацию и утилиту resolvconf - чтобы настройки
DNS прописывались исключительно при подключенном кабеле, но во первых
пока не понял как заставить эту связку работать хотя бы в части
автоматического опускания и поднятия интерфейса при откл./вкл. сетевого
кабеля, во вторых это опять же не дело - машина без доступа к DNS не
должна себя так вести, когда он не нужен вовсе.
Прошу помочь!
-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 36199; Возраст листа: 2162; Участников: 1384
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/877360
avm7wo***@m*****.ru wrote:
Сразу оговорюсь: имею опыт работы только с семейством RedHat. Возможно
для Debian-like дистрибутивов придется внести некоторые коррективы.
Тормоза при запуске некоторых программ связаны с тем, что при их запуске
проверяется имя и IP Вашего хоста. Чтобы при этом не происходило
обращение к DNS надо, чтобы первым делом эта информация искалась в
другом месте (файл /etc/hosts). Для этого в файле /etc/nsswitch.conf
должна быть строка:
hosts: files dns
а в файле /etc/hosts должны быть определены все имена и IP Вашего
компьютера. У меня, например там записано:
127.0.0.1 localhost.localdomain localhost
192.168.1.22 ses-h.localnet ses-h
ses-h.localnet надо заменить на строку, которую у Вас выдает команда
hostname
а ses-h на часть этой строки до первой точки.
Найдя нужную информацию в файле /etc/hosts система не будет обращаться к
DNS.
Успехов Вам :)