Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Приемы работы в Ubuntu.
Глава 8: Администрирование

Оригинал: "Ubuntu Hacks: Chapter 8 - Administration"
Авторы: Кайл Ранкин, Джонатан Оксер, Билл Чайлдерс (Kyle Rankin, Jonathan Oxer, Bill Childers)
Дата публикации: June 2006
Перевод: Н.Ромоданов
Дата перевода: октябрь 2010 г.

Совет # 82: Проверяем вахтенный журнал

Узнайте, в каких журналах Ubuntu хранит важную системную информацию, по которой можно отследить причины системных ошибок и ошибок, возникающих при запуске системы.

Если вы используете систему достаточно долго, вам, в конце концов, придется войти в роль детектива. Возможно, вы добавили новое железо или подключили новое устройство, и не уверены, распознала ли его система. Может быть, вы обновили некоторую программу, и теперь она не работает должным образом. В любом случае, если вы хотите отследить, что на самом деле происходит внутри вашей системы Ubuntu, вам потребуется посмотреть журналы.

Обычная настольная система, даже когда в ней все в порядке, создает каждый день удивительно большое количество журналов. Когда вы подключаетесь к сети, подключаете новое устройство, входите в систему или выполняете ряд других вещей, система фиксирует ваши действия в журналах. Большинство системных журналов находятся в директории /var/log. Информация в некоторых журналах дублирует друг-друга; например, сообщения, идущие от демонов, будут отображаться как в журнале daemon.log, так и в журнале syslog. Вот некоторые из журналов, которые вы найдете в директории /var/log:

syslog - syslog является основным системным журналом и в нем сохраняются сообщения демонов и других программ, работающих в системе, например, dhclient, cron, init, xscreensaver, а также некоторые сообщения ядра. Этот журнал - первое место, откуда надо начинать просмотр при попытке отследить типичные системные ошибки.

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

kern.log - Как и в dmesg, в этом журнале содержатся сообщения ядра; но, его преимущество в том, что указывается время выдачи сообщения.

Xorg.?.log - В журналах Xorg содержится очень подробная выходная информация Xorg, номер журнала указывает номер дисплея, на котором работает сессия Xorg. По умолчанию сессия Xorg работает на дисплее 0, так что, в основном, чтобы отследить ошибки в Xorg, вам нужно смотреть журнал Xorg.0.log.

messages - Этот журнал содержит некоторые сообщения ядра и журнальные записи некоторых системных программ. Например, gconfd и некоторые другие программы выдают сюда свои сообщения.

daemon.log - Здесь вы найдете те же самые сообщения демонов, которые вы, как правило, вы найдете в syslog, но без сообщений ядра и других систем, которые записываются в syslog.

auth.log - Внутри auth.log вы найдете информацию об аутентификации пользователей, причем о каждом входе в систему и о каждом использовании команды sudo.

mail.log - Если вы используете вашу систему как сервер электронной почты, то в этом журнал будет храниться информация о входящих и исходящих сообщениях и об ошибках.

apache/ - Если у вас в вашей системе установлен веб сервер Apache, то в директории /var/log/apache будут находится журналы ccess_log, error_log и все другие основные журналы сервера Apache.

cups/ - CUPS это система печати Ubuntu. В этом директории находятся разнообразные журналы сервиса CUPS, так что здесь ищите сообщения при решении проблем с печатью в системе.

gdm/ - GDM является графическим менеджером входа в систему в GNOME. Если вы заметили какие-либо проблемы с экраном входа в систему, смотрите журналы, находящиеся в этом директории.

Просмотр журналов

Теперь, вы знаете, где искать информацию, и есть несколько способов, которыми можно практически воспользоваться для просмотра журналов. В Ubuntu есть замечательный графический инструмент для просмотра журнала, который называется System Log Viewer. Чтобы запустить эту программу, выберите System → Administration → System Log (Система → Администрирование → Системный журнал). Окно, открываемое по умолчанию, состоит из левой боковой панели со списком системных журналов, которые вы можете открыть, и основной части, в котором показывается содержимое выбранного журнала. По умолчанию в System Log Viewer указан только журнал syslog, но можно нажать кнопку Log → Open (Журнал → Открыть) и добавить журнал в список, расположенный на боковой панели (рис. 8-14).

Ubuntu Hacks. Окно программы System Log Viewer

Рис.8-14. Окно программы System Log Viewer, открываемое по умолчанию

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

Вы также можете просматривать журналы по старинке из терминала. Для этого есть замечательная программа less, не имеющая излишеств и предназначенная для открытия журнала и его просмотра. Просто введите:

$ less /var/log/syslog

чтобы открыть журнал syslog (можно заменить этот файл и указать путь к другому файлу, который вы хотите открыть). Вы можете воспользоваться клавишами со стрелками для перемещения вверх и вниз по файлу, или вы можете нажимать клавишу G для перехода к самому концу файла, или клавишу g – для перехода к самому началу файла. Для того, чтобы выполнить поиск в журнале по ключевому слову, введите символ "/", за которым укажите ключевое слово для поиска. В терминале будут выделены все совпадения с ключевым словом, и вы можете нажать клавишу n для перехода к следующему совпадению, либо – клавишу N для перехода к предыдущему совпадению. Нажмите клавишу F, чтобы программа less продолжила обновление журнала по мере добавления в него новых строк (почти также, как команда tail -f работает с файлами).

Предостережение

У некоторых может возникнуть соблазн для открытия журнала просто использовать редактор vi, однако имейте в виду, что vi, когда он открывает файл, кэширует на диске весь файл. Если журнал небольшой, то проблем не возникает, но когда вы открываете журнал Apache размером в 2 ГБ, вы можете заполнить все место, оставшееся на диске! Программа less не кэширует весь файл так, как это делает vi, так что это более безопасный выбор для больших журнальных файлов.

Также для работы с журналами очень полезным инструментом является grep. Grep в качестве аргумента получает шаблон и ищет в файле совпадения с этим шаблоном. Например:

$ grep dhclient /var/log/syslog

вернет все записи, в которых содержится слово "dhclient". Grep особенно полезен для работы с журналами Xorg, поскольку все предупреждения и ошибки в этих журналах предваряются префиксами WW и EE, соответственно. Для того, чтобы из файла Xorg.0.log выделить предупреждения и ошибки, введите следующее:

$ grep -E '(WW|EE)' /var/log/Xorg.0.log

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

Подсказка

Некоторые журналы, которые вы хотите просмотреть, могут быть сжаты для удобства ротации журналов. В этом случае просто воспользуйтесь zless и zgrep вместо соответственно less и grep.


Назад Оглавление Вперед