GNU/Linux Ogólne Przewodnik po rozwiązywaniu problemów dla początkujących

GNU/Linux Ogólne Przewodnik po rozwiązywaniu problemów dla początkujących

Rozwiąż problemy z sprzętem

Po uruchomieniu jądra ładuje niezbędne sterowniki i moduły sprzętowe ze wszystkimi wiadomościami zawierającymi szczegóły awarii sprzętu. Ale wiadomości przewijają o wiele za szybko i nie można dobrze przyjrzeć się potencjalnym problemom sprzętowym. Jednak komunikaty wyświetlane podczas procesu rozruchu jądra są zapisywane w buforze pierścienia jądra.

Gdy system się uruchamia, użyj Dmesg polecenie, aby napisać te wiadomości w MSG.tekst plik.

Ubuntu@ubuntu: ~ $ dmesg> /tmp /msg.tekst
Ubuntu@ubuntu: ~ $ Less /tmp /kernel_msg.tekst

Zapisane wiadomości można później przejrzeć lub wysłać do kogoś, aby debugować problem.

Innym sposobem odczytania tych wiadomości jest sprawdzenie plików/var/log/dmesg lub/var/log/message.

Niektóre systemy Linux, które obsługują SystemD, przechowują te wiadomości w czasopiśmie Systemd. Użyj Journalctl Polecenie do sprawdzenia wiadomości jądra:

Ubuntu@ubuntu: ~ $ Journalctl -k | mniej

Sprawdź komunikaty, które przedstawiają niepowodzenie funkcji sprzętowych lub nie udało się ładować sterowników.

Grub Rescue

Grub to oprogramowanie zainstalowane przez dystrybucje, które wygrywają system operacyjny oparty na jądrze. Obecnie wszystkie dystrybucje Linux używają wersji Grub2. Czasami możliwe jest, że kiedy BIOS uruchamia Grub2, wpada on na problem braku „systemu plików” lub „nieznanego systemu plików”.

Błąd sugeruje, że grub nie może znaleźć odpowiedniego systemu operacyjnego do załadowania i zlokalizowania grubu.plik CFG w niewłaściwej partycji. Dzieje się tak, gdy użytkownik instaluje system Windows po systemie systemu OS Linux i BIOS identyfikuje dyski w niewłaściwej kolejności, ponieważ system Windows uruchamia bootloader w głównym rekordie rozruchu (MBR).

Błąd pojawia się w ten sposób:

Błąd: nieznany system plików.
Grub Rescue> _

W tej sekcji omówimy dwa sposoby odzyskania dystrybucji z Grub Rescue:

Metoda i

Wejdz do LS polecenie w terminalu ratunkowym Grub, aby wymienić wszystkie dyski i dostępne partycje.

Grub> ls
(HD0), (HD0, MSDOS1) (HD0, MSDOS2)

Wybierz partycję zawierającą zainstalowaną dystrybucję. Zasadniczo jest uruchomiony od pierwszej partycji; Jeśli nie, wyświetla komunikat o błędzie. Uruchom następujące polecenia, aby wyszukać plik konfiguracyjny GRUB w katalogu Grub2:

Grub> LS (HD0, MSDOS1)/
Grub> LS (HD0, MSDOS1)/Grub2
urządzenie.Mapa czcionki Grub.CFG Grub.CFG.1590068449.RPMSAVE GRUBENV I386-PC LOCALE

Typ Ustaw root = (HD0, MSDOS1) Aby uruchomić system. Teraz użyj Ustaw prefiks polecenie zdefiniowania ścieżki do katalogu Grub2. Typ Insmod Normal polecenie ponownego uruchomienia systemu. Po ponownym uruchomieniu otwórz terminal, aby zaktualizować Grub.

Ubuntu@ubuntu: ~ $ sudo aktualizacja Grub

Ostatnim krokiem jest zainstalowanie Gruba na MBR (główny rekord rozruchu), gdy Windows inicjuje na nim swój bootloader. Ten krok wymaga zamontowania partycji root /dev /sda1 w katalogu /mnt.

Ubuntu@ubuntu: ~ $ sudo Mount /dev /sda1 /mnt
Ubuntu@ubuntu: ~ $ sudo grub-install --root-Directory =/mnt//dev/sda

