Открытый источник

Общее руководство по устранению неполадок GNU / Linux для начинающих

Общее руководство по устранению неполадок GNU / Linux для начинающих

Устранение неполадок оборудования

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

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

[электронная почта защищена]: ~ $ dmesg> / tmp / msg.текст
[электронная почта защищена]: ~ $ less / tmp / kernel_msg.текст

Сохраненные сообщения можно просмотреть позже или отправить кому-нибудь для устранения проблемы.

Другой способ прочитать эти сообщения - проверить файлы / var / log / dmesg или / var / log / messages, если они существуют.

Некоторые системы Linux, поддерживающие systemd, хранят эти сообщения в журнале systemd. Использовать journalctl команда для проверки сообщений ядра:

[электронная почта защищена]: ~ $ journalctl -k | меньше

Проверьте сообщения, в которых говорится об отказе аппаратных функций или о сбое при загрузке драйверов.

GRUB Спасение

GRUB - это программа, устанавливаемая дистрибутивами, которая загружает ОС на основе ядра. В настоящее время все дистрибутивы Linux используют версию GRUB2. Иногда возможно, что когда BIOS запускает GRUB2, он сталкивается с проблемой отсутствия «операционной файловой системы» или «неизвестной файловой системы».

Ошибка предполагает, что GRUB не может найти нужную операционную систему для загрузки и найти grub.cfg файл в неправильном разделе. Это происходит, когда пользователь устанавливает Windows после того, как ОС Linux и BIOS идентифицируют диски в неправильном порядке, так как Windows запускает свой загрузчик с основной загрузочной записи (MBR).

Ошибка выглядит так:

ошибка: неизвестная файловая система.
личинка спасения> _

В этом разделе мы обсудим два способа восстановления дистрибутива из Grub Rescue:

МЕТОД I

Введите ls в терминале восстановления grub, чтобы вывести список всех дисков и доступных разделов.

grub> ls
(hd0), (hd0, msdos1) (hd0, msdos2)

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

grub> ls (hd0, msdos1) /
личинка> ls (hd0, msdos1) / grub2
устройство.карта шрифтов grub.cfg grub.cfg.1590068449.rpmsave grubenv i386-pc locale

Тип установить root = (hd0, msdos1) для загрузки системы. Теперь используйте установить префикс команда для определения пути к каталогу grub2. Тип insmod нормальный команда для перезагрузки системы. После перезагрузки откройте терминал для обновления GRUB.

[электронная почта защищена]: ~ $ sudo update-grub

Последний шаг - установить GRUB в MBR (основная загрузочная запись), поскольку Windows инициирует на нем свой загрузчик. Этот шаг требует монтирования корневого раздела / dev / sda1 в каталог / mnt.

[электронная почта защищена]: ~ $ sudo mount / dev / sda1 / mnt
[электронная почта защищена]: ~ $ sudo grub-install --root-directory = / mnt / / dev / sda

Система может не загрузиться через insmod нормальный команда, которая может произойти из-за паршивой файловой системы, в которой отсутствует grub.conf файл. Проблема требует, чтобы пользователь загрузился в систему через живой USB / CD дистрибутива. Давайте обсудим еще один идеальный метод спасения GRUB2.

МЕТОД II

Boot-Repair - это графический инструмент, который предлагает идеальное решение проблем с GRUB. Загрузитесь на рабочий стол с живого съемного USB / CD. Убедитесь, что устройство подключено к Интернету, и нажмите Ctrl + Alt + T, чтобы открыть терминал. Теперь установите средство восстановления загрузки:

[электронная почта защищена]: ~ $ sudo add-apt-repository -y ppa: yannubuntu / boot-repair
[электронная почта защищена]: ~ $ sudo apt-get update
[электронная почта защищена]: ~ $ sudo apt-get install -y boot-repair && boot-repair

Следуйте рекомендованным вариантам для ремонта системы. Перезагрузите систему после того, как Boot Repair применит все изменения. ОС загрузится нормально.

Устранение неполадок сети

Для обычных пользователей подключение к сети происходит автоматически, как только пользователь подключает кабель Ethernet или предоставляет учетные данные для входа в сеть Wi-Fi. Однако управление сетью и устранение неполадок - важнейший набор задач для любого системного администратора. Следовательно, Linux предлагает инструменты командной строки для решения проблем управления и подключения.

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

