Herramientas Linux que debes conocer: las mejores en 2021

Un Administrador de Sistemas es como un buen mecánico que mantiene sus herramientas de trabajo bien seleccionadas y organizadas, presto a resolver cualquier problema desconocido que se le presente. También ha de realizar tareas de mantenimiento para prevenir dificultades y a pesar de lo bien organizado que esté la labor es ardua, tanto es así que en las grandes empresas las labores generales son delegadas en personas diferentes. Hoy vamos a conocer las herramientas Linux que todo administrador debería conocer. Pero antes de ello lo primero sería conocer los cargos y funciones que desempeñan estos administradores:

  • Administrador de Base de Datos.
  • Administrador de Red (tenemos publicado un tema dedicado al respecto).
  • Administrador de Seguridad.
  • Administrador Web.
  • Personal físicamente presente en los ordenadores (ayudantes de los Administradores).

En inglés dicha persona comúnmente es conocida como “System Administrator” y lo abrevian como “sysadmin” y a pesar de no ser un término reconocido en el castellano, en la práctica es muy utilizado como sinónimo; aquí podemos usar ambos indistintamente.

banner full pandora fms free demo
banner tablet pandora fms free demo
banner mobile pandora fms free demo

Las labores del Administrador de Sistemas pueden incluir:

  • Análisis de registros de sistema e identificar potenciales inconvenientes con los ordenadores de la red local o remota.
  • Instalar actualizaciones de sistemas operativos, correcciones y cambios de configuración.
  • Instalar y configurar nuevo hardware y/o software.
  • Agregar, remover o actualizar información de cuentas, reinicio de contraseñas, etc.
  • Responder consultas técnicas y asistencia a usuarios.
  • Es responsable de la seguridad (esta es inherente al cargo).
  • Es responsable de documentar la configuración del sistema, ya sea para beneficio propio cuando tenga que tomar vacaciones, o para sus sucesores en el cargo.
  • Solución de los problemas que reporten los usuarios.
  • Afinación del desempeño del sistema.
  • Asegurarse de que la infraestructura de red esté iniciada y funcionando (monitorización de servidores y redes).
  • Configuración, adición y borrado de archivos de sistema.
  • Supervisar de manera directa que los ambientes de desarrollo, pruebas y producción se sincronicen y funcionen sin inconveniente alguno.

Con esto presente, clasificamos las categorías de programas en un breve repaso dado la gran cantidad de opciones. Vamos allá.

Herramientas de conexión remota para el Administrador de Sistemas

Aún con los ayudantes in situ, un Administrador de Sistemas necesita una herramienta para conectarse de manera remota con las credenciales necesarias, a fin de cambiar configuraciones, crear tareas programadas o simplemente para ver el estado del sistema o simplemente para usar el resto del software instalado para administrar; estas son nuestras herramientas Linux preferidas para la conexión remota:

  • Ehorus: eHorus funciona en Windows, GNU/Linux, MAC y cuenta con un agente para Raspberry. Ehorus ha sido desarrollado por el equipo de Pandora FMS y al usarlo tienes la seguridad de estar en un entorno plenamente confiable: nos permitirá rápidamente ubicar un dispositivo en el mapa de red previamente configurado desde cualquier navegador web. La versión gratuita no necesita a Pandora FMS para funcionar, solo necesitas darte de alta en la página web. Lo mismo ocurre con la versión de pago para empresas, las dos son una excelente solución. Su sitio web es el siguiente: https://ehorus.com/es/.

herramientas linux

  • TeamViewer: Es un software privativo en su versión 12; no solo permite conectar de manera remota, sino que también permite desarrollar el trabajo en equipo y transferir archivos. Está disponible para GNU Linux, Windows, Android, Blackberry e incluso desde un navegador web en versión freeware y de pago. En cuanto a la seguridad se refiere y por ser un producto de código cerrado, dependemos solamente de la palabra del fabricante. Tiene reportes de auditoría de conexiones y permite grabar en base de datos todo lo mostrado en los dispositivos.

herramientas linux

  • Remmina: Es la solución del software libre, que sirve para Windows y GNU Linux. Cuenta con múltiples opciones como por ejemplo «Protocolos de escritorio remoto» (“Remote Desktop Protocol” o RDP), «Computación Virtual en Red» (“Virtual Networking Computing” o VNC). También incluye conexión por medio de “Secure Shell” o SSH, permitiendo una mayor rapidez, ya que utiliza la ventana terminal de comandos. Con Remmina debemos tener las direcciones IP de los equipos o configurar nuestros propios DNS (o alquiler a terceros) ya que esta organización no presta ese servicio comercial.

herramientas linux

Herramientas de respaldo y compresión de datos

