Guida alla risoluzione dei problemi generali GNU/Linux per principianti

Guida alla risoluzione dei problemi generali GNU/Linux per principianti

Risolvere i problemi hardware

All'inizio del kernel, carica i driver e i moduli hardware necessari con tutti i messaggi che includono i dettagli di errore hardware. Ma i messaggi scorrono troppo in fretta ed è impossibile dare una buona occhiata ai potenziali problemi hardware. Tuttavia, i messaggi visualizzati durante il processo di avvio del kernel vengono salvati nel buffer ad anello del kernel.

Mentre il sistema si avvia, usa il dmesg comanda di scrivere questi messaggi in un MSG.TXT file.

ubuntu@ubuntu: ~ $ dmesg> /tmp /msg.TXT
ubuntu@ubuntu: ~ $ less /tmp /kernel_msg.TXT

I messaggi salvati possono essere rivisti in seguito o inviati a qualcuno per eseguire il debug del problema.

Un altro modo per leggere questi messaggi è controllare i file/var/log/dmesg o/var/log/messaggi se esistono.

Alcuni sistemi Linux che supportano SystemD archiviano questi messaggi nel journal Systemd. Usa il Journalctl comando per controllare i messaggi del kernel:

ubuntu@ubuntu: ~ $ journalctl -k | meno

Controlla i messaggi che indicano il fallimento delle funzionalità hardware o non caricano i driver.

Grub Rescue

Grub è un programma software installato da distribuzioni che avvia il sistema operativo basato sul kernel. Attualmente, tutte le distribuzioni Linux utilizzano la versione Grub2. A volte è possibile che quando il BIOS avvia il Grub2, atterra nel problema di NO "file system operativo" o "file system sconosciuto".

L'errore suggerisce che il Grub non è in grado di trovare il giusto sistema operativo per caricare e individuare la grub.File CFG nella partizione sbagliata. Ciò accade quando l'utente installa Windows dopo che Linux OS e BIOS identifica i dischi nell'ordine sbagliato, poiché Windows avvia il suo bootloader sul record di avvio master (MBR).

L'errore appare così:

Errore: filesystem sconosciuto.
Grub Rescue> _

In questa sezione, discuteremo di due modi per recuperare la distribuzione dal salvataggio di Grub:

Metodo I

Inserisci il ls Comando nel terminal di salvataggio di Grub per elencare tutte le partizioni disponibili.

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

Seleziona la partizione che contiene la distribuzione installata. Generalmente, viene avviato dalla prima partizione; In caso contrario, emette un messaggio di errore. Esegui i seguenti comandi per cercare il file di configurazione GRUB nella directory Grub2:

GRUB> LS (HD0, MSDOS1)/
GRUB> LS (HD0, MSDOS1)/GRUB2
dispositivo.Fonts map Grub.cfg grub.cfg.1590068449.RPMSAVE GRUBENV I386-PC locale

Tipo Imposta root = (hd0, msdos1) Per avviare il sistema. Ora usa il Imposta il prefisso comanda di definire il percorso della directory Grub2. Tipo insmod normale comanda di riavviare il sistema. Dopo il riavvio, aprire il terminale per aggiornare Grub.

ubuntu@ubuntu: ~ $ sudo update-grub

L'ultimo passaggio è installare GRUB su MBR (record di avvio master) poiché Windows avvia il suo bootloader su di esso. Questo passaggio richiede il montaggio della partizione root /dev /sda1 nella directory /mnt.

ubuntu@ubuntu: ~ $ sudo monte /dev /sda1 /mnt
ubuntu@ubuntu: ~ $ sudo grub-install--root-directory =/mnt//dev/sda

Il sistema potrebbe non avviare il insmod normale comando, che può accadere a causa di un file pessimo di Grub mancante.Conf File. Il problema richiede all'utente di avviare il sistema tramite un USB/CD live della distribuzione. Discutiamo di un'altra tecnica ideale per salvare Grub2.

Metodo II

Boot-Repair è uno strumento grafico che offre una soluzione ideale per i problemi di grub. Avvia sul desktop tramite un USB/CD rimovibile dal vivo. Assicurarsi che il dispositivo sia connesso a Internet e premi Ctrl+Alt+T per aprire il terminale. Ora installa lo strumento di riparazione dell'avvio:

ubuntu@ubuntu: ~ $ sudo add-apt-repository -y ppa: yannubuntu/boot-ripair
ubuntu@ubuntu: ~ $ sudo apt-get update
ubuntu@ubuntu: ~ $ sudo apt-get install -y boot-ripair && boot-ripair

Seguire le opzioni consigliate per riparare il sistema. Riavvia il sistema dopo la riparazione di avvio applica tutte le modifiche. Il sistema operativo si avvia normalmente.

Risoluzione dei problemi di rete

Per gli utenti regolari, la connettività di rete si verifica automaticamente non appena l'utente collega il cavo Ethernet o fornisce credenziali di accesso per una rete Wi-Fi. Tuttavia, la gestione della rete e la risoluzione dei problemi sono un insieme cruciale di attività per qualsiasi amministratore di sistema. Quindi, Linux offre strumenti di riga di comando per affrontare i problemi di gestione e connettività.

