Atviro kodo

GNU / Linux bendrasis trikčių šalinimo vadovas pradedantiesiems

GNU / Linux bendrasis trikčių šalinimo vadovas pradedantiesiems

Aparatinės įrangos problemų šalinimas

Paleidus branduolį, jis įkelia būtinas aparatinės įrangos tvarkykles ir modulius su visais pranešimais, kuriuose yra išsami aparatūros gedimo informacija. Tačiau pranešimai per greitai slenka aukštyn ir neįmanoma gerai išnagrinėti galimų aparatinės įrangos problemų. Tačiau pranešimai, rodomi per branduolio įkrovos procesą, įrašomi į branduolio žiedo buferį.

Kai sistema paleidžiama, naudokite dmesg komandą įrašyti šiuos pranešimus į pranešimas.txt failą.

[apsaugotas el. paštas]: ~ $ dmesg> / tmp / msg.txt
[apsaugotas el. paštas]: ~ $ mažiau / tmp / kernel_msg.txt

Išsaugotus pranešimus galima peržiūrėti vėliau arba nusiųsti kam nors, kad būtų galima derinti problemą.

Kitas būdas skaityti šiuos pranešimus yra patikrinti / var / log / dmesg arba / var / log / messages failus, jei jie yra.

Kai kurios „Linux“ sistemos, palaikančios „systemd“, šiuos pranešimus saugo „systemd“ žurnale. Naudoti journalctl komanda patikrinti branduolio pranešimus:

[apsaugotas el. paštas]: ~ $ journalctl -k | mažiau

Patikrinkite, ar nėra pranešimų, kuriuose nurodoma, kad nepavyko aparatūros funkcijų arba nepavyko įkelti tvarkyklių.

GRUB gelbėjimas

GRUB yra platintojų įdiegta programinė įranga, paleidžianti branduolio OS. Šiuo metu visuose „Linux“ paskirstymuose naudojama GRUB2 versija. Kartais gali būti, kad paleidus GRUB2 BIOS, ji patenka į „operacinės failų sistemos“ ar „nežinomos failų sistemos“ problemą.

Klaida rodo, kad GRUB negali rasti tinkamos operacinės sistemos, kad būtų galima įkelti ir rasti grub.cfg failas neteisingame skaidinyje. Taip atsitinka, kai vartotojas įdiegia „Windows“ po to, kai „Linux“ OS ir BIOS nustato diskus netinkama tvarka, nes „Windows“ paleidimo įkroviklį paleidžia „Master Boot Record“ (MBR).

Klaida atrodo taip:

klaida: nežinoma failų sistema.
grub gelbėjimas> _

Šiame skyriuje aptarsime du būdus, kaip atkurti paskirstymą iš „Grub Rescue“:

I METODAS

Įveskite ls komanda grub gelbėjimo terminale išvardyti visus diskus ir galimus skirsnius.

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

Pasirinkite skaidinį, kuriame yra įdiegtas paskirstymas. Paprastai jis įkeliamas iš pirmojo skaidinio; jei ne, jis pateikia klaidos pranešimą. Vykdykite šias komandas, norėdami ieškoti „grub“ konfigūracijos faile „grub2“ kataloge:

grub> ls (hd0, msdos1) /
grub> ls (hd0, msdos1) / grub2
prietaisą.žemėlapio šriftai.cfg grub.plg.1590068449.rpmsave grubenv i386-pc lokalė

Tipas nustatyti šaknį = (hd0, msdos1) paleisti sistemą. Dabar naudokite nustatyti priešdėlį komanda nustatyti kelią į „grub2“ katalogą. Tipas insmod normalu komanda paleisti sistemą iš naujo. Perkraukę atidarykite terminalą, kad atnaujintumėte GRUB.

[apsaugotas el. paštas]: ~ $ sudo update-grub

Paskutinis žingsnis yra įdiegti GRUB MBR („Master Boot Record“), kai „Windows“ inicijuoja įkrovos programą. Šiam žingsniui reikia įdiegti šakninį skaidinį / dev / sda1 / mnt kataloge.

[el. pašto saugoma]: ~ $ sudo mount / dev / sda1 / mnt
[apsaugotas el. paštas]: ~ $ sudo grub-install - root-directory = / mnt / / dev / sda

Gali nepavykti paleisti sistemos per insmod normalu komandą, kuri gali įvykti dėl nemalonios grub trūkstamos failų sistemos.konf failas. Norėdami išspręsti problemą, vartotojas turi paleisti sistemą į tiesioginį platinimo USB / kompaktinį diską. Aptarkime dar vieną idealią GRUB2 gelbėjimo techniką.

II METODAS

