Introducción al Uso de la Consola en Linux

Introducción al Uso de la Consola en Linux

Cuando decides que quieres ser un Administrador de Servidores Linux o SysAdmin debes comenzar por conocer los fundamentos del uso de la Consola (SHell) de este sistema operativo.

En este artículo te proveemos algunos aspectos básicos que debes conocer acerca del uso del shell y adicionalmente te damos los tips básicos para redireccionamiento de entradas/salidas, diagnóstico básico del sistema (Procesos, Disco y Memoria), y resolución de problemas (conectividad, servidores y sistema).

– La Consola y/o el Shell:

Existen distintos intérpretes de comandos en el mundo Unix: csh, bash, tsh, ksh. Salvo pequeñas diferencias todos son parecidos. En este documento partimos sobretodo de bash, ya que está muy extendido a través de Linux.

Asi como windows lo vemos como un entorno con ventanas, programas, etc, unix lo debemos ver como conformado por procesos y archivos.

Los dispositivos como el disco, el cdrom, la pantalla, están representados como un archivo en el sistema linux, dentro de /dev. Los sockets de comunicación son archivos. Los directorios son archivos. Y por supuesto los archivos son archivos.

– Redirección de Entrada/Salida:

> : Con este símbolo podemos redirigir la salida estandar de un comando a un archivo. Téngase en cuenta una cosa. Si decimos archivo siempre lo vamos a decir de manera genérica, puede ser un archivo de texto o la pantalla de terminal, ahí cabe TODO.

>> : Con esto redirigimos el resultado a un archivo, pero sin sobrescribirlo, lo que hacemos es escribir al final de este (append en ingles).

< : Con esto redirigimos el contenido del archivo a un programa. Se usa para utilizar el contenido del archivo como input de un comando.

<< END : Esta redirección se utiliza para iniciar el paso de parámetros a un programa, y se termina cuando escribimos «END» o cualquier otra palabra que hayamos especificado al inicio del comando.

– Diagnóstico Básico del Sistema:

Para diagnosticar el estado de un servidor Linux de manera rápida podemos ejecutar los siguientes comandos:

Por consola: basta con utilizar 5 comandos básicos, en el siguiente orden:

  1. uname -a : Nos dice la version de kernel, procesador, y nombre de sistema
  2. df : Nos muestra la ocupación del disco duro.
  3. free : Nos muestra el uso de la memoria
  4. ps -aux : Nos muestra los procesos en curso
  5. netstat -a : Nos muestra las conexiones de red actuales

Otro programa muy útil para el diagnostico del sistema y las conexiones de red es IPTRAF que se ejecuta como iptraf o /usr/bin/iptraf.

Estado del Disco:

Lo normal es que de un dia para otro no aumente ni en un punto porcentual, a no ser que tenga algun servicio concreto de estadisticas. Si llega al 90% hay que empezar a barrer el sistema de archivos, localizar archivos grandes, etc.

Estado de Procesos:

Normalmente veremos una serie de procesos que van desde el ID 1 al 600-700, muchos de los cuales comienzan por «[k». Todos ellos son los iniciados al arrancar del sistema. El resto son servidores iniciados posteriormente. El estado de los procesos en marcha suele mostrar siempre el mismo aspecto, aunque cada servidor tendrá uno distinto. Conviene conocerlo. En cuanto a la ocupación del CPU ningún servicio suele ocupar más de un 10%. Todo lo que tenga valores como 40% o más se consideran niveles anormales; pueden tratarse de generadores de estadísticas. Un programa util para ver los porcentajes es top.

Estado de Memoria:

Mientras quede RAM libre no hay problema. Un servidor Linux incluso puede aguantar usando SWAP.

– Resolución de Problemas:

En general, los problemas pueden venir de tres partes:

1.- Conectividad: Problemas de conexión a red.

2.- Servidores: Servicios que no funcionan correctamente, no arrancan, etc.

3.- Sistema: Discos duros llenos, errores de dispositivos, kernel-panic, etc.

1.- Conectividad:

Hay que asegurarse de que hay conectividad. Para ello realizamos los siguientes pasos:

– Hacer un ping a la máquina desde otra externa.

– Intentar acceder a alguno de los servicios vía red (Ejm: 22 – SSH). Algunas máquinas pueden tener cerrado el ping o los ICMP en general.

Si no hay conectividad entonces es un problema que debe solventarse a nivel de las redes y/o verificar las tarjetas de red interna.

2.- Servidores:

Existen varios modos para verificar que los servicios estan en marcha, y los más prácticos son los siguientes:

– Comprobar que el proceso está en marcha (ps -axf | grep nombre_proceso)

– Comprobar que el puerto que utiliza está abierto (netstat -ln | grep puerto)

– Comprobar que el puerto responde correctamente (telnet localhost 25 por ejemplo)

– Comprobar que está generando logs (en /var/log)

– Comprobarlo con el script de inicio (/etc/rc.d/init.d/servicio status)

A veces puede ocurrir que el proceso del servicio se pare nada mas iniciarse, por eso conviene comprobar dos veces que el proceso está en marcha.

3.- Procedimiento General de Soluciones:

Este procedimiento describe el proceso genérico de resolución de problemas de cualquier servidor de Linux:

0. Verificar si el servicio está en marcha: Se puede hacer con:

service <servicio> status

/etc/rc.d/init.d/servicio status

ps -axf | grep servicio

netstat -ln | grep puerto_servicio

telnet localhost puerto_servicio

1. Si el servicio está parado, iniciarlo directamente con:

/etc/rc.d/init.d/servicio start

2. Verificar dos veces si el servicio está en marcha realmente.

3. En cualquier caso, si está en marcha o parado, verificar los logs correspondientes al servicio para comprobar errores.

4. Según la información que nos den los logs actuar en consecuencia.

De todas formas, cada servicio Linux tiene sus pecualiaridades, por eso se describen por separado a continuación.

Notas: debe tenerse en cuenta que los servicios dependen a veces de otros servicios externos o internos, cosa que a veces puede provocar malentendidos.

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)
Daniel Rodriguez

Acerca del Autor: Daniel Rodriguez C.

Consultor Senior de Soluciones de Negocios en Internet, Desarrollo y Diseño Web, SysAdmin, Gerencia de Proyectos, Ventas, Mercadeo con más de 25 años de experiencia en empresas de tecnología.

Deje un mensaje

Por favor llene el siguiente formulario.

Usted puede usar las siguientes etiquetas HTML y atributos: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.