In questa sezione, discutiamo di problemi di connessione di rete in uscita e in arrivo e copriamo strumenti Linux per fornire soluzioni in modo conveniente.

Connessioni in uscita

Offerte Linux IP Comando come utilità di rete a tutto tondo per configurare la rete e risolvere i problemi di connettività. Manipola tutti gli oggetti di rete come indirizzi IP, percorsi e collegamenti, ecc.

Prima di iniziare, utilizzare il file IP comanda per visualizzare l'interfaccia di rete di lavoro.

ubuntu@ubuntu: ~ $ ip addr

In caso di interfaccia disponibile, controlla se l'hardware è disabilitato. Tuttavia, se è sveglio e ancora connesso all'host, usa il itinerario comando per controllare l'host.

ubuntu@ubuntu: ~ $ rotta

La riga predefinita rappresenta il gateway predefinito (router) accessibile dalla macchina tramite una scheda di interfaccia funzionante. Offerte Linux ping Utilità per testare la connettività tra il dispositivo e il router.

ubuntu@ubuntu: ~ $ ping -c 5

L'errore suggerisce che il router è fisicamente non collegato o spento. Tuttavia, se il ping ha esito positivo, prova a raggiungere un indirizzo oltre il router, ad esempio, Global Google DNS Server 8.8.8.8.

ubuntu@ubuntu: ~ $ ping -c 5 8.8.8.8

Un ping di successo suggerisce che il problema è con la risoluzione del nome di host-to-indirizzo. Il server DNS utilizzato dal sistema viene aggiunto manualmente o automaticamente dal server DHCP quando l'interfaccia di rete inizia. Controlla i dettagli (nomi e indirizzi IP) del server DNS da /etc /risolve.Conf File.

Nameserver 192.168.11.12
Nameserver 192.168.11.253

Possiamo risolvere i problemi di nome host come segue:

È possibile che il server sia inattivo o che all'utente sia assegnato l'indirizzo del server DNS sbagliato. Notare la nameserver indirizzi dal risolvere.conf File e controlla se è accessibile tramite un comando ping.

ubuntu@ubuntu: ~ $ ping -c 3 192.168.11.253

Utilizzare l'utilità delle informazioni del dominio (Dig) per verificare se il DNS funziona. Cioè, controlla se l'indirizzo del server DNS 192.168.11.253 risolve il nome host in un indirizzo IP.

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

La correzione di un server DNS è un po 'complicato. Se il Gestione Network è responsabile della gestione dell'attività di connettività, sovrascrive le voci di nameserver in /etc /risolve.Conf File. CD nella directory/ecc/sysconfig/network-scripts per aggiungere la seguente riga nel file IFCFG per risolvere il problema.

ubuntu@ubuntu: ~ $ sudo vim/etc/sysconfig/network-scripts/ifcfg
Peerdns = no
Dns1 =

Nel caso di un servizio di rete separato, aggiungi peerdns = nessuna riga da risolvere.Conf File.

Connessioni in arrivo

Per un sistema Linux configurato come un server Apache, il WebServer deve accedere dal client. Se il client non è in grado di raggiungere il server tramite un browser Web, è possibile utilizzare i comandi Ping, Dig o Traceroute sopra distinti dall'esterno del server per tracciare i problemi. Alcuni degli altri modi per risolvere le connessioni in arrivo includono:

Utilizzo nmap Per verificare la disponibilità del servizio tramite porte aperte sul server. Utilizzare il comando NMAP con il nome host/indirizzo IP per ispezionare le porte aperte.

ubuntu@ubuntu: ~ $ nmap

Lo stato della porta aperta 80/443 suggerisce che la connettività di rete va bene. In caso contrario, il firewall non accetta pacchetti da quelle porte. Inoltre, non è filtrato e lo stato è chiuso, il che significa che il servizio non è configurato correttamente o non sta ascoltando su porte 80/443.

Se il sistema utilizza ufw e imposta sulla politica di firewall predefinita, bloccerà ogni connessione in arrivo. Imposta il firewall per abilitare l'accesso ai clienti alle porte TCP 80/443:

ubuntu@ubuntu: ~ $ sudo ufw consenti 80
ubuntu@ubuntu: ~ $ sudo ufw consente 443

Se sta ancora bloccando le connessioni in arrivo, usa il sudo ufw status comanda di cercare gli host negati e accedervi tramite il seguente comando.

ubuntu@ubuntu: ~ $ sudo ufw

Se l'accesso alle porte 80/443 è abilitato e tutte le reti in arrivo possono accedere al server. È ora di controllare lo stato del server:

ubuntu@ubuntu: ~ $ sudo systemctl status httpd

Infine, controlla se il server sta ascoltando interfacce e porte adeguate. Quindi, per i servizi come HTTPD che ascoltano le richieste sulle interfacce. Modifica il file di configurazione principale per abilitare il servizio per ascoltare sulla porta 80 per un indirizzo specifico o tutti gli indirizzi.

