Linux: Как быстро посмотреть системные ошибки
В любой живой системе неизбежны изменения и линукс здесь не исключение, когда обновляются пакеты, и такие важные части как драйвера и ядро ОС. Естественно, такие изменения могут приводить к ошибкам и сбоям, которые необходимо как-то находить и диагностировать, и для этого в Linux есть необходимые сподручные инструменты.
В свою очередь я пользуюсь двумя консольными утилитами:
dmesg (diagnostic message)
Просмотр и управление буфером сообщений ядра Linux. Любимый формат вызова:
Выводит сообщения уровня ошибки, приводя вывод в вид удобный для чтения, к примеру вот в такой, говорящий о наличии проблем с bluetooth:
[апр14 10:07] Bluetooth: hci0: AOSP capabilities length 1 too short [апр14 15:13] Bluetooth: hci0: Opcode 0x203b failed: -2 [апр14 15:14] Bluetooth: hci0: command 0xfcf0 tx timeout [ +0,000039] Bluetooth: hci0: Failed to read MSFT supported features (-110) [ +2,016210] Bluetooth: hci0: command 0xfd53 tx timeout [ +0,000000] Bluetooth: hci0: AOSP get vendor capabilities (-110) [ +0,386195] Bluetooth: hci0: AOSP capabilities length 1 too short [апр14 21:33] Bluetooth: hci0: AOSP capabilities length 1 too short [апр14 23:22] Bluetooth: hci0: AOSP capabilities length 1 too short [апр15 00:02] Bluetooth: hci0: AOSP capabilities length 1 too short [апр15 09:27] Bluetooth: hci0: AOSP capabilities length 1 too short [ +2,639139] Bluetooth: hci0: AOSP capabilities length 1 too short [апр15 09:57] Bluetooth: hci0: AOSP capabilities length 1 too short [апр15 11:29] Bluetooth: hci0: AOSP capabilities length 1 too short [апр15 18:13] Bluetooth: hci0: AOSP capabilities length 1 too short [апр15 18:14] Bluetooth: hci0: AOSP capabilities length 1 too short [апр15 19:05] [drm:dc_dmub_srv_wait_idle [amdgpu]] *ERROR* Error waiting for DMUB idle: status=3 [ +3,111900] Bluetooth: hci0: AOSP capabilities length 1 too short [ +34,771521] Bluetooth: hci0: AOSP capabilities length 1 too short
journalctl (journal control)
Просмотр systemd журнала загрузки Linux. Просмотр текущей сессии загрузки:
И бывает нередко необходимо просмотреть как осущствлялась загрузка предыдущей сессии:
Эти простые утилиты позволяют довольно эффективно провести начальную диагностику возможных проблем в системе. Надеюсь и вам они пригодятся и помогут в трудную минуту.
15 апреля, 2022 , 22:29
handyblogger[at]gmail.com
ТОП 10 сообщений об ошибках в Linux
Многие ошибки, которые вы встретите при выполнении команд системы Linux, являются результатом неправильных действий с файлами или процессами. Приведем распространенные сообщения об ошибках и разберем их.
No such file or directory
Вероятно, вы пытались получить доступ к несуществующему файлу. Поскольку ввод/вывод в системе Unix не делает различий между файлами и каталогами, это сообщение об ошибке появляется везде. Вы получите его, если попытаетесь выполнить чтение несуществующего файла, или решите перейти в отсутствующий каталог, или попробуете записать файл в несуществующий каталог и так далее.
File exists
В данном случае вы, возможно, пытались создать файл, который уже существует. Это часто бывает, когда вы создаете каталог, имя которого уже занято каким-либо файлом.
Not a directory, Is a directory
Эти сообщения возникают, когда вы пытаетесь использовать файл в качестве каталога или каталог в качестве файла. Например, так:
$ touch a $ touch a/b touch: a/b: Not a directory
Обратите внимание на то, что сообщение об ошибке относится только к части a пути a/b. Когда вы столкнетесь с такой проблемой, вам потребуется время, чтобы отыскать компонент пути, с которым обращаются как с каталогом.
No space left on device
На вашем жестком диске закончилось свободное пространство.
Permission denied
Эта ошибка возникает, когда вы пытаетесь выполнить чтение или запись, указав файл или каталог, к которым вам не разрешен доступ (вы обладаете недостаточными правами). Эта ошибка говорит также о том, что вы пытаетесь запустить файл,для которого не установлен бит выполнения (даже если вы можете читать этот файл). Из раздела 2.17 вы больше узнаете о правах доступа.
Operation not permitted
Обычно такая ошибка возникает, когда вы пытаетесь завершить процесс, владельцем которого не являетесь.
Segmentation fault, Bus error
Суть ошибки сегментации состоит в том, что разработчик программы, которую вы только что запустили, где-то ошибся. Программа пыталась получить доступ к области памяти, к которой ей не разрешено обращаться, в результате операционная система завершила работу программы. Подобно ей, ошибка шины означает, что программа пыталась получить доступ к памяти не должным образом. Если вы получаете одну из этих ошибок, то, вероятно, вы передали на ввод программы какие-либо неожиданные для нее данные.