Troubleshooting/ru

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

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

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


 * Официальная Gentoo Wiki
 * Архив статей старой Gentoo-Wiki.com (Не рабочая)
 * База знаний по устоявшимся практикам и проблемам

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

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

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

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

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

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

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

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

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

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

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

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

Название модели и производитель/модель  могут быть использованы для поиска устройства в WikiDevi или Debian HCL и подобных местах, чтобы подобрать подходящий драйвер для применения в Linux.

Verifying the driver is loaded
Getting the driver is less than half of the battle. Most of the trouble with drivers is making sure that they are loaded and operating correctly.

Relying on our friend again, run:

Note that here, an indicator is given that a driver is in use. If not, then no driver has claimed responsibility over this hardware. Assuming the driver was built as a module rather than built-in, try to attempt loading the right module. If the driver was built-in, consider making it a module, because modules can be loaded with and unloaded with  which saves on number reboots while debugging the issue.

Troubleshooting a driver
Compile the driver as a module, then capture the output it generates when the module is loaded. Make sure to first remove all modules that depend on the driver (see ).

The following command will compare the output after removing the module (in this example,  ) with the output after adding the module again, effectively showing the messages that were added (lines starting with +).

The most common issue is missing firmware. If a message shows up that informs the administrator about missing firmware, grab either or a specific firmware package from Portage and install it. After the firmware installation, unload and load the kernel module again to see if this fixes the situation.

Dependency graph slot conflicts
Occasionally, messages like this occur when trying to emerge a package:

Generally, this means that the packages listed have multiple requested versions in the dependency graph. And fortunately most, if not all, cases allow to resolve it by manually upgrading to the highest requested version. So assuming that the following message was received:

The most recent version desired is 20120520, so:

Often, it's advantageous to one-shot ( or  ) all of the conflicts at once because they sometimes depend on one another.

Here is another example of a block:

There should be no problem changing poppler versions. Note that luatex and cups-filters don't require a specific version of poppler, but they need to be rebuild with whatever version is used:

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.

Make sure that is installed:

For instance, to show the contents of, using is as simple as:

Or let's say that someone needs the detailed output of an command is:

Sometimes it is necessary to redirect stderr to stdout so that error messages can be pasted as well. That can be done like this:

These return a link to a pastebin site page that can be easily shared with someone to get help.

Things to consider pasting:


 * In case of hardware problems or kernel issues:


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


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


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


 * In case all installed packages on the system needs to be provided:

Wrapping things together
Below is a shell function that can be used to have several commands executed and their output processed by a single command so that only one URL needs to be provided to the user or developer that wants to help out:

Please do not use pastebin services on the gentoo-user mailing list
Most pastebin services expire old pastes periodically (not to mention that pastebin services are hardly profitable, and close down all the time) whereas mailing list messages are archived in multiple places and are referenced for years. If the relevant output is short, or can be trimmed, then copy and paste it into the body of the email - longer output can be directed into a text file and added as a plain attachment.

Forming a solution
With a good description of the problem, a complete history of actions and all sorts of debugging data (problem details, hardware / software information, logs, backtraces and more) a good set of useful data is available to look for a solution.

In general, repeat the following steps to come to a solution:


 * Get an idea where the problem might be, think about possible causes.
 * If there are no obvious areas to look into, become more acquainted with the related areas or ask an expert more about it.
 * Sometimes it is necessary to make assumptions to proceed. When assumptions are made, put it to the test: false assumptions should not make users and developers blind of other causes.
 * Obtain additional debugging information in the area of a problem, or perform tests.

Often this will lead to multiple possible causes. It is important to test them (to verify it is the actual cause or not) and therefore test them individually; this is also known as "divide and conquer".

Let's say a problem like "my browser sometimes displays white pages when I boot" comes up and a lot of details are already known about it, then there may be number of possible causes:


 * Is this because the browser was improperly closed when the system rebooted?
 * Verify this by killing the process and pulling the plug several times, each time checking if the pages are white after booting again. If this is a cause, is it the actual cause or are there other causes?


 * Is this the result of a specific browser version being broken?
 * Try older or newer versions for a few days or reboots and see if they are broken as well.

And so on...

With the additional information, dare to think about more specific causes:


 * Does a certain pinned tab X that loads plugin Y break the system?
 * Unpin the tab so it doesn't open on launch anymore or disable the plugin, see if this keeps the problem away.


 * Graphical issues were reported as well, might this maybe mean this is caused by the video drivers?
 * Try a different version for those drivers, or alternative drivers if available.

As each possible cause is investigated, the actual cause of the problem might come closer and closer.

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.