System może nie uruchomić przez Insmod Normal polecenie, które może się zdarzyć z powodu kiepskiego systemu plików brakującego grub.plik CONF. Problem wymaga, aby użytkownik uruchomiła się w systemie za pośrednictwem USB/CD dystrybucji. Omówmy kolejną idealną technikę ratowania Grub2.

Metoda II

REPAIR BOOT to narzędzie graficzne, które oferuje idealne rozwiązanie problemów z grubem. Uruchom w komputerze stacjonarnym za pośrednictwem zdejmowanej na żywo USB/CD. Upewnij się, że urządzenie jest podłączone do Internetu i naciśnij Ctrl+Alt+T, aby otworzyć terminal. Teraz zainstaluj narzędzie do naprawy rozruchu:

Ubuntu@ubuntu: ~ $ sudo add-apt-repozytory -y pPA: yanubuntu/boot-repres
Ubuntu@ubuntu: ~ $ sudo apt-get aktualizacja
Ubuntu@ubuntu: ~ $ sudo apt-get instaluj -y boot-power && boot-repres

Postępuj zgodnie z zalecanymi opcjami naprawy systemu. Uruchom ponownie system po naprawie rozruchu, stosuje wszystkie zmiany. System operacyjny będzie normalnie uruchamiany.

Rozwiązywanie problemów z sieci

Dla zwykłych użytkowników łączność sieciowa występuje automatycznie, gdy tylko użytkownik podłączy kabel Ethernet lub zapewnia poświadczenia logowania dla sieci Wi-Fi. Jednak zarządzanie siecią i rozwiązywanie problemów są kluczowym zestawem zadań dla każdego administratora systemu. Stąd Linux oferuje narzędzia wiersza poleceń do radzenia sobie z problemami związanymi z zarządzaniem i łącznością.

W tej sekcji omawiamy problemy z połączeniem wychodzącym i przychodzącym i obejmujemy narzędzia Linux w celu zapewnienia im rozwiązań w wygodny sposób.

Połączenia wychodzące

Oferty Linux Ip Polecenie jako wszechstronne narzędzie sieciowe do konfigurowania sieci i rozwiązywania problemów z łącznością. Manipuluje wszystkie obiekty sieciowe, takie jak adresy IP, trasy i linki itp.

Przed rozpoczęciem użyj Ip polecenie do wyświetlenia działającego interfejsu sieciowego.

Ubuntu@ubuntu: ~ $ ip addr show

W przypadku braku dostępnego interfejsu sprawdź, czy sprzęt jest wyłączony. Jeśli jednak jest gotowy i nadal podłączony do hosta, użyj trasa Polecenie do sprawdzenia hosta.

Ubuntu@ubuntu: ~ $ trasa

Linia domyślna reprezentuje domyślną bramę (router) dostępny przez komputer za pomocą działającej karty interfejsu. Oferty Linux świst narzędzie do testowania łączności między urządzeniem a routerem.

Ubuntu@ubuntu: ~ $ ping -c 5

Błąd sugeruje, że router nie jest fizycznie nie podłączony lub wyłączony. Jeśli jednak ping zakończy się powodzeniem, spróbuj osiągnąć adres poza router, na przykład Global Google DNS Server 8.8.8.8.

Ubuntu@ubuntu: ~ $ ping -c 5 8.8.8.8

Udane ping sugeruje, że problem dotyczy rozdzielczości nazwy hosta. Serwer DNS używany przez system jest dodawany ręcznie lub automatycznie z serwera DHCP, gdy interfejs sieciowy inicjuje. Sprawdź szczegóły (nazwy i adresy IP) serwera DNS z /etc /desolve.plik CONF.

Nazwarz 192.168.11.12
Nazwarz 192.168.11.253

Możemy rozwiązać problemy nazwy hosta w następujący sposób:

Możliwe, że serwer jest na dole lub użytkownik otrzymuje niewłaściwy adres serwera DNS. Zanotuj serwer nazw adresy z rozstrzygać.conf Plik i sprawdź, czy jest dostępny za pośrednictwem polecenia ping.

Ubuntu@ubuntu: ~ $ ping -c 3 192.168.11.253

Użyj narzędzia Goper (DIG) Informacje o domenach, aby sprawdzić, czy DNS działa. To znaczy sprawdź, czy adres serwera DNS 192.168.11.253 Rozwiązuje nazwę hosta na adres IP.

Ubuntu @ubuntu: ~ $ dig @115.186.188.3 www.Google.com