Uno de los inconvenientes del Administrador de Sistemas es el mantenimiento de presupuestos para conseguir un gasto adecuado de equipos. El respaldo de información puede llegar a convertirse en una misión crítica. Pero el gasto en material de almacenamiento (discos duros internos y externos, cintas, discos ópticos, etcétera) ha de controlarse, así que la información ha de comprimirse, suponiendo un importante ahorro de dinero.

  • 7zip: Esta alternativa en código abierto contiene complementos privativos como unRAR (licencia aparte). Grandes empresas como IBM no dudan en utilizarlo y en promocionar su uso tanto en GNU/Linux como en Windows. La página web de la organización está almacenada en el gigante Digital Ocean en este enlace http://www.7-zip.org/ de donde podrán descargar la versión para Windows y en GNU Linux con solo ejecutar «apt-get install p7zip-full» lo obtendremos.

herramientas linux

  • rsync: Hacemos una mención especial a rsync porque en realidad es una aplicación intrínseca al ambiente GNU. Puedes ver su página web https://rsync.samba.org/, aunque si usas Linux estará instalado en tu equipo. Creado por Andrew Tridgell, quien es padre de Git y Samba Server, desarrolló estos dos últimos programas con la experiencia adquirida con rsync. De más está decir que Git es muy útil para manipular y mantener las versiones de documentación del sistema y los guiones personalizados almacenados, ya sea en un servidor Git propio dentro de la empresa o un servidor externo como el famoso GitHub. El software rsync nos permitirá respaldar directorios completos preservando las propiedades de los ficheros (enlaces, propietarios, estampados) de manera múltiple y masiva por medio de protocolos seguros como rsh y shh. ¡O hasta de manera anónima a modo de FTP público!

herramientas linux

Para recuperación de desastres completos

Sí, ya sabemos que nuestros servidores y ordenadores de escritorio tienen algún sistema de almacenamiento redundante como RAID. En la mayoría de casos nuestros ayudantes solo deben sacar un disco e insertar otro para saber si el servidor está funcionando. Pero ¿qué sucedería si no hay ningún disco fijo desde el qué arrancar? Examinemos este escenario que tiene que ver también con el respaldo de datos y las herramientas Linux.

  • Clonezilla: Es un software que, sin importar que tipo de sistema de archivo tengamos en los discos rígidos (ext n en Linux, FAT n en MS Windows, HFS+ en Mac, etc.), inicia un respaldo completo hacia un servidor conectado por red local o externa que tengamos previamente configurado (muy importante asignar direcciones IP fijas por dirección MAC ). Dicho servidor receptor bien puede ser tipo SSH, Samba, NFS o con la normas RFC 2518 y RFC 4918 WebDAV. También puede iniciar los equipos por BIOS (la tarjeta integrada de red Ethernet ubicua) o por UEFI que actúa entre el BIOS y el sistema operativo: si no arranca de disco duro ni unidad óptica se conecta automáticamente al servidor que contenga el último respaldo. Un uso práctico es, por ejemplo, si una empresa compra un lote grande de ordenadores portátiles para sus vendedores de calle, tomar una máquina como modelo (todo configurado a las exigencias de la gerencia) y copiarlas por lote al resto como denota la figura siguiente. Lo que aquí explicamos está simplificado al máximo, el tema es muchísimo más denso.

herramientas linux

  • Programas de monitoreo locales. Cada sistema operativo generalmente trae sus propias utilerías, desarrolladas por ellos mismos o compradas a otras empresas y empaquetadas juntas.
  • Powershell: Su punto fuerte son los “cmdlets”, que son comandos especializados que implementan funciones específicas y emula el uso de “tuberías” de comandos de Unix. Fue desarrollado originalmente con Visual Studio.NET para ambientes Windows; no obstante, desde agosto de 2016 está disponible para Linux y puede ser instalado como bien lo describen en este enlace. Aunque ahora tiene licencia MIT los componentes individuales siguen siendo privativos y van a medio camino hacia el software libre.

herramientas linux
● GNU/Linux: aquí manda la consola, hoy vamos a ver una muy rápida descripción de algunos de ellos. (Algunos podrán necesitar ser instalados vía apt-get, dependiendo de nuestra distribución):

“curl”: permite verificar rápidamente si un servicio web está corriendo con las opciones “-I -s” con lo cual recibe los encabezados indicando la buena salud del proceso. No lo subestimemos: curl combinado con PHP motoriza el 25% de las páginas web a nivel mundial. Esto es así porque soporta los siguientes protocolos: HTTP, HTTPS, FTP, FTPS, GOPHER, TFTP, SCP, SFTP, SMB, TELNET, DICT, LDAP, LDAPS, FILE, IMAP, SMTP, POP3, RTSP y RTMP.