„Boot-Repair“ yra grafinis įrankis, kuris siūlo idealų sprendimą GRUB problemoms spręsti. Įkelkite į darbalaukį per tiesioginį nuimamą USB / kompaktinį diską. Įsitikinkite, kad įrenginys prijungtas prie interneto ir paspauskite „Ctrl“ + „Alt“ + T, kad atidarytumėte terminalą. Dabar įdiekite įkrovos taisymo įrankį:

[apsaugotas el. paštu]: ~ $ sudo add-apt-repository -y ppa: yannubuntu / boot-repair
[apsaugotas el. paštu]: ~ $ sudo apt-get update
[apsaugotas el. paštu]: ~ $ sudo apt-get install -y boot-repair && boot-repair

Vykdykite rekomenduojamas sistemos taisymo galimybes. Iš naujo paleiskite sistemą, kai „Boot Repair“ pritaikys visus pakeitimus. OS bus paleista įprastai.

Tinklo trikčių šalinimas

Paprastiems vartotojams tinklo ryšys atsiranda automatiškai, kai tik vartotojas prijungia Ethernet kabelį arba pateikia „Wi-Fi“ tinklo prisijungimo duomenis. Tačiau tinklo valdymas ir trikčių šalinimas yra svarbiausias užduočių rinkinys bet kuriam sistemos administratoriui. Taigi „Linux“ siūlo komandų eilutės įrankius valdymo ir ryšio problemoms spręsti.

Šiame skyriuje aptariame išeinančio ir gaunamo tinklo ryšio problemas ir aptariame „Linux“ įrankius, kad galėtume patogiai jiems išspręsti.

Išeinantys ryšiai

„Linux“ siūlo IP komanda kaip visapusiškas tinklo įrankis konfigūruoti tinklą ir išspręsti ryšio problemas. Jis manipuliuoja visais tinklo objektais, tokiais kaip IP adresai, maršrutai, nuorodos ir kt.

Prieš pradėdami naudokite IP komandą, norėdami peržiūrėti veikiančią tinklo sąsają.

[apsaugotas el. pašto adresas]: ~ $ ip addr show

Jei sąsajos nėra, patikrinkite, ar aparatinė įranga yra išjungta. Tačiau, jei jis veikia ir vis dar prijungtas prie pagrindinio kompiuterio, naudokite maršrutu komanda patikrinti pagrindinį kompiuterį.

[apsaugotas el. paštas]: ~ $ maršrutas

Numatytoji eilutė reiškia numatytąjį šliuzą (maršrutizatorių), prie kurio mašina pasiekia per veikiančią sąsajos kortelę. „Linux“ siūlo ping įrankis, skirtas patikrinti jūsų įrenginio ir maršrutizatoriaus ryšį.

[apsaugotas el. paštas]: ~ $ ping -c 5

Klaida rodo, kad maršrutizatorius nėra fiziškai prijungtas arba išjungtas. Tačiau, jei pingas yra sėkmingas, pabandykite pasiekti adresą už maršrutizatoriaus ribų, pavyzdžiui, visuotinį „Google“ DNS serverį 8.8.8.8.

[apsaugotas el. paštas]: ~ $ ping -c 5 8.8.8.8

Sėkmingas pingas rodo, kad problema kyla dėl pagrindinio kompiuterio pavadinimo į adresą. Sistemos naudojamas DNS serveris rankiniu būdu arba automatiškai pridedamas iš DHCP serverio, kai paleidžiama tinklo sąsaja. Išsamesnę informaciją (pavadinimus ir IP adresus) patikrinkite DNS serveryje iš / etc / solution.konf failas.

vardų serveris 192.168.11.12
vardų serveris 192.168.11.253

Pagrindinio kompiuterio pavadinimo problemas galime išspręsti taip:

Gali būti, kad serveris neveikia arba vartotojui priskiriamas neteisingas DNS serverio adresas. Atkreipkite dėmesį į vardų serveris adresai iš ryžtis.konf failą ir patikrinkite, ar jis pasiekiamas per ping komandą.

[el. pašto saugoma]: ~ $ ping -c 3 192.168.11.253

Norėdami patikrinti, ar DNS veikia, naudokite domeno informacijos groper (DIG) įrankį. Tai yra, patikrinkite, ar DNS serverio adresas 192.168.11.253 prieglobos serverio pavadinimą nustato IP adresu.

[apsaugotas el. paštas]: ~ $ dig @ 115.186.188.3 www.google.com

DNS serverio taisymas yra šiek tiek keblus. Jei tinklo valdytojas yra atsakingas už ryšio užduoties valdymą, jis pakeičia vardų serverio įrašus aplanke / etc / Resolue.konf failas. CD į katalogą / etc / sysconfig / network-scripts, kad pridėtumėte šią eilutę ifcfg faile, kad išspręstumėte problemą.

[apsaugotas el. paštu]: ~ $ sudo vim / etc / sysconfig / network-scripts / ifcfg
PEERDNS = ne
DNS1 =

