среда, 2 сентября 2009 г.

Решение прерывания закачки

С момента использования линукса на ноутбуке обнаружился странный баг, который заключается во внезапном прекращении загрузки данных из сети посредством wget или аналогичной программы. Данные просто перестают передаваться/приниматься, а wget продолжает висеть. При этом никаких ретривов не делается. Остается только сбрасывать или перезапускать закачку. Особенно "доставляет" при обновлении pacman'ом, когда оставишь его на ночь, а на утро обнаружишь, что ничего и не скачалось. Не знаю, с чем это связано - с железом или с программными настройками. Обнаружилось на 2х разных ноутбуках с разными дистрибутивами линукса. При этом они выходят в сеть через Wifi роутер D-link, который уже непосредственно подключен к ADSL-модему. Смотрел логи на роутере, в системах, и не нашел ответа. Как будто связь обрывает передающая сторона. Правда иногда в логах роутера проскакивали сообщения о блокировке передающей стороны (например, хоста репозитория на yandex.ru).
На форуме linuxforum.ru предложили использовать вместо пакмана программу powerpill, которая использует другую качалку - aria2. Она автоматом ретривит застывшую загрузку.
Еще я нашел вот такое решение. Можно добавить параметр --read-timeout в строку запуска wget, чтобы по прошествии определенного времени простоя он рестартовал закачку.
Можно засунуть параметры запуска в конфиг /etc/pacman.conf:
XferCommand = /usr/bin/wget --read-timeout=10 --passive-ftp -c -O %o %u
По прошествии 10 секунд "молчания" wget начинает заново закачку.
Но причина такого поведения мне до сих пор неизвестна.

Комментариев нет:

Отправить комментарий