Troubleshooting/ru

Цель этой страницы — предоставить пользователям, в частности новичкам, набор методов и инструментов для выявления и устранения неисправностей, связанных с самостоятельной установкой Gentoo. Кроме того, в случае более сложных проблем, данная статья стремится дать навыки по сбору информации, которые помогут пользователям и их поддержке решать проблемы целенаправленней.

В данной статье предполагается, что Gentoo Handbook было прочитано и есть общее представление об использовании Gentoo.

Где получить помощь
У Gentoo есть довольно много вики-статей, каждая из которых имеет огромное количество информации. Будьте осторожны, так как некоторые статьи могут содержать старые или устаревшие сведения, но, без сомнения, чтение вики-статей всегда очень важно, при использовании Gentoo.


 * The Official Gentoo Wiki
 * Knowledge Base, for common practices and problems

В IRC рекомендуемый канал по общим вопросам. Это, возможно, самый быстрый способ получить ответ.

Так как IRC каналы требуют деятельного присутствия, некоторые пользователи могут предпочесть оставить сообщение на форуме или в списке рассылок, которые продолжают существовать после закрытия браузера. Когда появляется ответ, даётся уведомление (как правило, через электронную почту).

На худой конец, если кажется, будто что-то не так в самой Gentoo, то средство отслеживания ошибок Gentoo является хорошим ресурсом, где можно посмотреть, возможно что-то уже сообщалось, или создавать новые сообщения об ошибках в случае необходимости. Это очень действенный приём для связи с Gentoo разработчиками, которые могут использовать данное обращение для разрешения проблемной ситуации.

Программы
Ниже перечислен настоятельно рекомендуемый набор инструментов:

Первые шаги
In order to shape a problem into a solution you first need to understand the problem well enough. If the problem is not clear then it will be very hard, if not impossible to come up with a solution. An accurate, detailed description of the problem is more likely to yield a solution that best fits the problem.

Определение проблемы
Эта часть может показаться нелёгкой, но без неё устранение неисправностей невозможно.

Обратите внимание на несколько вещей:
 * 1) Данная неисправность относится к аппаратной части или программной?
 * 2) Что было сделано или изменено недавно, могущее привести к данной неисправности?
 * 3) Возможно ли собрать дополнительную информацию о неисправности?

Сохранение любого вида подробностей, журналов, опыта других людей и иного может быть ценным и дать общее представление.

Драйверы
Проблема с драйвером для оборудования — это одна из наиболее распространенных проблем, о которых сообщается на IRC.

В первую очередь, необходимо определить, с каким оборудованием случились неполадки, для этого подойдут такие утилиты как и. В качестве примера, мы рассмотрим сетевую карту как проблемное устройство.

Определение подходящего драйвера
Для начала взглянем на и найдём информацию об устройстве:

Возможно использование  опции, чтобы дать сокращенную запись (что может упростить поиск в Интернете):

The model name and vendor/model  can be used to look up the device on a place like WikiDevi or Debian HCL to find the right driver to use in Linux.

Проверка, что драйвер загружен
Заполучить драйвер — менее чем половина дела. Ведь, большая часть беды при работе с драйверами — увериться, что они загрузились и работают корректно.

Доверимся нашему другу снова, выполнив:

Обратите внимание на показатель, указывающий какой драйвер задействован. Его отсутствие означает, что ни один драйвер не взял на себя ответственность за данное оборудование. Предположив, что драйвер был не встроен, а собран как модуль, попробуйте, чтобы попытаться загрузить подходящий модуль. Если же драйвер встроен в ядро, подумайте о пересборке его в качестве модуля, потому что модуль может быть загружен командой и выгружен, что может спасти от бесчисленных перезагрузок во время отладки.

Устранение неисправностей драйвера
Соберите драйвер как модуль, а затем захватите производимый после его загрузки вывод. Удостоверьтесь, что сначала удалили все модули, зависящие от драйвера (смотрите ).

Следующая команда сравнивает вывод после удаления модуля (к примеру,  ) с выводом после его повторной загрузки, действенно показывая добавленные сообщения (строки начинающиеся с +).

К наибольшему числу неприятностей приводит отсутствие прошивки. При появлении сообщения об её отсутствии, устанавливайте или, или специальный пакет прошивок из Portage. Чтобы узнать разрешилась ли проблема после установки прошивки, произведите проверку, повторно выгрузив и загрузив модуль ядра.

Конфликт слотов в графе зависимостей
Время от времени, при попытках установить пакет, встречаются сообщения похожие на:

Это означает, как правило, что в графе зависимостей наличествует запрос на несколько версий (от набора пакетов), но, к счастью, в большинстве случаев, если не во всех, ручное обновление до самой высокой запрашиваемой версии позволяет устранить проблему. Таким образом, если предположить, что было получено следующее сообщение:

Самая последняя версия 20120520, поэтому:

