Отворен код

GNU / Linux Общо ръководство за отстраняване на неизправности за начинаещи

GNU / Linux Общо ръководство за отстраняване на неизправности за начинаещи

Отстраняване на хардуерни проблеми

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

Докато системата се зарежда, използвайте dmesg команда за записване на тези съобщения в съобщ.текст файл.

[имейл защитен]: ~ $ dmesg> / tmp / msg.текст
[имейл защитен]: ~ $ по-малко / tmp / kernel_msg.текст

Запазените съобщения могат да бъдат прегледани по-късно или изпратени на някой за отстраняване на грешки в проблема.

Друг начин за четене на тези съобщения е да проверите файловете / var / log / dmesg или / var / log / messages, ако те съществуват.

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

[имейл защитен]: ~ $ journalctl -k | по-малко

Проверете за съобщения, в които се посочва отказ на хардуерни функции или неуспешно зареждане на драйвери.

GRUB Спасяване

GRUB е софтуерна програма, инсталирана от дистрибуции, която стартира базираната на ядрото ОС. Понастоящем всички дистрибуции на Linux използват версията GRUB2. Понякога е възможно, когато BIOS стартира GRUB2, той попада в проблема с липсата на „операционна файлова система“ или „неизвестна файлова система“.

Грешката предполага, че GRUB не може да намери правилната операционна система за зареждане и намиране на grub.cfg файл в грешен дял. Това се случва, когато потребителят инсталира Windows след Linux OS и BIOS идентифицира дискове в грешен ред, тъй като Windows стартира своя буутлоудър в Master Boot Record (MBR).

Грешката се появява по следния начин:

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

В този раздел ще обсъдим два начина за възстановяване на разпространението от Grub Rescue:

МЕТОД I

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

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

Изберете дяла, който съдържа инсталираната дистрибуция. Като цяло, той се стартира от първия дял; ако не, извежда съобщение за грешка. Изпълнете следните команди, за да търсите конфигурационния файл на grub в директорията grub2:

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

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

[имейл защитен]: ~ $ sudo update-grub

Последната стъпка е да инсталирате GRUB на MBR (Master Boot Record), докато 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

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

[имейл защитен]: ~ $ маршрут

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

[имейл защитен]: ~ $ ping -c 5

Грешката предполага, че рутерът или не е физически свързан, или е изключен. Ако обаче пингът е успешен, опитайте да достигнете до адрес извън рутера, например глобален Google DNS сървър 8.8.8.8.

[имейл защитен]: ~ $ ping -c 5 8.8.8.8

Успешният пинг предполага, че проблемът е в разрешаването на име на хост към адрес. DNS сървърът, използван от системата, се добавя ръчно или автоматично от DHCP сървъра, когато се стартира мрежовият интерфейс. Проверете подробностите (имена и IP адреси) на DNS сървъра от / etc / resolution.conf файл.

192 серия.168.11.12
192 серия.168.11.253

Можем да разрешим проблемите с името на хоста, както следва:

Възможно е сървърът да не работи или да е присвоен грешен адрес на DNS сървър. Обърнете внимание на сървър за имена адреси от разреши.конф файл и проверете дали е достъпен чрез команда за ping.

[имейл защитен]: ~ $ ping -c 3 192.168.11.253

Използвайте помощната програма за информация за домейни (DIG), за да проверите дали DNS работи. Тоест проверете дали адресът на DNS сървъра е 192.168.11.253 разрешава името на хоста до IP адрес.

[имейл защитен]: ~ $ dig @ 115.186.188.3 www.google.com

Коригирането на DNS сървър е малко сложно. Ако Мениджърът на мрежата е отговорен за управлението на задачата за свързване, той заменя записите на сървъра на имена в / etc / resol.conf файл. Cd в директорията / etc / sysconfig / network-scripts, за да добавите следния ред във файла ifcfg, за да разрешите проблема.

[имейл защитен]: ~ $ sudo vim / etc / sysconfig / network-scripts / ifcfg
PEERDNS = не
DNS1 =

В случай на отделна мрежова услуга, добавете PEERDNS = няма ред за разрешаване.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 разреши от

Ако достъпът до 80/443 портове е разрешен и всички входящи мрежи могат да имат достъп до сървъра. Време е да проверите състоянието на сървъра:

[имейл защитен]: ~ $ sudo systemctl статус httpd

И накрая, проверете дали сървърът слуша подходящи интерфейси и портове. Следователно, за услуги като httpd, които слушат заявки за интерфейси. Редактирайте основния конфигурационен файл, за да разрешите на услугата да слуша на порт 80 за определен адрес или всички адреси.

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

Отстраняване на натоварването на системата

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

Някои от причините за нестабилността на системата включват ограничен капацитет, т.е.д., ниска памет, дисково пространство, мрежов капацитет и процесорна мощност с неправилно конфигурирани приложения. Помощните програми обаче предлагат начини за управление, манипулиране и отстраняване на такива проблеми. Нека отстраним проблемите с ограничената памет и прекомерното потребление на процесора.

Използване на паметта

Стартирайте Горна част команда с капитал М за класифициране на детайлите на процеса по използване на паметта. Изходът на командата дава обща информация, последвана от RAM, суап пространство и консумация на процесора. Ако изглежда, че системата няма място за памет (OOM), потърсете следните неща:

  • Забележете свободното място в линията Mem: то трябва да е нула или близо до него.
  • Проверете използваното място за суап: то трябва да е ненулево или да нараства.
  • Тъй като Горна част команда извежда информация на всеки 5 секунди, търсете процеса с изтичане на памет, т.е. проверете дали RES паметта продължава да расте.
  • Ядрото започва да убива процеса, когато мястото за суап изтече.

Възможният начин за отстраняване на такива проблеми е или:

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

Командата за убиване изпраща сигнал за убиване, за да приключи процес. Най-често използваните сигнали за отстраняване на проблеми с липсата на памет са SIGKILL и SIGTERM. Различните процеси обаче реагират по различен начин на сигналите.

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

[имейл защитен]: ~ $ kill -15 PID

Сигналът SIGTERM / -15 има за цел да прекрати процеса, но понякога не убива процеса. Следователно, това може да изисква сигнал SIGKILL / -9, за да убие незабавно процеса.

[имейл защитен]: ~ $ kill -SIGKILL PID

Пуснете кешовете на страници

За да изчистите паметта за момента, пуснете неактивни кеш страници. Отпадане на кеширани страници, напишете няколко страници с памет на диска, тъй като системата може да поиска да го извлече по-късно, докато изхвърля останалите.

Оставете горната команда да работи в терминала и изпълнете дадената команда в друг терминал, за да видите промяна на MEM реда:

[имейл защитен]: ~ $ echo 3> / proc / sys / vm / drop_caches

Използвайте Alt + SysRq натискане на клавиш

Изчерпването на паметта понякога може да направи GUI или черупката напълно неотзивчиви. Този сценарий изисква използването на натискане на клавиш 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 обаче предлага друг метод, който ограничава системните процеси от захранване на ресурсите на процесора.

Renice процеса

Използвайте горната команда, за да получите всички подробности и отбележете идентификатора на процеса (PID), който изисква повече ресурси на процесора. Въведете следната команда, която задава отличната стойност между -20 до 19, т.е.д., колкото по-висока е стойността, толкова по-нисък е процесът на достъп до процесора.

[имейл защитен]: ~ $ nice +18 PID

Или забележете NI (хубавата) стойност на PID. За ниска стойност на NI, намалете привилегиите за достъп до процесора на този конкретен процес, като отмените отличната стойност, като използвате командата renice:

[имейл защитен]: ~ $ renice -n +18 PID

Заключение

Статията обхваща всички необходими помощни програми за Linux, за да позволи на начинаещите да отстраняват проблеми с Linux, свързани с натоварването на системата, хардуерни проблеми, GRUB и мрежи.

HD Remastered Games за Linux, които никога преди не са имали издание на Linux
Много разработчици и издатели на игри излизат с HD ремастер на стари игри, за да удължат живота на франчайза, моля феновете, които искат съвместимост ...
Как да използвам AutoKey за автоматизиране на Linux игри
AutoKey е програма за автоматизация на настолни компютри за Linux и X11, програмирана в Python 3, GTK и Qt. Използвайки неговата функционалност за скр...
Как да покажа брояч на FPS в игрите на Linux
Linux игрите получиха голям тласък, когато Valve обяви поддръжка на Linux за Steam клиент и техните игри през 2012 г. Оттогава много AAA и независими ...