GNU/Linux >> Tutoriales Linux >  >> Linux

Algunas herramientas útiles para administradores de sistemas Linux

Esta guía proporciona una lista de herramientas útiles para los administradores de sistemas Linux. Esta lista no incluye ningún programa complejo (como Ansible, Puppet) que requiera una curva de aprendizaje pronunciada para configurarlo y usarlo en producción. La mayoría de las herramientas proporcionadas aquí son solo scripts y son muy fáciles de instalar y usar en tiempo real. Si usted es un administrador de sistemas Linux/Unix en ciernes que tiene experiencia limitada, utilice estos programas para hacer el trabajo fácil y rápidamente. Es posible que estas herramientas no sean útiles todo el tiempo, pero algunas de ellas pueden ayudar.

Acerca de Sysadmin-util

Utilidad de administrador de sistemas es una colección de scripts que ayuda a los administradores de sistemas y usuarios novatos a realizar diversas tareas.

Sysadmin-util consta de los siguientes scripts:

  1. hace
  2. crónica
  3. cidr2ip
  4. contraer
  5. incautos
  6. dirección vacía
  7. expand-ipv6
  8. cortafuegos
  9. grafito_send
  10. ipaddr
  11. tal vez
  12. mk-contraseña-hash
  13. multi-ping
  14. comprobación de esclavos mysql
  15. pyhttpd
  16. pase rápido
  17. desde
  18. mostrar
  19. tipos de autenticación ssh
  20. prueba ssh
  21. fecha-de-vencimiento-ssl
  22. tiempo de espera
  23. hasta el error
  24. hasta el éxito
  25. cuando-abajo
  26. cuando-up
  27. cual-shell
  28. con candado

Avancemos y veamos cómo instalar y usar algunas de estas herramientas con ejemplos.

Instalar sysadmin-util en Linux

Como ya dije, la instalación de todas las herramientas enumeradas aquí es trivial. De hecho, no hay necesidad de instalar. Simplemente clone su repositorio y comience a usar las herramientas en poco tiempo.

$ git clone https://github.com/skx/sysadmin-util.git

El comando anterior clonará todo el contenido del repositorio Sysadmin-util en el directorio actual. Cd en ese directorio y ejecute cualquier herramienta de su elección. ¡Es así de simple!

Sysadmin-util Proporciona las siguientes herramientas útiles para administradores de sistemas Linux

Hace

Esta herramienta lo ayuda a encontrar hace cuánto tiempo se modificó un archivo o directorio en un formato legible por humanos.

Asegúrese de estar en el directorio sysadmin-util:

$ cd sysadmin-util

Para encontrar cuándo se modificó un archivo o directorio, simplemente mencione su ruta como se muestra a continuación.

$ ./ago <path-to-file/directory>

Ejemplos:

$ ./ago /home/sk/sysadmin-util/
/home/sk/sysadmin-util/ 23 hours ago
$ ./ago /etc/
/etc/ 3 days ago

Como puede ver, /home/sk/sysadmin-util se modificó hace 23 horas y /etc/ el directorio se modificó hace 3 días .

Lectura relacionada:

  • Cómo monitorear los cambios de archivos usando fswatch en Linux
  • Buscar y ordenar archivos según el acceso, fecha y hora de modificación en Linux

Crónico

La herramienta crónica ejecuta un comando en silencio a menos que falle, es decir, ejecuta un comando y oculta STDOUT y STDERR si se completa correctamente. Es útil para trabajos cron . En lugar de tratar de mantener el comando en silencio y tener que lidiar con correos electrónicos que contienen resultados accidentales cuando tiene éxito, y que no son lo suficientemente detallados cuando falla, puede ejecutarlo de forma detallada siempre y usar crónico para ocultar el resultado exitoso.

Ejemplo:

Al crear un nuevo trabajo cron, en lugar de usar la siguiente línea;

0 1 * * * backup >/dev/null 2>&1

puedes usar:

0 1 * * * chronic backup

Cidr2ip

Convierte bloques CIDR en sus direcciones IP constituyentes.

Ejemplo:

$ ./cidr2ip 192.168.225.0/24
192.168.225.0
192.168.225.1
192.168.225.2
192.168.225.3
192.168.225.4
192.168.225.5
[...]

Contraer

La herramienta de contracción elimina las líneas en blanco y las líneas que contienen espacios en blanco de los archivos dados.

Ejemplo:

$ echo -e "Linux is not an OS.\n It is a Kernel. \n\nGnu/Linux is the OS.\n\n\n\n" | ./collapse
Linux is not an OS.
It is a Kernel. 
Gnu/Linux is the OS.

Incautos

La herramienta duplicados informará los archivos que son idénticos. Te ayuda a encontrar archivos duplicados que contienen el mismo contenido recursivamente a través del hash SHA1.

Ejemplo:

$ ./dupes 
./.git/logs/HEAD
./.git/logs/refs/remotes/origin/HEAD
./.git/logs/refs/heads/master

Lectura relacionada:

  • Cómo encontrar y eliminar archivos duplicados en Linux

Directorio vacío

Esta herramienta probará si el directorio dado está vacío o no.

Ejemplo:

El siguiente ejemplo muestra si el directorio dado /home/sk/ostechnix está vacío o no.

$ if ./empty-dir /home/sk/ostechnix; then echo "It is empty" ; fi
It is empty

Si el directorio no está vacío, no verá ningún resultado.

Expandir-ipv6

Esta herramienta expande las direcciones IPv6 abreviadas/comprimidas dadas a su forma completa. Puede ser útil al configurar entradas de DNS.

Ejemplo:

$ ./expand-ipv6 fe80::a00:27ff:feff:d2e0
fe80:0000:0000:0a00:27ff:feff:d2e0

Ping múltiple

Es un contenedor de ping multiprotocolo. Se utiliza para probar la conectividad de un host remoto, independientemente de si es un host IPv6 o IPv4. Significado:si el control remoto usa IPv4, invoca el comando 'ping' para probar la conectividad. Si el host remoto usa IPv6, invocará el comando 'ping6'.

La utilidad de ping múltiple requiere Net::DNS módulo perl. Si aún no lo ha instalado, consulte la siguiente guía.

  • Cómo instalar módulos Perl en Linux

Ahora haga ping a cualquier dominio usando la herramienta de ping múltiple como se muestra a continuación.

Ejemplo:

$ ./multi-ping google.com
Host google.com - 216.239.36.117 - alive
Host google.com - 216.239.32.117 - alive
Host google.com - 216.239.38.117 - alive
Host google.com - 216.239.34.117 - alive
Host google.com - 2001:4860:4802:34:0:0:0:75 - alive

Lectura relacionada:

  • Cómo hacer ping en varios hosts a la vez en Linux
  • Haga ping a varios servidores y muestre el resultado en la interfaz de usuario de texto superior
  • Prettyping:haga que la salida del comando Ping sea más bonita y fácil de leer

Pyhttpd

Es un servidor HTTP Python simple que le permite configurar instantáneamente un servidor de archivos básico.

Ejemplos:

 $ ./pyhttpd 8080
 Serving HTTP on 0.0.0.0 port 8080 ...

Si desea permitir que el servidor se vincule solo a localhost, en lugar de escuchar en todas las interfaces, ejecute:

 $ ./pyhttpd 127.0.0.1:8080
 Serving HTTP on 127.0.0.1 port 8080 ...

Lectura relacionada:

  • Cómo configurar un servidor de archivos básico usando simpleHTTPserver

Randpass

Como su nombre indica, la utilidad randpass se utiliza para generar una contraseña aleatoria desde la línea de comandos.

Ejemplos:

$ ./randpass 
Gb39KTBu

Para generar una contraseña con una longitud específica, use -n bandera.

$ ./randpass -n 15
Xa7ZMA38tfOt7O2

Lectura relacionada:

  • Diferentes formas de generar una contraseña segura en Linux

Desde

Muestra cualquier contenido nuevo desde la última vez que se leyó un archivo. Es útil para rastrear archivos de registro.

Ejemplo:

Eliminar el contenido del archivo apt history.log:

$ ./since /var/log/apt/history.log >/dev/null

Ahora instale o elimine cualquier aplicación. Elimino el editor de Vim:

$ sudo apt remove vim

Ahora verifique el contenido del archivo history.log:

$ ./since /var/log/apt/history.log

Start-Date: 2020-01-28 11:52:59
Commandline: apt remove vim
Requested-By: sk (1000)
Remove: ubuntu-server:amd64 (1.417.3), vim:amd64 (2:8.0.1453-1ubuntu1.1)
End-Date: 2020-01-28 11:53:05

La herramienta 'since' solo mostrará los contenidos recién agregados en un archivo desde la última vez que se ejecutó. Si no se agrega contenido, este script se cierra silenciosamente y no verá ningún resultado.

Fecha-de-caducidad-SSL

Muestra la fecha de caducidad del certificado SSL del dominio o host dado.

Ejemplos:

$ ./ssl-expiry-date google.com
google.com
    Expires: Mar 31 15:47:12 2020 GMT
    Days: 63

También puede especificar varios dominios con espacios separados:

$ ./ssl-expiry-date google.com ostechnix.com
google.com
    Expires: Mar 31 15:47:12 2020 GMT
    Days: 63
ostechnix.com
    Expires: Oct  9 12:00:00 2020 GMT
    Days: 254

Para mostrar solo la cantidad de días restantes en el certificado, use -d opción:

$ ./ssl-expiry-date -d google.com ostechnix.com
google.com: 63
ostechnix.com: 254

Tiempo de espera

Permite al usuario ejecutar un comando durante un intervalo específico y eliminarlo.

Ejemplo:

$ ./timeout -t 10 top

Como puede ver, el comando anterior elimina el comando "superior" después de 10 segundos.

Elimina un comando después de 10 minutos y 10 segundos:

$ ./timeout -t 10:10 top

Elimina un comando después de 10 horas, 10 minutos y 10 segundos:

$ ./timeout -t 10:10:10 top

Tenga en cuenta que la utilidad de tiempo de espera también está disponible de forma predeterminada como parte de GNU coreutils paquete. Así que probablemente no necesitará el programa de tiempo de espera del paquete sysadmin-uti.

Lectura relacionada:

  • Cómo ejecutar un comando durante un tiempo específico en Linux
  • Cómo encontrar el tiempo de ejecución de un comando o proceso en Linux
  • Cómo ejecutar un comando de Linux cada X segundos para siempre
  • Cómo agregar comandos de Linux a la cola y ejecutarlos uno por uno

Hay pocas herramientas más disponibles, como hasta el error. & Hasta el éxito - repetir los comandos hasta que falle o tenga éxito, cuando esté inactivo & cuándo está activo - espera hasta que un host esté inactivo/activo, mysql-slave-check - averiguar si el host actual es esclavo o no, cuál-shell - encontrar el caparazón bajo el que nos estamos ejecutando, etc.

Consulte la página de GitHub del proyecto para conocer más detalles de todas las herramientas.

  • Repositorio Sysadmin-util GitHub

Otras herramientas útiles para administradores de sistemas y novatos de Linux

Además de Sysadmin-util, hay muchas otras herramientas disponibles que pueden ser útiles para los administradores de sistemas de Linux/Unix, así como para los novatos. Ya hemos cubierto algunos de ellos.

1. Cockpit:herramienta de supervisión del sistema basada en la web

Cabina es una herramienta de administración de servidor gratuita y de código abierto que le permite monitorear y administrar fácilmente servidores Linux (individuales o múltiples) a través de un navegador web. Ayuda a los administradores del sistema a realizar tareas de administración simples, como iniciar contenedores, administrar el almacenamiento, configurar la red, inspeccionar registros, etc. Consulte el siguiente enlace para instalar y usar Cockpit en Linux.

  • Cockpit:monitoree y administre servidores Linux a través del navegador web

2. Netutils-linux:herramientas de ajuste de rendimiento y solución de problemas de red para Linux

Netutils-linux es una colección de utilidades útiles escritas en Python que se pueden usar para simplificar la resolución de problemas de la red Linux y el ajuste del rendimiento. Para saber más sobre estas herramientas, consulte la siguiente guía.

  • Una colección de utilidades para simplificar la solución de problemas de la red Linux y el ajuste del rendimiento

3. Moreutils - utilidades Unix más útiles

Si es un administrador de sistemas de Linux, definitivamente escuchará acerca de las utilidades principales de GNU . Viene preinstalado en todas las distribuciones de Linux. Pero, ¿qué pasa con Moreutils? ? moreutils es una colección de útiles utilidades de Unix que no se incluyen de forma predeterminada en los sistemas operativos similares a Unix. Estas utilidades a menudo son útiles para realizar varias operaciones en su servidor Linux de manera fácil y rápida. Se pueden encontrar más detalles en el siguiente enlace.

  • Moreutils:una colección de utilidades Unix más útiles

4. Bash-Snippets:scripts BASH útiles para usuarios intensivos de línea de comandos

Fragmentos de Bash es una colección de scripts BASH útiles para usuarios intensivos de línea de comandos que viven en Terminal todo el día. ¿Quieres comprobar el tiempo de un lugar donde vives? Hay un script para comprobarlo rápidamente. ¿Se pregunta qué es un precio de acción específico? También hay un guión para eso. ¿Sentirse aburrido? Puedes ver algunos videos de YouTube. ¡¡Todo desde la línea de comandos!! No necesita instalar ninguna aplicación GUI pesada y que consuma muchos recursos. Haga clic en el siguiente enlace para saber cómo usar estos scripts.

  • Una colección de scripts BASH útiles para usuarios intensivos de línea de comandos

5. Debian-goodies - Herramientas de línea de comandos para Debian y derivados

Excelentes artículos de Debian es otra colección de utilidades útiles para sistemas basados ​​en DEB. Al igual que moreutils, Debian-goodies también proporciona algunos comandos útiles adicionales que no están disponibles de forma predeterminada. Con estas herramientas, los administradores de sistemas pueden realizar una gran cantidad de tareas, como:

  • qué programas están consumiendo más espacio en disco,
  • qué servicios deben reiniciarse después de actualizar el sistema,
  • buscar un archivo que coincida con un patrón en un paquete,
  • enumere los paquetes instalados según la cadena de búsqueda y mucho más.

Consulta el siguiente enlace para conocer más acerca de estas golosinas.

  • Debian-goodies:un conjunto de utilidades útiles para usuarios de Debian y Ubuntu

6. Algunas buenas alternativas a las páginas man

¡Las páginas man son geniales! No hay duda de ello. Sin embargo, muchas páginas del manual son exhaustivas y carecen de ejemplos útiles. Es posible que deba revisar toda la página del manual para encontrar los detalles de una determinada opción o indicador. Esta es una tarea que requiere mucho tiempo cuando desea aprender un ejemplo práctico de un comando específico de Unix utilizando páginas man. ¡Ya no! Conozco algunas buenas alternativas a las páginas de manual que se centran principalmente en ejemplos, omitiendo todas las demás partes de texto completo. Lea el siguiente enlace para obtener información sobre ellos.

  • Buenas alternativas a las páginas man que todo usuario de Linux debe conocer

7. Cli-fyi:una herramienta de línea de comandos para recuperar información sobre IP, correo electrónico, dominio y más

Cli.Para tu información es una herramienta de consulta de línea de comandos para obtener información sobre direcciones IP, correos electrónicos, dominios, monedas criptográficas, medios/url, fecha/hora UTC, país e idioma de programación, etc. Puede obtener todos estos detalles desde la línea de comandos o el navegador como se describe a continuación enlace.

  • Cli.Fyi:una herramienta CLI para obtener información sobre direcciones IP, correos electrónicos, dominios y mucho más

8. ExpliqueShell:una herramienta basada en la web que explica cada argumento de un comando de Linux

ExpliqueShell es un gran recurso para aquellos que querían aprender los argumentos y las opciones de la línea de comandos de Linux de forma rápida y sencilla, sin tener que consultar las páginas de manual. Desglosa el comando dado y explica qué hace cada parte de un comando de Linux. Todo lo que necesita hacer es copiar y pegar un comando de Linux en el sitio web de ExplainShell, e instantáneamente mostrará lo que significa cada parte de un comando de Linux.

  • ExplainShell:encuentre lo que hace cada parte de un comando de Linux

9. Kmdr - Obtenga la explicación de los comandos CLI en su Terminal

Kmdr es similar a ExplainShell pero con algunas características adicionales. El ExplainShell lo ayuda a aprender solo los comandos de Linux. Pero, ¿qué sucede si desea aprender otros comandos CLI, por ejemplo, Python? No encontrará una explicación de los comandos de Python en ExplainShell. Aquí es donde Kmdr viene al rescate. Kmdr proporciona una explicación para muchos comandos CLI, incluido ansible , conda , docker , git , ir , kubectl , mongo , mysql , npm , gemas de rubí , vagabundo y cientos de otros programas como los integrados en bash . ¿Suena bien? ¡Estupendo! Consulta el siguiente enlace para aprender a usar Kmdr.

  • Kmdr:muestra la explicación de los comandos CLI en la terminal

Como ya dije, todas las herramientas antes mencionadas pueden no ser útiles todo el tiempo. Pruebe uno a la vez y descubra si le ayuda en su trabajo diario de alguna manera.

Estas herramientas no son solo para administradores de sistemas, sino para cualquier persona que quiera mejorar sus habilidades de línea de comandos de Linux en general. Seguiré agregando más herramientas y aplicaciones útiles en esta lista. Si cree que se debe agregar alguna otra herramienta a esta lista, no dude en hacérmelo saber en la sección de comentarios a continuación. Comprobaré y actualizaré la lista en consecuencia.


Linux
  1. 4 herramientas para construir sistemas Linux embebidos

  2. Las mejores herramientas de Linux para escritores

  3. 8 consejos para una automatización confiable del sistema Linux

  4. 80 herramientas de monitoreo de Linux para administradores de sistemas

  5. Herramientas de overclocking en Linux

Las 10 mejores herramientas de selección de color para el sistema Linux

Las 10 mejores herramientas de escaneo para el sistema Linux

Las 10 mejores herramientas meteorológicas para el sistema Linux

Las 10 herramientas de navegación de archivos de código abierto para el sistema Linux

Las 10 mejores herramientas de notificación de correo para el sistema Linux

Las 15 mejores herramientas de cifrado de correo electrónico para el sistema Linux