Покажите логи

Материал из MediaWiki
Версия от 00:21, 6 августа 2018; lor>Cetjs2 (добавил категории)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Лог ядра

В него попадают все сообщения, связанные с драйверами и оборудованием.

Посмотреть его можно командой:

dmesg

Или, лучше:

dmesg | less

(тогда текст можно будет прокручивать стрелками на клавиатуре; для выхода нажмите q)

Чтобы сохранить этот лог в файл, наберите:

dmesg > /путь/к/файлу.txt

Обычно подходящей является команда вида:

dmesg > ~/dmesg.txt

(файл dmesg.txt появляется в домашней директории пользователя, откуда его можно загрузить)

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

dmesg | xlip

syslog

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

Хранится он обычно в файлах:

  • /var/log/messages — сообщения почти от всего
  • /var/log/syslog — сообщения от всего, включая ядро (может отсутствовать в используемом дистрибутиве)
  • /var/log/kern.log — сообщения ядра
  • /var/log/auth.log — информация о входе в систему

Логи Xorg

Лог-файл /var/log/Xorg.0.log создаётся при запуске Xorg. Обычно нужно смотреть именно его, но если у Вас вдруг упали иксы, после чего Вы снова воспользовались графическим логином, этот лог смотреть не нужно: в нём находится информация о текущем сеансе. Вместо этого загляните в /var/log/Xorg.0.log.old

~/.xsession-errors

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

less ~/.xsession-errors

wine

Иногда требуется посмотреть выхлоп, который пишет wine при запуске программы для Windows. Обычно он, как и всё остальное, попадает в ~/.xsession-errors, но удобнее будет вычленить его запуском из командной строки:

cd /где/лежит/программа
wine file.exe  >~/wine.log  2>&1

(лог сохранится в файле wine.log в домашней директории пользователя)

Первая команда (cd /где/лежит/программа) необходима почти всегда, чтобы программа, ориентируясь по текущей директории, могла подгрузить необходимые для своей работы DLL'ки.

Запись выхлопа программы в файл

Чтобы записать то, что программа выводит в терминал, в файл, запустите её таким образом:

some-command 2>&1 > /путь/к/файлу

Если при этом необходимо ещё и наблюдать за тем, что она выводит, воспользуйтесь утилитой tee:

some-command 2>&1 | tee /путь/к/файлу

(подробнее см. man tee)

Загрузка логов

Обычная ситуация

Приложение многокилометровых логов прямо к комментарию является не лучшей идеей. Если лог состоит из нескольких строчек, его можно приложить, обернув тегами [code]...[/code] и включив режим LORCODE под полем для ввода сообщения. Более длинные файлы нужно загружать на специальные хостинги текстов, вроде paste.kde.org (объединяются общим названием Pastebin).

Использование: просто зайдите на сайт, в большое текстовое поле скопируйте текст, нажмите кнопку "Paste", "Submit" или другую, которая окажется на этом сайте, дождитесь загрузки и скопируйте ссылку в ответ на просьбу показать логи.

Загрузка из командной строки

Что делать, если иксы упали, и любимый бразуер запустить невозможно, но подключение к сети, кажется, ещё работает? Попробуйте воспользоваться pastebinit (есть в репозитории большинства популярных дистрибутивов) или wgetpaste (просто скачайте, распакуйте и запустите).

Примеры использования:

wgetpaste /var/log/syslog
pastebinit /var/log/messages
dmesg | wgetpaste
cat /var/log/Xorg.* | pastebinit