Windows. Вирусы. Ноутбуки. Интернет. Office. Утилиты. Драйверы

Системные администраторы, да и обычные пользователи Linux, часто должны смотреть лог файлы для устранения неполадок. На самом деле, это первое, что должен сделать любой сисадмин при возникновении любой ошибки в системе.

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

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

Большинство файлов логов Linux находятся в папке /var/log/ Вы можете список файлов логов для вашей системы с помощью команды ls:

Rw-r--r-- 1 root root 52198 май 10 11:03 alternatives.log
drwxr-x--- 2 root root 4096 ноя 14 15:07 apache2
drwxr-xr-x 2 root root 4096 апр 25 12:31 apparmor
drwx------ 2 root root 4096 май 5 10:15 audit
-rw-r--r-- 1 root root 33100 май 10 10:33 boot.log

Ниже мы рассмотрим 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. Вот команды, которые чаще всего используются для этих целей:

  • zgrep
  • zmore

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

Смотрим лог /var/log/messages, с возможностью прокрутки:

less /var/log/messages

Просмотр логов Linux, в реальном времени:

tail -f /var/log/messages

Открываем лог файл dmesg:

cat /var/log/dmesg

Первые строки dmesg:

head /var/log/dmesg

Выводим только ошибки из /var/log/messages:

grep -i error /var/log/messages

Кроме того, посмотреть логи на linux можно и с помощью графических утилит. Программа System Log Viewer может быть использована для удобного просмотра и отслеживания системных журналов на ноутбуке или персональном компьютере с Linux.

Вы можете установить программу в любой системе с установленным X сервером. Также для просмотра логов может использоваться любой графический тестовый редактор.

Выводы

В каталоге /var/log вы можете найти всю необходимую информацию о работе Linux. Из сегодняшней статьи вы достаточно узнали, чтобы знать где искать, и что искать. Теперь просмотр логов в Linux не вызовет у вас проблем. Если остались вопросы, задавайте в комментариях!

Знаете ли вы, что ядро Linux загружает несколько драйверов устройств при загрузке системы?

Фактически, когда ваша система запущена и работает, и вы подключаете аппаратное устройство, то также загружается соответствующий драйвер устройства.

Конечно, ядро также делает много других вещей.

Что делать, если вы хотите узнать информацию, связанную с этими действиями ядра?

Что ж, существует команда — dmesg — которую вы можете использовать, если хотите получать доступ к сообщениям, выведенные ядром.

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

Команда Linux dmesg

Синтаксис команды dmesg:

Dmesg

Ниже приведены примеры Вопрос & Ответ, которые помогут вам лучше понять, как работает команда dmesg.

В1. Как использовать команду dmesg?

Вы можете начать использовать команду dmesg без любой опции командной строки.

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

В2. Как ограничить вывод только ошибками и предупреждениями?

Если вы запустите dmesg в своей системе, вы увидите, что он выводит множество информации.

В зависимости от того, что вы ищете, вы можете фильтровать или ограничивать вывод.

Со своей стороны, dmesg предлагает вам эту способность через «уровни».

Ниже приведен полный список уровней (вместе с их объяснением):

Emerg - system is unusable alert - action must be taken immediately crit - critical conditions err - error conditions warn - warning conditions notice - normal but significant condition info - informational debug - debug-level messages

Например, если вы хотите ограничить вывод только ошибками и предупреждениями, вы можете сделать это следующим образом:

Dmesg --level=err,warn

В моем случае, вот часть вывода выведенной выше команды:

В3. Как создать dmesg для создания временных меток?

Иногда вам может понадобиться связать временную метку с сообщениями, которые создает dmesg.

Это можно сделать, используя опцию командной строки -T, которая создает человекочитаемые метки времени.

Dmesg -T

Пример вывода:

В4. Как сделать, что dmesg отображал информацию об определенном устройстве?

Предположим, вы хотите, чтобы dmesg отображал только информацию, связанную с интерфейсом eth0.

Вот как вы можете это сделать:

Dmesg | grep -i eth0

Пример вывода:

В5. Как заставить dmesg отображать только сообщения в пользовательском пространстве?

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

Dmesg -u

Согласитесь, dmesg — это не та команда, которая вам понадобится каждый день.