Часто приносит пользу одиночная установка ( или  ) всех конфликтующих пакетов за один приём, так как, бывает, что они зависят друг от друга. Смотрите также World set.

Ниже другой пример блокировки:

There should be no problem changing poppler versions. Note that does not require a specific version of poppler, but it needs to be rebuild with whatever version is used:

Here is another example that could have resulted in a blockage:

Portage warns about an update that can not be performed, however, there is no issue because this update is not required by a package. More precisely, the update must be skipped because mate-base/mate-applets-1.12.1-r4 requires a version of sys-power/cpupower package lower than 4.7.

Collecting additional information
When seeking help, more times than never additional information will be asked, such as the output of a command. Some of these produce dozens or hundreds of lines of text - too much to be suitable for pasting into IRC chat rooms, such as the Gentoo support channel on Freenode. That's where comes in handy - it allows users to post short links that contain long output.

Убедитесь, что установлен:

Например, чтобы показать содержимое, воспользуйтесь просто как:

Или, скажем, кому-то нужен детализированный вывод команды :

Иногда необходимо перенаправить stderr в stdout, чтобы сообщения об ошибках также выводились. Это возможно сделать так:

Эта команда вернёт ссылку на страницу pastebin-сайта, которую можно легко отправить тому, кто способен помочь.

Полезные вещи при вставке:


 * в случае аппаратных проблем или проблем с ядром:


 * в случае проблем с portage:


 * в случае ошибки во время установки пакета:


 * в случае проблем с Xorg:


 * в случае, если необходимо предоставить все установленные пакеты в системе:

Упаковка в одну ссылку
Ниже дана shell-функция, которая может быть использована для выполнения нескольких команд, а их вывод обработается одной командой, таким образом можно обойтись всего лишь одной ссылкой для получения помощи от пользователей или разработчиков:

Пожалуйста, не используйте pastebin-сервисы в списке рассылок gentoo-user
Большинство из Pastebin-сервисов периодически уничтожают старые тексты (не говоря уже о том, что Pastebin услуги вряд ли вообще приносят выгоду, а, следовательно, часто прекращают свою деятельность), тогда как сообщения из списков рассылок архивируются в нескольких местах и доступны в течение многих лет. Если соответствующий вывод краток, или может быть урезан, тогда вставьте его в тело письма — длинный же вывод можно направить в текстовый файл и добавить в виде простого вложения.

Рождение решения
Хорошее описание проблемы, полная последовательность действий и всякого рода отладочные сведения (касающиеся проблемы подробности, информация об аппаратном/программном обеспечении, журналы, цепочки вызовов и многое другое) являются полезным набором данных, доступных для поиска решения.

В целом, повторяйте следующие шаги до получения решения:


 * Получить представление о том, где заключена эта проблема, подумать о возможных причинах.
 * Если нет очевидных областей для исследования, то углубиться в смежные области или спросите более опытного в этом.
 * Иногда необходимо сделать предположения, чтобы продолжить работу. Во время их создания нужно делать проверку: неудачные предположения не должны отвлекать пользователей и разработчиков от других причин.
 * Получить дополнительную отладочную информацию в сфере проблемы, или выполнить проверки.

Зачастую это приведёт к нескольким возможным причинам. Важно проверить их (чтобы удостовериться, что это истинная причина), а, следуя принципу "разделяй и властвуй", проверять их нужно по отдельности.

Предположим, возникла проблема вроде "мой браузер иногда отображает белые страницы при загрузке", но ведь о ней уже известно много подробностей, а значит возможно несколько причин:


 * Следствие ли это неправильного закрытия браузера, во время перезагрузки системы?
 * Проверьте это, убивая процесс и перезагрузившись несколько раз, каждый раз проверяя - белые ли страницы после загрузки. Действительная ли эта причина или есть и другие?


 * Является ли этот результат следствием поломки определенной версии браузера?
 * Попробуйте старые или новые версии за последние нескольких дней или перезагрузитесь, чтобы выяснить повторяются ли нарушения.

И так далее...

С дополнительной информацией, можно смело думать о более особенных причинах:


 * Ломает ли систему некая закреплённая вкладка X, которая загружает плагин Y?
 * Открепить вкладку, чтобы больше не открывалась при запуске или отключить плагин, и проследить, уберёт ли это проблему.


 * Было сообщение о проблемах с графикой. Возможно они вызваны видеодрайвером?
 * Попробуйте другую версию драйвера, либо альтернативные драйверы, если таковые имеются.

Поскольку исследуется каждая возможная причина, реальная причина проблемы может находиться всё ближе и ближе.

And in the end, if the cause is still not found, the Where to get help resources at the top of this article yield a multitude of places with people that are looking forward to help; make them happy with a careful problem description and mentioning what has already been tried so far, it'll help them help out.

Смотрите также

 * Project:Portage/FAQ
 * Fix My Gentoo