Atskiros tinklo paslaugos atveju pridėkite eilutę PEERDNS = nėra.konf failas.

Gaunami ryšiai

„Linux“ sistemai, sukonfigūruotai kaip „Apache“ serveris, klientas turi pasiekti tinklo serverį. Jei klientas negali pasiekti serverio per žiniatinklio naršyklę, problemoms stebėti galite naudoti anksčiau aptartas ping, dig arba traceroute komandas iš serverio ribų. Kai kurie kiti būdai šalinti gaunamus ryšius yra šie:

Naudokite nmap patikrinti paslaugos prieinamumą per atvirus serverio prievadus. Norėdami patikrinti atidarytus prievadus, naudokite komandą nmap su pagrindinio kompiuterio vardu / IP adresu.

[apsaugotas el. paštas]: ~ $ nmap

Atviras prievadas 80/443 STATE rodo, kad tinklo ryšys yra tinkamas. Jei ne, užkarda nepriima paketų iš tų prievadų. Be to, ji nėra filtruojama ir būsena uždaryta, o tai reiškia, kad paslauga nėra tinkamai sukonfigūruota arba ji neklauso 80/443 prievadų.

Jei sistema naudoja ufw ir nustato numatytąją užkardos politiką, ji blokuos kiekvieną gaunamą ryšį. Nustatykite ugniasienę, kad klientai galėtų pasiekti TCP 80/443 prievadus:

[apsaugotas el. paštas]: ~ $ sudo ufw leisti 80
[apsaugotas el. paštas]: ~ $ sudo ufw allow 443

Jei jis vis tiek blokuoja gaunamus ryšius, naudokite sudo ufw būsena komanda ieškoti uždraustų kompiuterių ir pasiekti juos per šią komandą.

[apsaugotas el. paštas]: ~ $ sudo ufw leisti iš

Jei įgalinta prieiga prie 80/443 prievadų ir visi įeinantys tinklai gali pasiekti serverį. Laikas patikrinti serverio būseną:

[apsaugotas el. paštas]: ~ $ sudo systemctl status httpd

Galiausiai patikrinkite, ar serveris klausosi tinkamų sąsajų ir prievadų. Taigi, tokioms paslaugoms kaip httpd, kurios klauso sąsajų užklausų. Redaguokite pagrindinį konfigūracijos failą, kad tarnyba galėtų klausytis konkretaus adreso ar visų adresų 80 prievade.

[apsaugotas el. pašto adresas]: ~ $ sudo cd / etc / httpd / conf / httpd.konf
Klausyk 80
Klausyk 192.168.11.10:80

Sistemos apkrovos trikčių šalinimas

„Linux“ komplekte yra daugybė komunalinių paslaugų, kurios stebi sistemos veiklą ir išsiaiškina problemas, neturinčias aiškių priežasčių. Tai reiškia, kad sistema veikia puikiai, tačiau pradeda lėtėti ir pradeda gesti programas. Šie įvairūs „Linux“ įrankiai padeda išsiaiškinti procesus, kurie sunaudoja atminties išteklius ir išeikvoja mašiną iš vietos diske, procesorius ir tinklo pralaidumą.

Kai kurios sistemos nestabilumo priežastys yra ribotas pajėgumas, t.e., mažai atminties, vietos diske, tinklo talpos ir apdorojimo galios su netinkamai sukonfigūruotomis programomis. Tačiau komunalinės paslaugos siūlo būdus, kaip valdyti, manipuliuoti ir išspręsti tokias problemas. Išspręskime ribotą atminties ir per didelio procesoriaus suvartojimo problemas.

Atminties naudojimas

Paleiskite viršuje komanda su kapitalu M klasifikuoti proceso detales pagal atminties naudojimą. Komandos išvestis pateikia bendrą informaciją, po kurios eina RAM, apsikeitimo vieta ir procesoriaus suvartojimas. Jei atrodo, kad sistemoje nėra atminties (OOM) vietos, ieškokite šių dalykų:

  • Atkreipkite dėmesį į laisvą vietą Mem eilutėje: ji turi būti lygi nuliui arba netoli jos.
  • Patikrinkite naudojamą apsikeitimo vietą: ji neturi būti lygi nuliui arba auga.
  • Kadangi viršuje komanda kas 5 sekundes pateikia informaciją iš naujo, ieškokite proceso su atminties nuotėkiu, tai yra, patikrinkite, ar RES atmintis toliau auga.
  • Branduolys pradeda naikinti procesą, kai baigsis apsikeitimo vieta.

Galimas tokių problemų šalinimo būdas yra:

Proceso nužudymas