Но это инструмент, к которому нужно обратиться, когда кто-то (которого вы попросили о помощи по определенной теме) просит вас предоставить сообщения ядра.

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

Диагностика оборудования — достаточно важный вопрос, который никак нельзя упускать. Именно поэтому в серию «Шпаргалка сисадмина» для ОС Debian я не могу не добавить статью о средствах получения информации об устройствах. На этот раз я постараюсь коротко рассказать об основных утилитах для диагностики тех или иных компонентов сервера. Начну конечно же со встроенных по умолчанию в систему средств, поскольку знать их и уметь пользоваться должен любой сисадмин. Далее будет обзор пакетов с общим назначением. В конечно счете подойдем к знакомству с дополнительными расширенными инструментами, которые каждый может поставить по желанию.

Узнать информацию о процессоре можно с помощью команды:
root@debian7:~# cat /proc/cpuinfo

Или некоторые другие данные:
root@debian7:~# lscpu

Оперативная память

Краткая информация об использовании памяти:
root@debian7:~# free -m

Утилита также выводит информацию об использовании свопа. Вместо ключа -m, может быть даже лучше использовать -h — получите данные с обозначениями объема.

Расширенная информация:
root@debian7:~# cat /proc/meminfo

Жесткие диски

Отобразить список существующих разделов:
root@debian7:~# fdisk -l

Стоит отметить, что основное назначение утилиты fdisk — управление разделами дисков.

Вывести UUID и тип файловой системы для каждого раздела можно с помощью команды:
root@debian7:~# blkid

Информацию о разделах, точках монтирования и некоторые другие данные можно получить с помощью утилиты lsblk
root@debian7:~# lsblk

Команда отображает все блочные устройства в древовидной структуре.

Сеть

Информация об интерфейсах:
root@debian7:~# ifconfig

Подробная информация о сетевой карте
root@debian7:~# mii-tool -v

Для проверки доступности узлов используйте общеизвестную утилиту ping.

Утилиты общего назначения

top

Утилита top служит для отображения информации о процессах и ресурсах, которые они потребляют. Информация обновляется с определенной периодичностью. Данные можно отсортировать, например, по использованию процессорной мощности или оперативной памяти (по умолчанию идет сортировка по CPU).
root@debian7:~# top

dmidecode

Получить подробную информацию об аппаратном обеспечении можно с помощью dmidecode. Утилита предоставляет данных, полученные от BIOS. В описании пакета приводится следующая справка:

Эта информация обычно включает в себя производителя системы, название модели, серийный номер, версию BIOS, дескриптор ресурса (asset tag) а также другую информацию различного уровня интереса и достоверности, устанавливаемую производителем. Часто содержит состояние занятых процессорных сокетов, слотов расширения (например, AGP, PCI, ISA), слотов памяти и список портов ввода/вывода (например, последовательные и параллельные порты, USB).

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

root@debian7:~# dmidecode

Вывод команды без аргументов слишком объемный, лучше использовать ключ —type и получать только необходимые разделы, например:
root@debian7:~# dmidecode —type 5,6

Команда выведет тип контроллера памяти и используемые модули RAM.

dmesg

Команда используется для вывода буфера сообщений ядра. С точки зрения аппаратного обеспечения, вывод может быть полезен для анализа проблем с оборудованием, да и вообще для полного представления имеющегося «железа». Вывод команды слишком объемный и для его анализа могут понадобиться другие инструменты, например, можно воспользоваться выводом в файл, можно перенаправить вывод команде less, а можно с помощью grep найти необходимые вам аппаратные компоненты.
root@debian7:~# dmesg | grep processor

Команда выведет только строки, содержащие слово processor.

lspci

Утилитой удобно пользоваться для вывода списка всех устройств, подключенных к pci-шине. Информация может быть использована в диагностических целях, а также для определения установленных устройств.
root@debian7:~# lspci

Используйте ключ -t для отображения информации в древовидном представлении, в котором будут отображены все шины и устройства, подключенные к ним. Ключи -v, -vv, -vvv отображают дополнительную информацию по каждому устройству; чем больше «v», тем более подробно выводятся данные.

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

vmstat

Показывает сводную информацию о состоянии виртуальной памяти, а также о свопе.
root@debian7:~# vmstat 2