Korygowanie serwera DNS jest nieco trudne. Jeśli menedżer sieci jest odpowiedzialny za zarządzanie zadaniem łączności, zastępuje wpisy użytkowe nazw w /etc /Resolve.plik CONF. CD w katalogu/etc/sysconfig/sieci Scripts, aby dodać następujący wiersz w pliku IFCFG, aby rozwiązać problem.

Ubuntu@ubuntu: ~ $ sudo vim/etc/sysconfig/network-scripts/ifcfg
Peerdns = nie
DNS1 =

W przypadku oddzielnej usługi sieciowej dodaj Peerdns = Brak linii do rozwiązania.plik CONF.

Połączenia przychodzące

W przypadku systemu Linux skonfigurowanego jako serwer Apache, Webserver musi uzyskać dostęp do klienta. Jeśli klient nie może dotrzeć do serwera za pośrednictwem przeglądarki internetowej, możesz użyć wyżej wymyślonych poleceń Ping, Dig lub Traceroute spoza serwera, aby śledzić problemy. Niektóre inne sposoby rozwiązywania problemów z przychodzącymi połączeniami obejmują:

Używać nmap Aby sprawdzić dostępność usługi za pośrednictwem otwartych portów na serwerze. Użyj polecenia NMAP z adresem HostName/IP, aby sprawdzić otwarte porty.

Ubuntu@ubuntu: ~ $ nmap

Stan otwartego portu 80/443 sugeruje, że łączność sieciowa jest w porządku. Jeśli nie, zapora nie akceptuje pakietów z tych portów. Ponadto nie jest filtrowane, a stan jest zamknięty, co oznacza, że ​​usługa nie jest poprawnie skonfigurowana lub nie słucha na portach 80/443.

Jeśli system używa UFW i ustawia domyślną zasady zapory, zablokuje każde przychodzące połączenie. Ustaw zaporę ogniową, aby umożliwić klientom dostęp do portów TCP 80/443:

Ubuntu@ubuntu: ~ $ sudo ufw pozwól 80
Ubuntu@ubuntu: ~ $ sudo ufw pozwól 443

Jeśli nadal blokuje przychodzące połączenia, użyj status sudo UFW polecenie poszukiwania odmowy hostów i dostępu do nich za pośrednictwem następującego polecenia.

ubuntu@ubuntu: ~ $ sudo ufw zezwalaj

Jeśli włączony jest dostęp do portów 80/443, a wszystkie sieciowe sieci mogą uzyskać dostęp do serwera. Czas sprawdzić status serwera:

Ubuntu@ubuntu: ~ $ sudo Systemctl Status httpd

Na koniec sprawdź, czy serwer słucha odpowiednich interfejsów i portów. Stąd dla usług takich jak HTTPD, które słuchają żądań na interfejsach. Edytuj główny plik konfiguracyjny, aby umożliwić usłudze słuchania na porcie 80 dla określonego adresu lub wszystkich adresów.

Ubuntu@ubuntu: ~ $ sudo cd/etc/httpd/conf/httpd.conf
Posłuchaj 80
Posłuchaj 192.168.11.10:80

Rozwiązywanie problemów z obciążeniem systemu

Linux jest wyposażony w wiele narzędzi, które obserwują działalność systemu i wymyśla problemy, które nie mają widocznych powodów. Oznacza to, że system działa dobrze, ale zaczyna zwalniać i rozpoczyna awarię aplikacji. Te różne narzędzia Linux pomagają znaleźć procesy zużywające zasoby pamięci i wyczerpanie maszyny przestrzeni dysku, procesorów i przepustowości sieciowej.

Niektóre z przyczyn niestabilności systemu obejmują ograniczoną pojemność, i.mi., Niska pamięć, przestrzeń dysku, pojemność sieciowa i moc przetwarzania, z niewłaściwymi aplikacjami. Jednak narzędzia oferują sposoby zarządzania, manipulowania i naprawy takich problemów. Rozwiążmy problemy z ograniczoną pamięcią i nadmierne problemy z konsumpcją procesora.

Zużycie pamięci