ubuntu@ubuntu: ~ $ sudo cd/etc/httpd/conf/httpd.conf
Ascolta 80
Ascolta 192.168.11.10:80

Risolvere il carico del sistema

Linux viene fornito con molte utility che guardano le attività del sistema e scoprono problemi che non hanno ragioni evidenti. Cioè, il sistema funziona tutto bene ma inizia a rallentare e inizia a crash applicazioni. Queste varie utility Linux aiutano a scoprire i processi che consumano risorse di memoria e drenando la macchina del suo spazio su disco, processori e larghezza di banda di rete.

Alcuni dei motivi alla base dell'instabilità del sistema includono una capacità limitata, i.e., MEMORIA LASSA, SPAZIO DI DISK, CAPAZIONE DELLA STESSO E POTENZA DI ELAMBINA. Tuttavia, le utility offrono modi per gestire, manipolare e risolvere tali problemi. Risoluiamo la memoria limitata e i problemi di consumo della CPU eccessivi.

Utilizzo della memoria

Corri il superiore comando con capitale M Per classificare i dettagli del processo per utilizzo della memoria. L'output del comando produce informazioni generali seguite da RAM, spazio di scambio e consumo della CPU. Se sembra che il sistema sia fuori memoria (OOM), cerca queste cose:

  • Notare lo spazio libero nella linea MEM: deve essere zero o vicino ad esso.
  • Controlla lo spazio di scambio usato: deve essere diverso da zero o in crescita.
  • Dal superiore comanda le informazioni in redisplay ogni 5 secondi, cerca il processo con una perdita di memoria, cioè controlla se la memoria RES continua a crescere.
  • Il kernel inizia a uccidere il processo quando lo spazio di scambio si esaurisce.

Il modo possibile per risolvere tali problemi è:

Uccidere il processo

Il comando Kill invia un segnale di uccisione per terminare un processo. I segnali più comunemente usati per risolvere i problemi fuori memoria sono Sigkill e Sigterm. Tuttavia, diversi processi rispondono in modo diverso ai segnali.

Ad esempio, nota il PID e usa il uccisione comando per inviare il segnale di sigterm.

ubuntu@ubuntu: ~ $ kill -15 pid

Il segnale Sigterm/-15 mira a interrompere il processo, ma occasionalmente non uccide il processo. Quindi, ciò può richiedere il segnale Sigkill/-9 per uccidere immediatamente il processo.

ubuntu@ubuntu: ~ $ kill -sigkill pid

Cache di drop page

Per pulire la memoria per il momento, rilasciare pagine cache inattive. Lanciando le pagine cache, scrivi alcune pagine di memoria sul disco poiché il sistema potrebbe voler recuperarlo in seguito mentre scarta il resto.

Lascia il comando in alto in esecuzione nel terminale ed esegui il comando dato in un altro terminale per visualizzare la riga di MEM:

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

Usa il tasto Alt+Sysrq

L'esaurimento della memoria a volte può rendere la GUI o il guscio completamente non rispondente. Questo scenario richiede l'uso del tasto di alt+sysrq su un sistema non rispondente. In modo tale che il kernel elasse la sua richiesta prima di qualsiasi altro processo.

Esegui il comando seguente per verificare se è abilitato:

ubuntu@ubuntu: ~ $ cat/proc/sys/kernel/sysrq
076

Il valore '0' mostra che la tastiera non è abilitata. Per abilitare questo tasto, vai a /etc /sysctl.conf file e impostare il file kernel.sysrq = 1. O impostare kernel.sysrq = 1 Usando il seguente comando.

ubuntu@ubuntu: ~ $ sudo echo "1">/proc/sys/kernel/sysrq

Nella maggior parte delle tastiere, il SYSRQ è una chiave "PRTSC".

Premere Alt+Sysrq+F dall'interfaccia basata sul testo per uccidere il processo con il punteggio OOM più alto. Continua a premere questi tasti fino a quando il sistema non ritorna al suo normale stato utilizzabile.

Carico CPU

Le tecniche sopra discusse possono anche verificare e correggere il processo che consuma risorse CPU eccessive e privando il sistema della sua funzionalità. Tuttavia, Linux offre un altro metodo che limita i processi di sistema dall'alimentazione delle risorse della CPU.

Renice il processo

Utilizzare il comando superiore per fornire tutti i dettagli e notare l'ID processo (PID) che richiede più risorse CPU. Digita il seguente comando che imposta l'eccellente valore tra -20 a 19, i.e., Maggiore è il valore, più basso è il processo di accesso arriva alla CPU.

ubuntu@ubuntu: ~ $ nice +18 pid

O notare il valore Ni (bel) del PID. Per un valore NI basso, diminuire i privilegi di accesso alla CPU di quel particolare processo revocando l'eccellente valore usando il comando Renice:

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

Conclusione

L'articolo copre tutte le utility Linux necessarie per consentire ai principianti di risolvere i problemi di Linux rilevanti per il carico di sistema, i problemi hardware, Grub e Networking.