Команда выше будет выводить обновленные данные каждые 2 секунды (вместо 2 можете указать любое другое число).

sysctl

Хоть и утилита предназначена главным образом для управления параметрами ядра на лету, анализ установленных значений может помочь в диагностике проблем.
root@debian7:~# sysctl -a

Команда отобразит все переменные и их значения.

Дополнительные утилиты

Все описанные ниже утилиты не входят в стандартную конфигурацию Debian, придется из ставить отдельно.

htop

Более сильная замена штатной утилиты top. В стандартной конфигурации с системой не поставляется. Предоставляет удобный интерактивный интерфейс со встроенной справкой и обновлением данных в реальном времени.
root@debian7:~# htop -d 10

Ключ -d выставляет значение в десятых долях секунды для обновления данных. Ключ -c переключает программу в монохромный режим работы.

lshw

Утилита предназначена для вывода подробной информации об аппаратном обеспечении. Наиболее удобно экспортировать данные в.html-вид и просматривать в браузере. Такой способ, конечно же, исключается при работе в консольном режиме, разве что если просматривать данные на другой системе.
root@debian7:~# lshw -C network

Команда выведет данные только о сетевой плате.

smartmontools

Пакет состоит из двух утилит (smartctl и smartd), которые следят за S.M.A.R.T-показателями жестких дисков. Для запуска демона необходимо произвести ряд настроек:

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

enable_smart=»/dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde»
start_smartd=yes
smartd_opts=»—interval=1800″

Однако при запуске службы на виртуальной машине с Debian 7.7 у меня выдал ошибку (надо сказать, что отслеживание S.M.A.R.T на виртуальных жестких дисках достаточно бредовая идея, я это сделал лишь с целью протестировать):

Просмотреть состояние диска можно командой:
root@debian7:~# smartctl -a /dev/sda

Несмотря на это, утилита является достаточно распространенной и однозначно рекомендуется к использованию. Кроме того, в сети есть масса инструкций по настройке e-mail-уведомлений в случае проблем с жесткими дисками.

hdparm

Главное предназначение программы — тонкая настройка параметров IDE/SATA жестких дисков, тюнинг производительности. Помимо этого также можно просматривать характеристики устройств командой (укажите свой диск):
root@debian7:~# hdparm -i /dev/sda

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

ethtool

Произвести диагностику сетевой платы вам поможет утилита ethtool. Конечно вытянуть информацию можно и с помощью ifconfig, и dmesg и др., но несравнимо больше полезных данных вы получите именно от ethtool. Надо отметить, что с виртуальными сетевыми интерфейсами программа работает достаточно криво. Например отображение статистики по интерфейсу у меня вообще было пустое:
root@debian7:~# ethtool -S eth0
no stats available

Общая информация об интерфейсе была примерно настолько же скудной:
root@debian7:~# ethtool eth0
Settings for eth0:
Link detected: yes

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

sysstat

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

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

В данной статье я хочу написать о консольных программах, которые помогут выдать полную информацию о “железе” вашего ПК (фирма-изготовитель, марка, ID устройства и другие данные про оборудование). Многие пользователи, которые перешли в Линукс с ОС корпорации зла, привыкли работать в графических программах, но с годами работы в Linux понимаешь, что в Терминале все работает быстрее, выдаваемая информация полнее и гибче.

Утилита lspci — утилита Unix, которая выводит детальную информацию о всех PCI шинах и устройствах на них. Утилита lspci сначала читает информацию с PCI-шины, а потом дополнительную информацию ищет в собственной базе данных, которая находится в файле /usr/share/hwdata/pci.ids и содержит такие данные как идентификатор оборудования, производитель, устройства, классы и подклассы. Чтобы запустить программу выполните в Терминале:

lspci


02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06)
03:00.0 USB controller: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller
04:00.0 SATA controller: JMicron Technology Corp. JMB362 SATA Controller (rev 10)
05:00.0 USB controller: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller
06:00.0 SATA controller: JMicron Technology Corp. JMB362 SATA Controller (rev 10)

07:06.0 FireWire (IEEE 1394): VIA Technologies, Inc. VT6306/7/8 IEEE 1394 OHCI Controller (rev c0)

Чтобы получить расширенную информацию выполните:

lspci -v

03:00.0 USB controller: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller (prog-if 30 )

