Fuente abierta

Guía general de resolución de problemas de GNU / Linux para principiantes

Guía general de resolución de problemas de GNU / Linux para principiantes

Solucionar problemas de hardware

Cuando el kernel se inicia, carga los controladores y módulos de hardware necesarios con todos los mensajes que incluyen detalles de fallas de hardware. Pero los mensajes se desplazan hacia arriba demasiado rápido y es imposible ver bien los posibles problemas de hardware. Sin embargo, los mensajes que se muestran durante el proceso de arranque del kernel se guardan en el búfer de anillo del kernel.

A medida que se inicia el sistema, utilice el dmesg comando para escribir estos mensajes en un msg.TXT expediente.

[correo electrónico protegido]: ~ $ dmesg> / tmp / msg.TXT
[correo electrónico protegido]: ~ $ menos / tmp / kernel_msg.TXT

Los mensajes guardados pueden revisarse más tarde o enviarse a alguien para que solucione el problema.

Otra forma de leer estos mensajes es verificar los archivos / var / log / dmesg o / var / log / messages si existen.

Algunos sistemas Linux que admiten systemd almacenan estos mensajes en el diario systemd. Utilizar el journalctl comando para verificar los mensajes del kernel:

[correo electrónico protegido]: ~ $ journalctl -k | menos

Verifique los mensajes que indican la falla de las funciones de hardware o no se pudieron cargar los controladores.

Sistema de arranque

GRUB es un programa de software instalado por distribuciones que arranca el sistema operativo basado en kernel. Actualmente, todas las distribuciones de Linux utilizan la versión GRUB2. A veces es posible que cuando el BIOS inicia GRUB2, se encuentre con el problema de que no hay "sistema de archivos operativo" o "sistema de archivos desconocido".

El error sugiere que GRUB no puede encontrar el sistema operativo correcto para cargar y ubicar el grub.cfg archivo en la partición incorrecta. Esto sucede cuando el usuario instala Windows después de que el sistema operativo Linux y el BIOS identifican los discos en el orden incorrecto, ya que Windows inicia su cargador de arranque en Master Boot Record (MBR).

El error aparece así:

error: sistema de archivos desconocido.
rescate de larvas> _

En esta sección, discutiremos dos formas de recuperar la distribución de Grub Rescue:

MÉTODO I

Introducir el ls comando en el terminal de rescate de grub para enumerar todas las unidades y particiones disponibles.

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

Seleccione la partición que contiene la distribución instalada. Generalmente, se inicia desde la primera partición; si no, emite un mensaje de error. Ejecute los siguientes comandos para buscar el archivo de configuración de grub en el directorio grub2:

grub> ls (hd0, msdos1) /
grub> ls (hd0, msdos1) / grub2
dispositivo.fuentes del mapa grub.cfg grub.cfg.1590068449.rpmsave configuración regional de grubenv i386-pc

Tipo establecer raíz = (hd0, msdos1) para arrancar el sistema. Ahora usa el establecer prefijo comando para definir la ruta al directorio grub2. Tipo insmod normal comando para reiniciar el sistema. Después de reiniciar, abra la terminal para actualizar GRUB.

[correo electrónico protegido]: ~ $ sudo update-grub

El último paso es instalar GRUB en MBR (Master Boot Record) cuando Windows inicia su cargador de arranque en él. Este paso requiere montar la partición raíz / dev / sda1 en el directorio / mnt.

[correo electrónico protegido]: ~ $ sudo mount / dev / sda1 / mnt
[correo electrónico protegido]: ~ $ sudo grub-install - directorio-raíz = / mnt / / dev / sda

Es posible que el sistema no arranque a través del insmod normal comando, que puede suceder debido a un pésimo sistema de archivos de grub faltante.conf archivo. El problema requiere que el usuario inicie el sistema a través de un USB / CD en vivo de la distribución. Analicemos otra técnica ideal para rescatar GRUB2.

MÉTODO II

