akorop |
|
Темы:
111
Сообщения:
1756
Участник с: 29 февраля 2012
|
(Не знаю, соответствует ли это тематике данного формуа, но более подходящего не нашёл.) Обычно mc запускается быстро (менее секунды), но иногда тормозит на несколько секунд, а то и десятков секунд. И если уж торомозит, то тормозит везде - хоть первый экземпляр, хоть второй, хоть в эмуляторе терминала, хоть в ядерной консоли. Тема эта вечная, опубликована куча заклинаний, и все они мне не помогают. Так вот, я нашёл закономерность, когда он у меня тормозит: когда (1) сеть как бы есть, и (2) реального выхода в интернет нет. У меня интернет через ADSL-модем, подключён через интерфейс eth1 (eth0 ведёт к выключенному компьютеру). NetworkManager-а и прочей такой фигни с некоторых пор нет, всё конфигурируется при загрузке командами ip. Ситуацию показывают следующие примеры. Пример 1. Модем связался с интернетом, линк поднят - запуск mc не тормозит. Пример 2. Выдёргиваю сетевой кабель из модема (eth1 остаётся при это UP) - запуск mc тормозит. Пример 3. Ввожу ip set down eth1 - запуск mc не тормозит. Всё то же самое я проделывал в ubuntu 12.04, предварительно прибив NetworkManager, - там mc не тормозит никогда. То есть, похоже, это Arch-специфический глюк. Вот как выглядит сеть, когда mc тормозит: 2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000 link/ether 40:61:86:85:ce:69 brd ff:ff:ff:ff:ff:ff inet 192.168.1.21/24 scope global eth0 3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000 link/ether 00:02:44:88:e0:e5 brd ff:ff:ff:ff:ff:ff inet 192.168.2.3/24 scope global eth1 |
vadik |
|
Темы:
57
Сообщения:
5493
Участник с: 17 августа 2009
|
Как всегда: при запуске ругань есть? /etc/hosts правильно заполнен? на чистом профиле пробовали? |
akorop |
|
Темы:
111
Сообщения:
1756
Участник с: 29 февраля 2012
|
vadikРугани нет; hosts я не трогал, там только localhost; про чистый профиль - не понимаю профиль чего. Раньше у меня был Archbang с ModemManager - там этот эффект тоже возникал во время "пересменки" (когда модем уже соединился с компьютером, но ещё не соединился с интернетом). Сейчас Arch, поставленный честно с нуля, никаких автоматических сетевизмов нет вообще. В rc.local (запуск которого включён) сеть конфигурируется вот так: ip link set enp2s0 down ip link set enp3s5 down ip link set dev enp2s0 name eth0 ip link set dev enp3s5 name eth1 ip link set eth0 up ip addr add 192.168.1.21/24 dev eth0 ip link set eth1 up ip addr add 192.168.2.3/24 dev eth1 ip route del default ip route add default via 192.168.2.1 |
vadik |
|
Темы:
57
Сообщения:
5493
Участник с: 17 августа 2009
|
Да забейте вы на сеть. Проблемы из-за сети могут быть в том случае, если вас при закрытии mc в неактивной вкладке был какой-нибудь сетевой ресурс. |
kurych |
|
Темы:
0
Сообщения:
1395
Участник с: 06 ноября 2011
|
akoropВот и причина тормозов. Добавьте в этом файле строчку для разрешения доменного имени Вашего компьютера. Или в строчке 127.0.0.1 в конце - имя компа. Суть в том, что в случае "как бы присутствия сети" mc (даже скорее не специально, а подчиняясь правилам работы библиотек, используемых для его написания) пытается отрезолвить имя хоста, на котором запущен. Естественно, если его нет в локальном файле /etc/hosts, обращение идет на внешний DNS из /etc/resolv.conf. И тут засада - DNS не отвечает, а положенные таймауты все равно выдерживаются. Можете это наблюдать, если интересно, запустив tcpdump на поднятом, но не подключенном интерфейсе. Вот и вся загадка. |
vadik |
|
Темы:
57
Сообщения:
5493
Участник с: 17 августа 2009
|
kurych, если я правильно понял вики, то /etc/hosts уже не нужен. |
kurych |
|
Темы:
0
Сообщения:
1395
Участник с: 06 ноября 2011
|
Note: Вам теперь не нужно больше редактировать /etc/hosts. Пакет nss-myhostname будет обеспечивать разрешение имен, и устанавливается на все системы по умолчанию.Что-то я этого "волшебного" пакета nss-myhostname не нахожу... Есть в AUR nss-myhostname-separate, но не факт, что он у всех, у кого возникают проблемы, сам установится UPD: вполне возможно, что и не надо было бы редактировать hosts, если бы состояние интерфейсов соответствовало действительности или был настроен локальный DNS. Ведь при "опущенных" портах все работает нормально. Тормоза имеют место именно при ненормальном поведении сети. Логику я примерно описал выше. |
akorop |
|
Темы:
111
Сообщения:
1756
Участник с: 29 февраля 2012
|
kurychПомогло, спасибо! Это именно оно. И с Убунту разница именно в этом - там "из коробки" есть имя хоста в hosts.akoropВот и причина тормозов. Добавьте в этом файле строчку для разрешения доменного имени Вашего компьютера. Или в строчке 127.0.0.1 в конце - имя компа. Это бы в FAQ какой-то надо. Наверняка ведь не только mc на этом может обламываться. А ещё лучше бы, чтобы "из коробки" имя хоста было в hosts... |
vadik |
|
Темы:
57
Сообщения:
5493
Участник с: 17 августа 2009
|
kurychВ английской версии этот пакет не упоминается. НоNote: Вам теперь не нужно больше редактировать /etc/hosts. Пакет nss-myhostname будет обеспечивать разрешение имен, и устанавливается на все системы по умолчанию.Что-то я этого "волшебного" пакета nss-myhostname не нахожу... # echo myhostname > /etc/hostname |
kurych |
|
Темы:
0
Сообщения:
1395
Участник с: 06 ноября 2011
|
2akorop: Не совсем согласен. Ubuntu вообще для домохозяек, поэтому там как можно более универсально делают. И какими-то хитрыми костылями все завязывают. Не знаю, как сейчас, но раньше там даже Firefox переходил в автономный режим, если не был доступен интернет. (Меня это изрядно доставало). Просто в Вашем случае из-за статики сеть иногда находится не совсем в адекватном состоянии. Поэтому нужна такая поправка. То есть, если человек не пользуется менеджерами сети, а настраивает все руками и статикой, то предполагается, что он знает, что делает. |