Flags: bus master, fast devsel, latency 0, IRQ 46
Memory at fe500000 (64-bit, non-prefetchable)
Capabilities:

05:00.0 USB controller: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller (prog-if 30 )
Subsystem: ASUSTeK Computer Inc. P8B WS Motherboard
Flags: bus master, fast devsel, latency 0, IRQ 50
Memory at fe300000 (64-bit, non-prefetchable)
Capabilities:
Kernel driver in use: xhci_hcd

07:05.0 Multimedia video controller: Conexant Systems, Inc. CX23880/1/2/3 PCI Video and Audio Decoder (rev 05)
Flags: bus master, medium devsel, latency 32, IRQ 20
Memory at fb000000 (32-bit, non-prefetchable)
Capabilities:
Kernel driver in use: cx8800

07:06.0 FireWire (IEEE 1394): VIA Technologies, Inc. VT6306/7/8 IEEE 1394 OHCI Controller (rev c0) (prog-if 10 )
Subsystem: ASUSTeK Computer Inc. Motherboard
Flags: bus master, medium devsel, latency 32, IRQ 21
Memory at fc000000 (32-bit, non-prefetchable)
I/O ports at a000
Capabilities:
Kernel driver in use: firewire_ohci
В итоге текста станет намного больше, но и информация про оборудование будет более объемная. Можно даже узнать, например, номер IRQ, на котором висит нужное устройство. Если нужно узнать информацию про конкретное оборудование, например видео карту Nvidia, тогда нужно применить команду поиска с командой grep. В итоге наша команда будет следующей:

lspci | grep NVIDIA

Следует обратить внимание на то, что команда grep чувствительна к регистру символов, поэтому если с первого разу вы не нашли нужную информацию, то следует менять слова для поиска, например: nvidia, NVIDIA либо часть слова — idia или IDIA.

Вывод команды был следующий:

01:00.0 VGA compatible controller: NVIDIA Corporation GF108 (rev a1)
01:00.1 Audio device: NVIDIA Corporation GF108 High Definition Audio Controller (rev a1)

Если хотите получить информацию про оборудование в текстовый файл, то выполните команду:

lspci > lspci.txt

В итоге в вашем Домашнем каталоге появится текстовый файлик lspci.txt

Если нужно получить список всех устройств в системе, в том числе USB и SCSI, конфигурация памяти, узнать тип процессора, то можно воспользоваться программой dmesg . Она выводит список всего оборудования, которое будет обнаружено ядром системы.

Выполните команду в Терминале:

dmesg

Если выполнить команду:

dmesg | less

то список найденного оборудования будет весьма большим. Поэтому для анализа всей информации советую сохранить вывод этой команды в текстовый файл. Для этого выполните команду:

dmesg | less > dmesg.txt

Выходные данные dmesg можно также фильтровать для поиска нужных устройств. Следующая команда покажет список всех устройств USB в системе:

dmesg | grep -i usb

Также можно использовать утилиту lshw . Если не установлена, то выполните команду:

sudo apt-get install lshw

Чтобы ее запустить выполните команду:

sudo lshw

Программа выводит структурированный список оборудования вместе с информацией об устройствах. Информация получается весьма емкой и полезный. Часть информации из вывода утилиты:

*-cdrom
описание: DVD-RAM writer
продукт: DRW-24B5ST
производитель: ASUS
физический ID: 0.0.0
сведения о шине: scsi@3:0.0.0
логическое имя: /dev/sr1

версия: 1.00
возможности: removable audio cd-r cd-rw dvd dvd-r dvd-ram
конфигурация: ansiversion=5 mount.fstype=iso9660 mount.options=ro,nosuid,nodev,relatime,uid=1000,gid=1000,iocharset=utf8,mode=0400,dmode=0500 state=mounted status=ready
*-medium
физический ID: 0
логическое имя: /dev/sr1
логическое имя: /media/dm/disk
конфигурация: mount.fstype=iso9660 mount.options=ro,nosuid,nodev,relatime,uid=1000,gid=1000,iocharset=utf8,mode=0400,dmode=0500 state=mounted

