Linux mint журнал ошибок
Системные администраторы, да и обычные пользователи Linux, часто должны смотреть лог файлы для устранения неполадок. На самом деле, это первое, что должен сделать любой сисадмин при возникновении любой ошибки в системе.
Сама операционная система Linux и работающие приложения генерируют различные типы сообщений, которые регистрируются в различных файлах журналов. В Linux используются специальное программное обеспечение, файлы и директории для хранения лог файлов. Знание в каких файлах находятся логи каких программ поможет вам сэкономить время и быстрее решить проблему. В этой статье мы рассмотрим основные части системы логирования в Linux, файлы логов, а также утилиты, с помощью которых можно посмотреть логи Linux.
Расположение логов по умолчанию
Большинство файлов логов Linux находятся в папке /var/log/ вы можете список файлов логов для вашей системы с помощью команды ls: Ниже мы рассмотрим 20 различных файлов логов Linux, размещенных в каталоге /var/log/. Некоторых из этих логов встречаются только в определенных дистрибутивах, например, dpkg.log встречается только в системах, основанных на Debian.
- /var/log/messages — содержит глобальные системные логи Linux, в том числе те, которые регистрируются при запуске системы. В этот лог записываются несколько типов сообщений: это почта, cron, различные сервисы, ядро, аутентификация и другие.
- /var/log/dmesg — содержит сообщения, полученные от ядра. Регистрирует много сообщений еще на этапе загрузки, в них отображается информация об аппаратных устройствах, которые инициализируются в процессе загрузки. Можно сказать это еще один лог системы Linux. Количество сообщений в логе ограничено, и когда файл будет переполнен, с каждым новым сообщением старые будут перезаписаны. Вы также можете посмотреть сообщения из этого лога с помощью команды dmseg.
- /var/log/auth.log — содержит информацию об авторизации пользователей в системе, включая пользовательские логины и механизмы аутентификации, которые были использованы.
- /var/log/boot.log — Содержит информацию, которая регистрируется при загрузке системы.
- /var/log/daemon.log — Включает сообщения от различных фоновых демонов
- /var/log/kern.log — Тоже содержит сообщения от ядра, полезны при устранении ошибок пользовательских модулей, встроенных в ядро.
- /var/log/lastlog — Отображает информацию о последней сессии всех пользователей. Это нетекстовый файл, для его просмотра необходимо использовать команду lastlog.
- /var/log/maillog /var/log/mail.log — журналы сервера электронной почты, запущенного в системе.
- /var/log/user.log — Информация из всех журналов на уровне пользователей.
- /var/log/Xorg.x.log — Лог сообщений Х сервера.
- /var/log/alternatives.log — Информация о работе программы update-alternatives. Это символические ссылки на команды или библиотеки по умолчанию.
- /var/log/btmp — лог файл Linux содержит информацию о неудачных попытках входа. Для просмотра файла удобно использовать команду last -f /var/log/btmp
- /var/log/cups — Все сообщения, связанные с печатью и принтерами.
- /var/log/anaconda.log — все сообщения, зарегистрированные при установке сохраняются в этом файле
- /var/log/yum.log — регистрирует всю информацию об установке пакетов с помощью Yum.
- /var/log/cron — Всякий раз когда демон Cron запускает выполнения программы, он записывает отчет и сообщения самой программы в этом файле.
- /var/log/secure — содержит информацию, относящуюся к аутентификации и авторизации. Например, SSHd регистрирует здесь все, в том числе неудачные попытки входа в систему.
- /var/log/wtmp или /var/log/utmp — системные логи Linux, содержат журнал входов пользователей в систему. С помощью команды wtmp вы можете узнать кто и когда вошел в систему.
- /var/log/faillog — лог системы linux, содержит неудачные попытки входа в систему. Используйте команду faillog, чтобы отобразить содержимое этого файла.
- /var/log/mysqld.log — файлы логов Linux от сервера баз данных MySQL.
- /var/log/httpd/ или /var/log/apache2 — лог файлы linux11 веб-сервера Apache. Логи доступа находятся в файле access_log, а ошибок в error_log
- /var/log/lighttpd/ — логи linux веб-сервера lighttpd
- /var/log/conman/ — файлы логов клиента ConMan,
- /var/log/mail/ — в этом каталоге содержатся дополнительные логи почтового сервера
- /var/log/prelink/ — Программа Prelink связывает библиотеки и исполняемые файлы, чтобы ускорить процесс их загрузки. /var/log/prelink/prelink.log содержит информацию о .so файлах, которые были изменены программой.
- /var/log/audit/— Содержит информацию, созданную демоном аудита auditd.
- /var/log/setroubleshoot/ — SE Linux использует демон setroubleshootd (SE Trouble Shoot Daemon) для уведомления о проблемах с безопасностью. В этом журнале находятся сообщения этой программы.
- /var/log/samba/ — содержит информацию и журналы файлового сервера Samba, который используется для подключения к общим папкам Windows.
- /var/log/sa/ — Содержит .cap файлы, собранные пакетом Sysstat.
- /var/log/sssd/ — Используется системным демоном безопасности, который управляет удаленным доступом к каталогам и механизмами аутентификации.
Просмотр логов в Linux
Чтобы посмотреть логи на Linux удобно использовать несколько утилит командной строки Linux. Это может быть любой текстовый редактор, или специальная утилита. Скорее всего, вам понадобятся права суперпользователя для того чтобы посмотреть логи в Linux. Вот команды, которые чаще всего используются для этих целей:
Я не буду останавливаться подробно на каждой из этих команд, поскольку большинство из них уже подробно рассмотрены на нашем сайте. Но приведу несколько примеров. Просмотр логов Linux выполняется очень просто:
Смотрим лог /var/log/dmesg, с возможностью прокрутки:
Просмотр логов Linux, в реальном времени:
Выводим только ошибки из /var/log/messages:
Кроме того, посмотреть логи на linux можно и с помощью графических утилит. Программа Журналы может быть использована для удобного просмотра и отслеживания системных журналов на ноутбуке или персональном компьютере с Linux.
Вы можете установить программу в любой системе с установленным X сервером. Также для просмотра логов может использоваться любой графический тестовый редактор.
Кроме того, у каждого сервиса есть свой лог файл, который можно посмотреть с помощью утилиты journalctl.
Выводы
В каталоге /var/log вы можете найти всю необходимую информацию о работе Linux. Из сегодняшней статьи вы достаточно узнали, чтобы знать где искать, и что искать. Теперь просмотр логов в Linux не вызовет у вас проблем. Если остались вопросы, задавайте в комментариях!
Linux mint журнал ошибок
Linux Mint 18 использует систему журналирования systemd. Предыдущие версии Linux Mint использовали rsyslog. Журнал предлагает больше функциональности, если вас не смущает, что журнал по умолчанию настроен на запись сообщения журнала в старый знакомый файл /var/log/syslog , поэтому вы можете продолжать использовать этот метод.
Для Linux Mint 18 Cinnamon вы найдете программу системного журнала в меню, которая показывает Вам сообщения журнала из файла /var/log/syslog . Если вы хотите графическую программу вместо того, чтобы просматривать сообщения журнала напрямую, установите пакет gnome-logs. Он будет отображаться как программа в меню. Он покажет вам важные сообщения от текущей загрузки по умолчанию. Это удобная программа для того, чтобы быстро просмотреть, какие-либо сообщения об ошибках. Для большинства пользователей эта программа будет достаточно.
А так-же, вы можете получить доступ к журналу с помощью команды journalctl , которая имеет больше способов фильтрации сообщений, и именно на этом будет сосредоточен этот учебник.Ниже приведу несколько практических примеров. Дополнительные сведения можно найти в руководстве по journalctl.
Фильтр по загрузке или времени.
systemd отслеживает каждую загрузку. В простейшей форме Вы можете использовать journalctl-b , чтобы показывать только сообщения журнала из текущей загрузки. Скорее всего, вы заинтересованы в сообщениях журнала от предыдущей загрузки после того, как у вас была проблема, которая заставила вас перезагрузиться. Вы можете получить доступ journalctl -b -1 , чтобы вернуться к более ранним логам, нужно задать большее отрицательное число, (например, journalctl -b -2 , чтобы вернуться за 2 перезагрузки перед текущей). Вы также можете увидеть время начала каждой загрузке в журнале с помощью команды journalctl —list-boots . В первом столбце отображается отрицательное число, которое можно использовать с параметром -b . После этого можно также использовать 32-символьный идентификатор с параметром -b , чтобы однозначно определить конкретную загрузку.
Но, возможно, вы перезагрузились пару раз, чтобы попытаться исправить какую-то проблему, и вы хотите увидеть сообщения журнала всех этих ботинок. Вы можете передать опцию -b несколько раз, чтобы выбрать несколько ботинок. Но вы также можете фильтровать по времени. Вы можете отфильтровать из определенного времени с journalctl -S timestamp (или journalctl —since=timestamp ), а так-же применить фильтр к определенному времени journalctl -U timestamp (или journalctl —until=timestamp ). Для отметки времени можно использовать метку времени ISO типа «YYYY-MM-DD hh24:mm:ss» (если Вы не укажете дату, предполагается текущий день; если время не задано, предполагается 00:00:00; если не заданы секунды :предполагается 00).
Вы также можете использовать ключевые слова yesterday и today , которые предполагают 00:00:00 этого дня, и now , который является текущим днем и временем. Однако существует еще много ключевых слов, так что вы можете запросить journalctl -S -5weeks+2days -U -2days , который покажет вам все сообщения журнала от 5 недель и 2 дней назад до 2 дней назад. Просмотрите полное описание ключей в systemd.time manpage , которые можно использовать в метке времени.
В каждом журнале регистрируется сообщение с приоритетом: emerg (0), alert (1), crit (2), err (3), warning (4), notice (5), info (6), и debug (7). Вы можете фильтровать сообщения журнала по приоритету journalctl -p priority или можно указать диапазон journalctl -p priority..priority .
Для приоритета можно использовать либо имя, либо номер из списка. В форме, где вы даете только один приоритет это также покажет вам наиболее важные сообщения. Так journalctl -p err (или journalctl -p 3 ) покажет emerg, alert, and crit, а также сообщения. В форме, где вы даете два приоритета будут показаны сообщения с приоритетом в этом диапазоне. Так journalctl -p warning..notice ( journalctl -p 4..5 ) будет показывать только предупреждения и уведомления.
Кстати, обратите внимание, что сообщения journalctl err — красного цвета и выделяют предупреждения и сообщения. Сообщения приоритетной информации или отладки не окрашиваются и не выделяются.
Фильтр по службе, другим полям и программам
Если есть определенный сервис, с которым у вас возникли проблемы, вы можете быть заинтересованы только в сообщениях от этого сервиса. При инициализации systemd сервисов, у каждого есть так называемый блок файла, но это выходит за рамки данного учебника. В любом случае, вы можете отфильтровать сервисный блок с помощью команды journalctl -u name или journalctl UNIT=name.service . Например, чтобы увидеть все сообщения cups (принтер) journalctl -u cups или journalctl -u cups.service или journalctl UNIT=cups.service
Можно угадать название, но есть другой способ — использовать journalctl -o verbose для отображения всех полей информации, которые имеются в журнале. Найдите сообщение журнала, которое вас интересует, запишите значение поля UNIT, а затем используйте его для фильтрации сообщений только от этой службы. Вы увидите намного больше полей в подробном выводе, и вы можете фильтровать по каждому полю здесь точно так же, как с полем UNIT .
Вы также можете дать путь исполняемого файла в качестве аргумента для journalctl и он будет отображать все записи, которые включают исполняемый файл в запросе (вы можете найти их также как _EXE поле в подробных выходных данных).
Вы можете использовать dmesg для отображения сообщений ядра. В то время как команда dmesg имеет различные способы фильтрации сообщений, она знает только сообщения от текущей загрузки.
Можно использовать journalctl -k для отображения тех же сообщений ядра. В журнале также есть сообщения ядра от предыдущих загрузок, поэтому вы можете использовать вышеупомянутые опции для фильтрации по загрузке или времени, чтобы увидеть сообщения ядра перед текущей загрузкой. Он также будет окрашивать и выделять сообщения ядра на основе приоритета.
Если вы хотите исследовать некоторые проблемы, вам будет полезен journalctl -f . Он отобразит 10 самых последних сообщений, а затем дождется новых сообщений и распечатает их по мере их поступления.