Komanda „kill“ siunčia signalą „kill“, kad užbaigtų procesą. Dažniausiai naudojami signalai, skirti pašalinti atminties problemas, yra SIGKILL ir SIGTERM. Tačiau skirtingi procesai skirtingai reaguoja į signalus.

Pavyzdžiui, atkreipkite dėmesį į PID ir naudokite nužudyti komandą siųsti signalą SIGTERM.

[apsaugotas el. paštas]: ~ $ kill -15 PID

Signalu SIGTERM / -15 siekiama nutraukti procesą, tačiau kartais jis proceso neužmuša. Taigi tam gali prireikti SIGKILL / -9 signalo, kad procesas būtų nedelsiant užmuštas.

[apsaugotas el. pašto adresas]: ~ $ kill -SIGKILL PID

„Drop“ puslapio talpyklos

Norėdami išvalyti momentinę atmintį, išmeskite neaktyvius talpyklos puslapius. Nuleisdami talpykloje esančius puslapius, įrašykite kelis atminties puslapius į diską, nes sistema gali norėti jį atgauti vėliau, o likusius išmesti.

Palikite viršutinę komandą veikiančią terminale ir paleiskite nurodytą komandą kitame terminale, kad galėtumėte peržiūrėti MEM eilutės keitimą:

[apsaugotas el. paštas]: ~ $ echo 3> / proc / sys / vm / drop_cache

Naudokite klavišus Alt + SysRq

Dėl atminties išsekimo GUI ar apvalkalas kartais gali visiškai nereaguoti. Pagal šį scenarijų nereaguojančioje sistemoje reikia naudoti klavišus Alt + SysRq. Toks, kad branduolys apdoroja savo užklausą prieš bet kurį kitą procesą.

Vykdykite šią komandą, kad patikrintumėte, ar ji įgalinta:

[apsaugotas el. paštas]: ~ $ cat / proc / sys / kernel / sysrq
076

„0“ reikšmė rodo, kad klavišo paspaudimas neįjungtas. Norėdami įjungti šį klavišo paspaudimą, eikite į / etc / sysctl.konf failą ir nustatykite branduolys.sysrq = 1. Arba nustatykite branduolys.sysrq = 1 naudojant šią komandą.

[apsaugotas el. paštas]: ~ $ sudo echo "1"> / proc / sys / kernel / sysrq

Daugumoje klaviatūrų „SysRq“ yra „PrtSc“ raktas.

Paspauskite Alt + SysRq + f iš tekstinės sąsajos, kad užmuštumėte procesą su didžiausiu OOM balu. Toliau spauskite šiuos klavišų paspaudimus, kol sistema grįš į įprastą naudingą būseną.

Procesoriaus apkrova

Aukščiau aptarti metodai taip pat gali patikrinti ir ištaisyti procesą, kuris sunaudoja per didelius procesoriaus išteklius ir atima sistemos funkcionalumą. Tačiau „Linux“ siūlo dar vieną metodą, kuris riboja sistemos procesus nuo procesoriaus išteklių tiekimo.

Atnaujinkite procesą

Naudokite komandą „top“, kad gautumėte visą informaciją ir atkreiptumėte dėmesį į proceso ID (PID), reikalaujant daugiau procesoriaus išteklių. Įveskite šią komandą, nustatančią puikią vertę nuo -20 iki 19, t.e., kuo didesnė vertė, tuo mažesnis prieigos procesas patenka į procesorių.

[apsaugotas el. paštas]: ~ $ nice +18 PID

Arba atkreipkite dėmesį į NID (gražią) PID vertę. Norėdami gauti mažą NI vertę, sumažinkite to proceso procesoriaus prieigos teises, atšaukdami puikią vertę naudodami komandą renice:

[apsaugotas el. paštas]: ~ $ renice -n +18 PID

Išvada

Straipsnyje pateikiamos visos būtinos „Linux“ komunalinės paslaugos, kad pradedantieji galėtų išspręsti „Linux“ problemas, susijusias su sistemos apkrova, aparatūros problemomis, GRUB ir tinklais.

Geriausi „Linux“ žaidimų konsolių emuliatoriai
Šiame straipsnyje bus išvardyta populiari žaidimų konsolių emuliavimo programinė įranga, skirta „Linux“. „Emuliacija“ yra programinės įrangos suderina...
Geriausi „Linux“ žaidimų distristai 2021 m
„Linux“ operacinė sistema nuėjo ilgą kelią nuo originalios, paprastos, serverio išvaizdos. Ši OS pastaraisiais metais nepaprastai patobulėjo ir dabar ...
Kaip užfiksuoti ir perduoti savo žaidimų sesiją sistemoje „Linux“
Anksčiau žaidimai buvo laikomi tik pomėgiu, tačiau laikui bėgant lošimų pramonė labai augo technologijų ir žaidėjų skaičiaus atžvilgiu. Žaidimų audito...