Еще можно вытянуть мнго полезной информации из системного каталога /proc. Он является неким «слепком» состояния системы и её переменных, в котором хранится очень много полезной информации о системе, а именно: уровень заряда батарей ноутбука, инфа о процессоре, скорости вращения вентиляторов, информация о подключённых устройствах, а также многое чего еще. Чтобы просмотреть какие файлы находятся в каталоге /proc нужно выполнить команду:

ls /proc/

Чтобы узнать информацию о процессоре выполните команду:

cat /proc/cpuinfo

В моем случае вывод был такой (показана лишь часть текстовой информации):

processor: 0
vendor_id: AuthenticAMD
cpu family: 21
model: 1
model name: AMD FX(tm)-6100 Six-Core Processor
stepping: 2
microcode: 0x6000629
cpu MHz: 1400.000
cache size: 2048 KB
physical id: 0
siblings: 6
core id: 0
cpu cores: 3
apicid: 16
initial apicid: 0
fpu: yes
fpu_exception: yes
cpuid level: 13
wp: yes

Чтобы узнать состояние батареи ноутбука нужно выполнить следующую команду:

cat /proc/acpi/battery/BAT0/info

Чтобы узнать информацию о всех подключенных USB устройствах нужно воспользоваться утилитой lsusb . Выполните команду:

lsusb

Bus 003 Device 004: ID 13fe:4100 Kingston Technology Company Inc.
Bus 003 Device 003: ID 125f:c96a A-DATA Technology Co., Ltd. C906 Flash Drive
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 004: ID 058f:6361 Alcor Micro Corp. Multimedia Card Reader
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 002: ID 046d:c05a Logitech, Inc. M90/M100 Optical Mouse
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 011 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 010 Device 003: ID 04d9:1702 Holtek Semiconductor, Inc.
Bus 010 Device 002: ID 046d:0829 Logitech, Inc.
Bus 010 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 009 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 008 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

И напоследок пару утилит для получения информации о жестких дисках. Утилита hdparm регулирует и просматривает параметры жестких дисков с интерфейсом ATA. Она может установить такие параметры как объём кеш-памяти накопителя, спящий режим, управление питанием, управление акустикой и настройки DMA.Чтобы узнать информацию о подключенных жестких дисках выполните команду:

sudo hdparm -I /dev/sda

Данной командой мы узнаем информацию о вашем винчестере /dev/sda. Привожу часть вывода:

ATA device, with non-removable media
Model Number: WDC WD6400AARS-00Y5B1
Serial Number: WD-WCAV5D714851
Firmware Revision: 80.00A80
Transport: Serial, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6
Standards:
Supported: 8 7 6 5
Likely used: 8
Configuration:
Logical max current
cylinders 16383 16383
heads 16 16
sectors/track 63 63

CHS current addressable sectors: 16514064
LBA user addressable sectors: 268435455
LBA48 user addressable sectors: 1250263728
Logical/Physical Sector size: 512 bytes
Если программа не установлена, то выполните команду в Терминале:

sudo apt-get install hdparm

fdisk -l

В итоге мы увидим список всех подключенных жестких дисков, флешек и карт памяти. Также мы увидим сколько разделов создано на диске.

Диск /dev/sda: 640.1 Гб, 640135028736 байт
255 головок, 63 секторов/треков, 77825 цилиндров, всего 1250263728 секторов
Units = секторы of 1 * 512 = 512 bytes
Размер сектора (логического/физического): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Идентификатор диска: 0x0009d6f7

Устр-во Загр Начало Конец Блоки Id Система
/dev/sda1 * 2048 61441501 30719727 83 Linux
/dev/sda2 61442048 73730031 6143992 82 Linux своп / Solaris
/dev/sda3 73730048 1250263039 588266496 83 Linux

На этом все и удачи всем!

—————————————————————————

Красавчик ÁKOS из популярной венгерской группы Bonanza Banzai

Именно на этапе загрузки может происходить много ошибок в сервисах или оборудовании. Просмотр этих сообщений может быть очень полезным.Но они пробегают очень быстро и мы не всегда можем успеть их прочитать. Но все они могут быть просмотрены с помощью команды dmesg .

Dmesg - что это за утилита и с чем ее едят?

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

Именно на этапе загрузки может происходить много ошибок в сервисах или оборудовании. Просмотр этих сообщений может быть очень полезным.Но они пробегают очень быстро и мы не всегда можем успеть их прочитать. Но все они могут быть просмотрены с помощью команды dmesg.