Boot-Repair es una herramienta gráfica que ofrece una solución ideal para los problemas de GRUB. Inicie en el escritorio a través de un USB / CD extraíble en vivo. Asegúrese de que el dispositivo esté conectado a Internet y presione Ctrl + Alt + T para abrir la terminal. Ahora instale la herramienta de reparación de arranque:

[correo electrónico protegido]: ~ $ sudo add-apt-repository -y ppa: yannubuntu / boot-repair
[correo electrónico protegido]: ~ $ sudo apt-get update
[correo electrónico protegido]: ~ $ sudo apt-get install -y boot-repair && boot-repair

Siga las opciones recomendadas para reparar el sistema. Reinicie su sistema después de que Boot Repair aplique todos los cambios. El sistema operativo se iniciará normalmente.

Solución de problemas de red

Para los usuarios habituales, la conectividad de red se produce automáticamente tan pronto como el usuario conecta el cable Ethernet o proporciona las credenciales de inicio de sesión para una red Wi-Fi. Sin embargo, la gestión de la red y la resolución de problemas son un conjunto de tareas crucial para cualquier administrador de sistemas. Por lo tanto, Linux ofrece herramientas de línea de comandos para lidiar con problemas de administración y conectividad.

En esta sección, discutimos los problemas de conexión de red entrantes y salientes y cubrimos las herramientas de Linux para brindarles soluciones de una manera conveniente.

Conexiones salientes

Ofertas de Linux IP comando como una utilidad de red integral para configurar la red y resolver problemas de conectividad. Manipula todos los objetos de la red, como direcciones IP, rutas y enlaces, etc.

Antes de comenzar, use el IP comando para ver la interfaz de red de trabajo.

[correo electrónico protegido]: ~ $ ip addr show

En caso de que no haya una interfaz disponible, verifique si el hardware está deshabilitado. Sin embargo, si está activo y todavía conectado al host, use el ruta comando para verificar el host.

[correo electrónico protegido]: ~ $ ruta

La línea predeterminada representa la puerta de enlace predeterminada (enrutador) a la que accede la máquina a través de una tarjeta de interfaz de trabajo. Ofertas de Linux silbido utilidad para probar la conectividad entre su dispositivo y el enrutador.

[correo electrónico protegido]: ~ $ ping -c 5

El error sugiere que el enrutador no está físicamente conectado o apagado. Sin embargo, si el ping tiene éxito, intente alcanzar una dirección más allá del enrutador, por ejemplo, el servidor DNS global de Google 8.8.8.8.

[correo electrónico protegido]: ~ $ ping -c 5 8.8.8.8

Un ping exitoso sugiere que el problema está en la resolución del nombre de host a la dirección. El servidor DNS utilizado por el sistema se agrega de forma manual o automática desde el servidor DHCP cuando se inicia la interfaz de red. Verifique los detalles (nombres y direcciones IP) del servidor DNS en / etc / resolve.conf archivo.

servidor de nombres 192.168.11.12
servidor de nombres 192.168.11.253

Podemos resolver los problemas del nombre de host de la siguiente manera:

Es posible que el servidor esté inactivo o que al usuario se le asigne una dirección de servidor DNS incorrecta. Nota la nombre del servidor direcciones de la resolver.conf archivo y verifique si es accesible a través de un comando ping.

[correo electrónico protegido]: ~ $ ping -c 3 192.168.11.253

Use la utilidad Domain Information groper (DIG) para verificar si el DNS está funcionando. Es decir, compruebe si la dirección del servidor DNS 192.168.11.253 resuelve el nombre de host en una dirección IP.

[correo electrónico protegido]: ~ $ dig @ 115.186.188.3 www.Google.com

Corregir un servidor DNS es un poco complicado. Si Network Manager es responsable de administrar la tarea de conectividad, anula las entradas del servidor de nombres en / etc / resolve.conf archivo. Cd en el directorio / etc / sysconfig / network-scripts para agregar la siguiente línea en el archivo ifcfg para resolver el problema.

[correo electrónico protegido]: ~ $ sudo vim / etc / sysconfig / network-scripts / ifcfg
PEERDNS = no
DNS1 =