Uruchom szczyt dowództwo z kapitałem M Aby sklasyfikować szczegóły procesu według użycia pamięci. Wyjście polecenia daje ogólne informacje, a następnie zużycie RAM, zamiany i zużycie procesora. Jeśli wydaje się, że system jest poza pamięcią (ooM), poszukaj tych rzeczy:

  • Zwróć uwagę na wolną przestrzeń w linii MEM: musi być zero lub blisko do niego.
  • Sprawdź używaną przestrzeń wymiany: musi być niezerowy lub rosnąć.
  • Od szczyt Polecaj informacje o ponownym rozpowszechnianiu co 5 sekund, poszukaj procesu z wyciekiem pamięci, to znaczy sprawdź, czy pamięć RES nadal rośnie.
  • Jądro zaczyna zabijać proces, gdy skończy się przestrzeń wymiany.

Możliwym sposobem rozwiązywania problemów z takimi problemami jest:

Zabijanie procesu

Polecenie zabójstwa wysyła sygnał zabójstwa, aby zakończyć proces. Najczęściej używanymi sygnałami do rozwiązywania problemów z problemami są Sigkill i Sigterm. Jednak różne procesy reagują inaczej na sygnały.

Na przykład zwróć uwagę na PID i użyj zabić Polecenie do wysłania sygnału SIGTERM.

Ubuntu@ubuntu: ~ $ zabójcy -15 pid

Sygnał SIGTERM/-15 ma na celu zakończenie procesu, ale czasami nie zabija procesu. Stąd może to wymagać sygnału Sigkill/-9 do natychmiastowego zabicia procesu.

Ubuntu@ubuntu: ~ $ Kill -Sigkill pid

Upuść buformy stron

Aby oczyścić pamięć na chwilę, upuść nieaktywne strony pamięci podręcznej. Upuszczając buforowane strony, napisz kilka stron pamięci na dysku, ponieważ system może chcieć go odzyskać później, gdy odrzuca resztę.

Pozostaw górne polecenie działające w terminalu i uruchom podane polecenie w innym terminalu, aby wyświetlić zmianę wiersza MEM:

Ubuntu@ubuntu: ~ $ echo 3>/proc/sys/vm/drop_caches

Użyj klawisza Alt+Sysrq

Wyczerpanie pamięci może czasem sprawić, że GUI lub skorupa całkowicie nie reagują. Ten scenariusz wymaga użycia naciśnięć naciśnięć naciśnięć Alt+Sysrq w systemie niereagującym. Tak, że jądro przetwarza swoje żądanie przed jakimkolwiek innym procesem.

Uruchom następujące polecenie, aby sprawdzić, czy jest włączone:

Ubuntu@ubuntu: ~ $ cat/proc/sys/jądro/sysrq
076

Wartość „0” pokazuje, że klawisze nie jest włączone. Aby włączyć ten klawisze, przejdź do /etc /sysctl.plik CONF i ustaw jądro.SYSRQ = 1. Lub ustaw jądro.SYSRQ = 1 Korzystając z następującego polecenia.

Ubuntu@ubuntu: ~ $ sudo echo "1">/proc/sys/jądro/sysrq

W większości klawiatur SYSRQ jest kluczem „prtsc”.

Naciśnij Alt+SysRQ+F z interfejsu tekstowego, aby zabić proces z najwyższym wynikiem OOM. Naciśnij te klawiszy, dopóki system nie powróci do normalnego stanu użytecznego.

Obciążenie procesora

Wyżej wymyślone techniki mogą również sprawdzać i naprawić proces zużywając nadmierne zasoby procesora i pozbawiając system jego funkcjonalności. Jednak Linux oferuje inną metodę ograniczającą procesy systemowe od zasobów procesora.

Renice proces

Użyj polecenia górnego, aby uzyskać wszystkie szczegóły i odnotować identyfikator procesu (PID), żądając większej liczby zasobów procesora. Wpisz następujące polecenie, które ustawia doskonałą wartość od -20 do 19, i.mi., Im wyższa wartość, tym niższy proces dostępu dostaje się do procesora.

Ubuntu@ubuntu: ~ $ fajne +18 pid

Lub zauważ wartość NI (ładna) PID. Dla niskiej wartości Ni zmniejsz uprawnienia do dostępu do procesora tego konkretnego procesu, cofając doskonałą wartość za pomocą polecenia Renice:

Ubuntu@ubuntu: ~ $ renice -n +18 pid

Wniosek

Artykuł obejmuje wszystkie niezbędne narzędzia Linux, aby umożliwić początkującym rozwiązywanie problemów z Linuksa istotne dla obciążenia systemowego, problemów ze sprzętem, grubem i sieciami.