Исходящие соединения

Linux предлагает IP как универсальная сетевая утилита для настройки сети и решения проблем с подключением. Он управляет всеми сетевыми объектами, такими как IP-адреса, маршруты, ссылки и т. Д.

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

[электронная почта защищена]: ~ $ ip addr show

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

[электронная почта защищена]: ~ $ route

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

[электронная почта защищена]: ~ $ ping -c 5

Ошибка говорит о том, что роутер либо физически не подключен, либо выключен. Однако, если эхо-запрос прошел успешно, попробуйте получить доступ к адресу за пределами маршрутизатора, например, к глобальному DNS-серверу Google 8.8.8.8.

[электронная почта защищена]: ~ $ ping -c 5 8.8.8.8

Успешный пинг предполагает, что проблема связана с преобразованием имени хоста в адрес. DNS-сервер, используемый системой, добавляется вручную или автоматически с DHCP-сервера при запуске сетевого интерфейса. Проверьте детали (имена и IP-адреса) DNS-сервера из файла / etc / resolve.conf файл.

сервер имен 192.168.11.12
сервер имен 192.168.11.253

Мы можем решить проблемы с именем хоста следующим образом:

Возможно, сервер не работает или пользователю назначен неправильный адрес DNS-сервера. Обратите внимание сервер имен адреса из разрешить.conf файл и проверьте, доступен ли он с помощью команды ping.

[электронная почта защищена]: ~ $ ping -c 3 192.168.11.253

Используйте утилиту Domain Information Groper (DIG), чтобы проверить, работает ли DNS. То есть проверьте, адрес DNS-сервера 192.168.11.253 преобразует имя хоста в IP-адрес.

[адрес электронной почты защищен]: ~ $ dig @ 115.186.188.3 www.Google.ком

Исправить DNS-сервер немного сложно. Если диспетчер сети отвечает за управление задачей подключения, он переопределяет записи сервера имен в / etc / resolve.conf файл. Перейдите в каталог / etc / sysconfig / network-scripts, чтобы добавить следующую строку в файл ifcfg для решения проблемы.

[электронная почта защищена]: ~ $ sudo vim / etc / sysconfig / network-scripts / ifcfg
PEERDNS = нет
DNS1 =

В случае отдельной сетевой службы добавьте строку PEERDNS = no для разрешения.conf файл.

Входящие соединения

Для системы Linux, настроенной как сервер Apache, к веб-серверу должен получить доступ клиент. Если клиент не может связаться с сервером через веб-браузер, вы можете использовать описанные выше команды ping, dig или traceroute извне сервера для отслеживания проблем. Вот некоторые из других способов устранения неполадок входящих подключений:

Использовать nmap проверить доступность сервиса через открытые порты на сервере. Используйте команду nmap с именем хоста / IP-адресом для проверки открытых портов.

[электронная почта защищена]: ~ $ nmap

Открытый порт 80/443 STATE предполагает, что с сетевым подключением все в порядке. В противном случае брандмауэр не принимает пакеты с этих портов. Более того, он не фильтруется, а состояние закрыто, что означает, что служба настроена неправильно или не прослушивает порты 80/443.

Если система использует ufw и устанавливает политику брандмауэра по умолчанию, он будет блокировать каждое входящее соединение. Настройте брандмауэр, чтобы разрешить клиентам доступ к портам TCP 80/443:

[электронная почта защищена]: ~ $ sudo ufw allow 80
[электронная почта защищена]: ~ $ sudo ufw allow 443

Если он все еще блокирует входящие соединения, используйте sudo ufw статус команда для поиска запрещенных хостов и доступа к ним с помощью следующей команды.

[электронная почта защищена]: ~ $ sudo ufw allow from

Если доступ к портам 80/443 включен и все входящие сети могут получить доступ к серверу. Пришло время проверить статус сервера:

[электронная почта защищена]: ~ $ sudo systemctl status httpd

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

[электронная почта защищена]: ~ $ sudo cd / etc / httpd / conf / httpd.conf
Слушай 80
Слушайте 192.168.11.10:80

Устранение неполадок при загрузке системы

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

Некоторые из причин нестабильности системы включают ограниченную емкость, i.е., нехватка памяти, дискового пространства, емкости сети и вычислительной мощности с неправильно настроенными приложениями. Тем не менее, утилиты предлагают способы управлять такими проблемами, манипулировать ими и исправлять их. Давайте устраним проблемы с ограниченной памятью и чрезмерным потреблением ЦП.