En el caso de un servicio de red separado, agregue PEERDNS = no hay línea para resolver.conf archivo.

Conexiones entrantes

Para un sistema Linux configurado como servidor Apache, el cliente debe acceder al servidor web. Si el cliente no puede comunicarse con el servidor a través de un navegador web, puede usar los comandos ping, dig o traceroute discutidos anteriormente desde fuera del servidor para rastrear problemas. Algunas de las otras formas de solucionar problemas de conexiones entrantes incluyen:

Usar nmap para verificar la disponibilidad del servicio a través de puertos abiertos en el servidor. Utilice el comando nmap con el nombre de host / dirección IP para inspeccionar los puertos abiertos.

[correo electrónico protegido]: ~ $ nmap

El puerto abierto 80/443 STATE sugiere que la conectividad de la red está bien. De lo contrario, el cortafuegos no acepta paquetes de esos puertos. Además, no está filtrado y el estado está cerrado, lo que significa que el servicio no está configurado correctamente o no está escuchando en los puertos 80/443.

Si el sistema usa ufw y se establece en la política de firewall predeterminada, bloqueará todas las conexiones entrantes. Configure el firewall para permitir que los clientes accedan a los puertos tcp 80/443:

[correo electrónico protegido]: ~ $ sudo ufw allow 80
[correo electrónico protegido]: ~ $ sudo ufw allow 443

Si sigue bloqueando las conexiones entrantes, utilice el estado de sudo ufw comando para buscar los hosts denegados y acceder a ellos a través del siguiente comando.

[correo electrónico protegido]: ~ $ sudo ufw allow from

Si el acceso a los puertos 80/443 está habilitado y todas las redes entrantes pueden acceder al servidor. Es hora de comprobar el estado del servidor:

[correo electrónico protegido]: ~ $ sudo systemctl status httpd

Por último, compruebe si el servidor está escuchando interfaces y puertos adecuados. Por lo tanto, para los servicios como httpd que escuchan solicitudes en interfaces. Edite el archivo de configuración principal para permitir que el servicio escuche en el puerto 80 una dirección específica o todas las direcciones.

[correo electrónico protegido]: ~ $ sudo cd / etc / httpd / conf / httpd.conf
Escuchar 80
Escuchar 192.168.11.10:80

Solucionar problemas de carga del sistema

Linux viene con muchas utilidades que vigilan las actividades del sistema y resuelven problemas que no tienen razones aparentes. Es decir, el sistema está funcionando bien, pero comienza a ralentizarse y a fallar las aplicaciones. Estas diversas utilidades de Linux ayudan a descubrir procesos que consumen recursos de memoria y agotan el espacio en disco, los procesadores y el ancho de banda de la red de la máquina.

Algunas de las razones detrás de la inestabilidad del sistema incluyen capacidad limitada, i.mi., poca memoria, espacio en disco, capacidad de red y potencia de procesamiento, con aplicaciones mal configuradas. Sin embargo, las utilidades ofrecen formas de administrar, manipular y solucionar estos problemas. Solucionemos problemas de memoria limitada y consumo excesivo de CPU.

Uso de memoria

Ejecutar el cima comando con capital METRO para clasificar los detalles del proceso por uso de memoria. La salida del comando proporciona información general seguida de la RAM, el espacio de intercambio y el consumo de CPU. Si parece que el sistema tiene espacio sin memoria (OOM), busque estas cosas:

  • Observe el espacio libre en la línea Mem: debe ser cero o cerca de él.
  • Compruebe el espacio de intercambio utilizado: debe ser distinto de cero o estar creciendo.
  • Desde el cima comando vuelve a mostrar información cada 5 segundos, busque el proceso con una fuga de memoria, es decir, verifique si la memoria RES sigue creciendo.
  • El kernel comienza a matar el proceso cuando se agota el espacio de intercambio.

La forma posible de solucionar estos problemas es:

Matar el proceso