“python”: un lenguaje de programación soportado en Windows y Linux que nos ayudará a recolectar y analizar abundante información con pocas líneas de código. En GNU Linux viene de manera sólida y tan extraordinario es que desinstalarlo pone en aprietos a numerosas aplicaciones que dependen de él. Es otro elemento que debemos tener en cuenta.

“top”: cada 5 segundos nos muestra los procesos que se están ejecutando y que consumen los mayores recursos.

“vmstat”: actividad del sistema e información del mismo y del hardware también.

“w”: así de simple, una sola letra acompañada del nombre del usuario devuelve información sobre cuándo se conectó, en qué terminal trabaja y los procesos en ejecución.

“uptime”: tiempo encendido del equipo.

“ps -a”: lista todos los procesos en ejecución junto con su identificador.

“free”: memoria libre, tanto física como de intercambio.

“iostat”: carga promedio del CPU y la actividad del disco.

“grep”: filtra por palabras clave, de un archivo o por “tubería” recibida de otro comando, para que extraigamos cifras muy específicas. De uso indispensable en guiones bash que desarrollemos y compartamos con otros Administradores Sistemas.

“pmap”: acompañado del identificador de la aplicación, nos muestra un mapa en caracteres ASCII del uso de la memoria. Toda una delicia al más puro estilo de la película “The Matrix”.

“tcpdump”: captura todos los paquetes enviados por una interfaz de red en puertos específicos, entre dos dispositivos específicos o que pertenezcan a un protocolo en particular.

“iostat”: retribuye información de todos los medios de almacenamiento o uno en especial.

“mpstat”: con el parámetro “-A” muestra la información de todos y cada uno de los núcleos del CPU.

“vmstat”: similar al comando anterior, pero actúa sobre la memoria virtual.

Desde luego que existen herramientas Linux gráficas y una de ellas deriva de “ntop”, una utilería de consola para analizar el tráfico de red, mejorada y con el nombre de “ntopng”.

Webmin tiene agrupados de manera especial una interfaz gráfica en navegador web que se conecta al equipo por medio de un túnel SSH, por ejemplo, y permite configurar cuentas de usuarios, Apache, DNS y ficheros compartidos y mucho más. Un magnífico sustituto de la consola o de manera remota por medio de módulos que pueden ser agregados o eliminados según gusto o conveniencia. La lista de módulos normales y corrientes están aquí y existe la posibilidad de desarrollar nuestros propios módulos. Con Webmin inclusive podemos manejar los «muros de fuego» (“firewalls” en inglés) en IPv4 e IPv6; encontramos al menos 9 utilerías a primera vista, así que tenemos suficientes a pesar de no haber hecho aquí una sección para los mismos.

Recalcamos que apenas son una muestra y que cada uno de estos comandos producen una cantidad ingente de información que debe ser recogida, centralizada y analizada de alguna manera, lo cual nos lleva al siguiente punto: la monitorización de servidores.

Programas de monitoreo remotos: monitorización de servidores

Aquí entramos en el mundo “de las grandes ligas” de Administrador de Sistemas. Hemos publicado en anterior artículo la comparación entre Nagios y Pandora FMS y recomendamos su lectura.

Pandora FMS

Por supuesto, nuestra elección es Pandora FMS. Cabe destacar que con Pandora FMS podemos recolectar los resultados de todos los programas de línea de comando GNU Linux por medio de la creación de “plugins” de ejecución local y remota. Toda la información la tenemos en el reportaje dedicado al tema.

Si quieres saber cómo crear un módulo local Linux en Pandora FMS puedes echar un vistazo a este vídeo:

También puedes conocer un poco mejor la monitorización de servidores en Pandora FMS en el siguiente vídeo:

Pandora FMS es un software de monitorización flexible, capaz de monitorizar dispositivos, infraestructuras, aplicaciones, servicios y procesos de negocio.

Puedes descubrir mucho más acerca de Pandora FMS entrando aquí: https://pandorafms.com/es

O si tienes que monitorizar más de 100 dispositivos también puedes disfrutar de una DEMO GRATUITA de 30 días de Pandora FMS Enterprise. Consíguela aquí.

El mundo es muy grande para el Administrador de Sistemas

Limitarnos a estas herramientas Linux que mostramos es simplemente imposible. Cada Administrador de Sistemas tiene su propio «zen»: desde los que tienen un simple esquema de trabajo de cinco minutos, hasta los que opinan que el mejor Administrador de Sistemas es el perezoso, hasta los más sofisticados que programan sus propias herramientas. ¡Todo es posible con el código abierto y, como no, con muchas ganas de trabajar!

Shares