Использование памяти

Запустить вершина команда с большой буквы M для классификации деталей процесса по использованию памяти. Вывод команды дает общую информацию, за которой следует ОЗУ, пространство подкачки и потребление ЦП. Если окажется, что в системе недостаточно памяти (OOM), поищите следующие вещи:

  • Обратите внимание на свободное место в строке Mem: оно должно быть нулевым или близким к нему.
  • Проверьте используемое пространство подкачки: оно должно быть ненулевым или увеличиваться.
  • Поскольку вершина команда повторно отображает информацию каждые 5 секунд, ищите процесс с утечкой памяти, то есть проверяйте, продолжает ли расти память RES.
  • Ядро начинает убивать процесс, когда заканчивается пространство подкачки.

Возможный способ устранения таких проблем:

Убиваем процесс

Команда kill отправляет сигнал уничтожения для завершения процесса. Наиболее часто используемые сигналы для устранения проблем с нехваткой памяти - это SIGKILL и SIGTERM. Однако разные процессы по-разному реагируют на сигналы.

Например, обратите внимание на PID и используйте убийство команда для отправки сигнала SIGTERM.

[электронная почта защищена]: ~ $ kill -15 PID

Сигнал SIGTERM / -15 направлен на завершение процесса, но иногда он не останавливает процесс. Следовательно, это может потребовать сигнала SIGKILL / -9, чтобы немедленно убить процесс.

[электронная почта защищена]: ~ $ kill -SIGKILL PID

Перетащить кеш страниц

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

Оставьте верхнюю команду запущенной в терминале и запустите данную команду в другом терминале, чтобы просмотреть изменение строки MEM:

[электронная почта защищена]: ~ $ echo 3> / proc / sys / vm / drop_caches

Используйте Alt + SysRq Keystroke

Исчерпание памяти иногда может привести к тому, что графический интерфейс или оболочка полностью перестанут отвечать. Этот сценарий требует использования нажатия клавиш Alt + SysRq в неотвечающей системе. Таким образом, ядро ​​обрабатывает свой запрос раньше любого другого процесса.

Выполните следующую команду, чтобы проверить, включена ли она:

[электронная почта защищена]: ~ $ cat / proc / sys / kernel / sysrq
076

Значение «0» показывает, что нажатие клавиши не разрешено. Чтобы включить это нажатие клавиши, перейдите в / etc / sysctl.conf и установите ядро.sysrq = 1. Или установить ядро.sysrq = 1 с помощью следующей команды.

[электронная почта защищена]: ~ $ sudo echo "1"> / proc / sys / kernel / sysrq

На большинстве клавиатур SysRq является клавишей PrtSc.

Нажмите Alt + SysRq + f в текстовом интерфейсе, чтобы убить процесс с наивысшей оценкой OOM. Продолжайте нажимать эти нажатия клавиш, пока система не вернется в нормальное рабочее состояние.

Загрузка процессора

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

Возродить процесс

Используйте команду top, чтобы получить все подробности и запомнить идентификатор процесса (PID), запрашивающего дополнительные ресурсы ЦП. Введите следующую команду, которая устанавливает отличное значение от -20 до 19, i.е., чем выше значение, тем ниже процесс доступа к процессору.

[электронная почта защищена]: ~ $ nice +18 PID

Или обратите внимание на значение NI (хорошее) PID. Для низкого значения NI уменьшите права доступа к ЦП этого конкретного процесса, отменив отличное значение с помощью команды renice:

[электронная почта защищена]: ~ $ renice -n +18 PID

Заключение

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

Установите последнюю версию игры OpenRA Strategy в Ubuntu Linux
OpenRA - это игровой движок Libre / Free Real Time Strategy, воссоздающий ранние игры Westwood, такие как классическая Command & Conquer: Red Alert. Р...
Установите последнюю версию эмулятора Dolphin для Gamecube и Wii в Linux
Эмулятор Dolphin позволяет вам играть в выбранные вами игры Gamecube и Wii на персональных компьютерах (ПК) Linux. Являясь свободно доступным игровым...
Как использовать чит-движок GameConqueror в Linux
В статье содержится руководство по использованию чит-движка GameConqueror в Linux. Многие пользователи, играющие в игры на Windows, часто используют п...