четверг, 2 сентября 2010 г.

Перевод: Список вещей для проверки...

... если вы пытаетесь найти решение для проблемы, проверили все, но все равно никак не получается.

Том Лимончелли клянется, что вот этот список - вовсе не шутка, и на 100% состоит из вещей, которые когда-либо работали. Поэтому он и собрал все эти вещи в кучку, чтобы просто помнить. На всякий случай.

Layer 0 - Прокладка между стулом и клавиатурой
  1. Проверить, что CapsLock выключен. (То же для ScrollLock и NumLock)
  2. Попробовать набрать команду снова (не пользуясь копированием-вставкой) и посмотреть, будет ли результат тем же. (хороший способ найти опечатку или юникодовый пробельный символ)
  3. Сделать копирование-вставку чтобы скопировать название переменной (или URL, или команды, итд.), чтобы проверить, что она была введена верно.
  4. Используются ли те самые бинарники, которые должны? (может вы установили программу в однопользовательском режиме, без смонтированного /opt, и теперь она недоступна? Может команда - это алиас, симлинк или шелл-враппер? Можете проверить SHA1 или MD5 и сравнить с работающей машиной?)
  5. Проверьте права доступа к файлу.
  6. Проверьте, что вы действительно на том хосте, на котором должны быть.
  7. Запускаете ли вы тест с правильной машины? Может быть тест будет эффективнее, если его запустить с другой?
  8. Действительно ли ваш тест проверяет то что вы хотите проверить? Что случится, если вы запустите его на заранее рабочей или нерабочей системе? Результаты и правда те самые, которые должны быть?
  9. Это файл, каталог, жесткая ссылка, символическая, или может это точка монтирования?
  10. То ли расширение у файла? Может быть, оно должно быть .php, а не .html?
  11. Может вы остановили терминал через Ctrl-S? (тогда нажмите CTRL-Q, чтобы проверить)
  12. Вы не можете попасть на веб-сайт? Может браузер находится в режиме "off-line"?
Layer 1 - Физический
  1. Оба ли конца кабеля (сетевого, видео) включены?
  2. Включен ли кабель в правильный разъем? (Некоторые разъемы очень похожи. Например, AUI и видео. На некоторых системах Sun есть дополнительный разъем видео, который вы не собирались использовать)
  3. Вы пробовали вытащить и вставить кабель снова, чтобы проверить, включен ли он на самом деле?
  4. Слишком легко ответить "да", когда спрашивают "действительно ли он включен?". Лучше попросить выключить и включить, или попросить проверить, оба ли конца кабеля питания включены. Или спросить про индикатор питания - светится он, или нет, или может мигает?
  5. Если включить лампу (или что-то еще) в ту же розетку, она загорится?
  6. Работает ли ноутбук от батареи? (тогда может обнаружиться проблема с питанием)
  7. Устройство, для которого вы устанавливаете этот драйвер, это то самое устройство, для которого вы его устанавливаете?
Layer 2 - Канальный
  1. Нету ли в сети другого, левого DHCP сервера, который конфликтует с вашим?
Layer 3 - Сетевой
  1. Установлел ли шлюз по-умолчанию? Правильно ли записана маска сети?
  2. http://www.psc.edu/~mathis/MTU/index.html - Шесть классов проблем, которые могут влиять на производительность сети:
    • потеря пакетов, повреждение пакетов, перегрузка каналов, плохое оборудование
    • IP маршрутизация, большое время RTT
    • Смена порядка пакетов в соединении
    • Неподходящие размеры буферов
    • Неподходящие размеры пакетов
    • Неэффективные приложения
  3. Не использует ли еще кто тот же самый IP адрес? Отключите сеть и попингуйте адрес с другой машины. (also: arp -a, и другие способы сверить MAC-адрес)
  4. (проблемы с фаерволом) Повторяется ли проблема с другим IP-адресом? Повторяется ли проблема в другой IP подсети? Повторяется ли это с другой машиной, если поставить на нее этот IP адрес? Повторяется ли проблема на этой машине, если запустить другую ОС (с LiveCD или еще как-то)?
  5. Происходит ли то же самое при использовании IP-адреса вместо имени хоста? (Совет: еще есть возможность того что настройки из lmhost или /etc/hosts что-то перекрывают)
Layer 4 -Транспортный
  1. Сделайте трассировку от A к B. Теперь то же самое от B к A. Они совпадают?
Layer 5 - Сессионный
  1. SSH, SCP, L2TP, PPTP
Layer 6 - Представления
  1. Читает ли программа последнюю строку файла? Обрабатывает ли она его корректно?
  2. Нету ли там невидимых ^M в конце каждой строки? (Да, правда, это бывает, когда файл был записан не в UNIX)
  3. Оканчивается ли файл пустой строкой?
Layer 7 -Прикладной
  1. Настроен ли ваш DNS правильно? Неправильные настройки DNS часто приводят к заблуждению, представляются другими проблемами, и заставляют смотреть куда угодно, но не в ваш /etc/resolv.conf.
  2. Проверьте переменные окружения. (Используйте команду "strings" на бинарнике, чтобы узнать список используемых переменных поточнее).
  3. Запускете ли вы ту самую версию скрипта, которую редактируете?
  4. Действительно ли программа использует ту самую копию конфигурационного файла, что и вы? (Может быть новая версия ищет его в/etc/example/example.conf а не в /etc/example.conf, как старая?)
Layer 8 - Пользовательский
  1. Нажимает ли пользователь "Enter" тогда же, когда вы думаете? (Или может не нажимает его совсем?) (применимо к другим кнопкам :))
  2. Пользователь пишет "/" или "\"?
  3. Пользователь понимает, какой символ является "меньше чем" (<) и какой - "больше чем" (>)? (ага, они склонны путать их так же, как и лево-право)
  4. "Вам кто-то разрешал взламывать этот файл паролей?" ... "А в письменной форме?"
  5. Сегодня первое число месяца? Может случилась проблема в биллинге и услуга отключилось?
Если все остальное не помогло
  1. Проверьте этот список
оригинальный список

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

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