El comando kill envía una señal de kill para finalizar un proceso. Las señales más utilizadas para solucionar problemas de falta de memoria son SIGKILL y SIGTERM. Sin embargo, los diferentes procesos responden de manera diferente a las señales.

Por ejemplo, anote el PID y utilice el matar comando para enviar la señal SIGTERM.

[correo electrónico protegido]: ~ $ kill -15 PID

La señal SIGTERM / -15 tiene como objetivo terminar el proceso, pero ocasionalmente no lo mata. Por lo tanto, esto puede requerir la señal SIGKILL / -9 para detener el proceso de inmediato.

[correo electrónico protegido]: ~ $ kill -SIGKILL PID

Cachés de página de caída

Para limpiar la memoria por el momento, elimine las páginas de caché inactivas. Dejando caer las páginas en caché, escriba algunas páginas de memoria en el disco, ya que el sistema puede querer recuperarlas más tarde mientras descarta el resto.

Deje el comando superior ejecutándose en la terminal y ejecute el comando dado en otra terminal para ver el cambio de línea MEM:

[correo electrónico protegido]: ~ $ echo 3> / proc / sys / vm / drop_caches

Utilice Alt + Pulsación de tecla SysRq

El agotamiento de la memoria a veces puede hacer que la GUI o el shell no respondan por completo. Este escenario requiere el uso de la pulsación de tecla Alt + SysRq en un sistema que no responde. De tal manera que el kernel procesa su solicitud antes que cualquier otro proceso.

Ejecute el siguiente comando para verificar si está habilitado:

[correo electrónico protegido]: ~ $ cat / proc / sys / kernel / sysrq
076

El valor '0' muestra que la pulsación de tecla no está habilitada. Para habilitar esta pulsación de tecla, vaya a / etc / sysctl.conf archivo y establezca el núcleo.sysrq = 1. O establecer núcleo.sysrq = 1 usando el siguiente comando.

[correo electrónico protegido]: ~ $ sudo echo "1"> / proc / sys / kernel / sysrq

En la mayoría de los teclados, SysRq es una tecla 'PrtSc'.

Presione Alt + SysRq + f desde la interfaz basada en texto para finalizar el proceso con la puntuación OOM más alta. Siga presionando estas teclas hasta que el sistema vuelva a su estado normal de uso.

Carga de CPU

Las técnicas mencionadas anteriormente también pueden verificar y corregir el proceso que consume recursos de CPU excesivos y priva al sistema de su funcionalidad. Sin embargo, Linux ofrece otro método que limita que los procesos del sistema se alimenten de los recursos de la CPU.

Renice el proceso

Utilice el comando superior para obtener todos los detalles y anote el ID del proceso (PID) que solicita más recursos de CPU. Escriba el siguiente comando que establece el valor excelente entre -20 y 19, i.mi., cuanto mayor sea el valor, menor será el proceso de acceso a la CPU.

[correo electrónico protegido]: ~ $ nice +18 PID

O observe el valor NI (agradable) del PID. Para un valor de NI bajo, disminuya los privilegios de acceso a la CPU de ese proceso en particular revocando el valor excelente usando el comando renice:

[correo electrónico protegido]: ~ $ renice -n +18 PID

Conclusión

El artículo cubre todas las utilidades de Linux necesarias para permitir a los principiantes solucionar problemas de Linux relevantes para la carga del sistema, problemas de hardware, GRUB y redes.

Cómo usar Xdotool para estimular los clics del mouse y las pulsaciones de teclas en Linux
Xdotool es una herramienta de línea de comandos gratuita y de código abierto para simular clics del mouse y pulsaciones de teclas. Este artículo cubri...
Los 5 mejores productos ergonómicos de mouse de computadora para Linux
¿El uso prolongado de la computadora causa dolor en la muñeca o los dedos?? ¿Sufre de rigidez en las articulaciones y constantemente tiene que dar la ...
Cómo cambiar la configuración del mouse y el panel táctil con Xinput en Linux
La mayoría de las distribuciones de Linux se envían con la biblioteca "libinput" de forma predeterminada para manejar eventos de entrada en un sistema...