1. Просмотр сообщений во время загрузки

Выполнив команду dmesg с правами суперпользователя вы получите все сообщения, которые выводило ядро во время загрузки. Здесь вы можете увидеть очень много полезной информации. Вы можете просто просматривать их по одной строчке и пытаться понять, что они значат. Теперь, когда вы знаете как выглядят сообщения при загрузке, вы сможете легко разобраться со многими проблемами, если те возникнут.

$ dmesg | more [ 0.000000] microcode: CPU0 microcode updated early to revisio n 0x29, date = 2013-06-12 [ 0.000000] Initializing cgroup subsys cpuset [ 0.000000] Initializing cgroup subsys cpu [ 0.000000] Initializing cgroup subsys cpuacct [ 0.000000] Linux version 4.1.20-11-default () (gcc version 4.8.5 (SUSE Linux)) #1 SMP PREEMPT Fri Mar 18 14:42:07 UTC 2016 (0a392b2)

2. Просмотр памяти

С помощью dmesg вы можете посмотреть количество доступной в системе памяти:

$ dmesg | grep Memory

0.000000] Memory: 3848228K/4006256K available (6567K kernel code, 1085K rwdata, 4852K rodata, 1560K init, 1520K bss, 158028K reserved, 0K cma-reserved)

3. Просмотр состояния сетевых адаптеров

Поскольку в dmesg сохраняются все сообщения о состоянии устройств, мы можем посмотреть состояние сетевого адаптера, или, возможно, ошибки которые возникли при его инициализации:

$ dmesg | grep eth [ 101.043873] tg3 0000:02:00.0 eth0: Link is up at 100 Mbps, full duplex [ 101.043885] tg3 0000:02:00.0 eth0: Flow control is off for TX and off for RX [ 101.043889] tg3 0000:02:00.0 eth0: EEE is disabled [ 101.043909] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

4. Изменение размера буфера dmesg

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

$ vi /boot/config-4.1.20-11-default CONFIG_LOG_BUF_SHIFT=18

Измените значение параметра этой строки на нужное, по умолчанию у меня используется 18, это значит что будет создан буфер размером 18 килобайт. Но вы можете указать размер буфера, какой захотите.

5. Очистить буфер dmesg

Иногда может понадобится очистить буфер Dmesg, чтобы ненужные сообщения не путались под руками. Вы можете это сделать следующей командой:

$ dmesg -c

Теперь если еще раз выполнить команду dmesg, буфер будет пуст.

6. Дата и время в dmesg

Как видите, по умолчанию в dmesg нет никаких дат, используется просто метка, сдвиг времени от начала загрузки. Но также есть возможность увидеть полноценную дату и время каждого сообщения. Для этого смотрите файл /var/log/kern.log:

$ dmesg | grep "L2 cache" Oct 18 23:55:40 ubuntu kernel: [ 0.014681] CPU: L2 cache: 2048K

Чтобы все работало должна быть настроена и запущенна служба klogd.

7. Просмотр ошибок dmesg

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

$ dmesg | grep error

Рассмотрим небольшой пример. Вот допустим, у меня не работает Wifi. Я знаю что адаптер в компьютере есть, он включен и в Windows все работает. Но сейчас никак. Смотрим лог dmesg и видим:

[ 21.772824] b43-phy0 ERROR: Firmware file "b43/ucode15.fw" not found [ 21.772842] b43-phy0 ERROR: Firmware file "b43-open/ucode15.fw" not found [ 21.772852] b43-phy0 ERROR: Please open a terminal and enter the command "sudo /usr/sbin/install_bcm43xx_firmware" to download the correct firmware for this driver version. For an off-line installation, go to and follow the instructions in the "Installing firmware from RPM packages" section.

Из сообщения мы понимаем, что проблема здесь в прошивке, и система нам даже сообщает с помощью какой команды ее можно решить, или где почитать про настройку этого дела и скачать нужные файлы. Таким образом, проблема которая казалась нерешаемой, решилась за несколько минут. Просмотр логов Linux - очень полезная вещь, не забывайте этим пользоваться. Вот и все, если у вас остались вопросы, пишите в комментариях!

Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter
ПОДЕЛИТЬСЯ: