it-swarm-es.com

Herramientas sin las que un administrador de Unix no puede vivir

Después de administrar servidores Unix o similares a Unix, ¿qué herramientas (preferiblemente de línea de comandos) cree que no puede vivir sin ellas?

33
John T

pantalla GN - esencial cuando está administrando un gran número de sistemas y no quiere tener abiertas una docena de ventanas de terminal.

51
Murali Suriar

Algunos sé que no puedo vivir sin ...

  • tee: permite la escritura simultánea en STDOUT (salida estándar) y un archivo. Excelente para ver información y registrarla para más tarde.

  • arriba: el administrador de tareas de UNIX, ofrece una excelente descripción general del sistema.

  • tail -f: le permite ver los datos adjuntos a medida que crece un archivo, ideal para monitorear archivos de registro en un servidor.

  • grep: impresión global de expresiones regulares, ideal para buscar datos en archivos en el sistema.

  • df: informa el uso del disco de los sistemas de archivos actuales.

  • du: informa el uso del disco de un determinado archivo/directorio.

  • menos - ¡necesario para ver páginas de manual! también es útil para ver la salida de comandos de una manera que se pueda buscar fácilmente.

  • vim/Emacs/nano/pico/ed: cualquiera que sea el editor de texto que elija, se explica por sí mismo por qué es necesario.

34
John T

lsof para determinar qué procesos están utilizando un archivo o directorio (útil cuando se trata de averiguar qué impide que se desmonte un dispositivo)

netstat para determinar qué procesos están usando conexiones de red (especialmente útil cuando se trata de averiguar qué demonio está vinculado a un puerto determinado)

26
erichui

Aprenda todas las herramientas básicas, pero aprenda Perl.

Perl es ideal para manipular texto, y dado que los operadores un * x viven en archivos de texto, canalizaciones, entrada y salida, Perl encaja perfectamente.

La ventaja adicional es que Perl es multiplataforma y si tiene que trabajar un poco en una caja de Windows, tiene un idioma fácilmente instalable (simplemente coloque un directorio Perl en el servidor) que ya conoce.

Y en ese tren de pensamiento, busca a Cygwin también. Si es un administrador de un * x y tiene que trabajar en una caja de Windows (incluso en su escritorio), tener ls, rm, grep, sed, tail, etc. le ahorrará mucho tiempo al cambiar de sistema operativo.

19
Mark Nold
  • sed
  • awk

Los abuelos olvidados de los scripts de sistemas modernos. Sé que Perl recibe la mayor parte del amor (junto con las secuencias de comandos Bash, Python, Ruby y [inserte aquí su lenguaje de secuencias de comandos favorito]), y no me malinterpreten, me encanta Perl. Lo uso casi a diario.

Pero sed y awk no deben olvidarse, pasarse por alto ni ignorarse. En muchos casos, sed y awk son las mejores herramientas para el trabajo. Algunos ejemplos rápidos son el filtrado de línea de comandos con sed y el procesamiento de registros rápido y sucio con awk. Ambos podrían realizarse en Perl, pero requerirán más trabajo y tiempo de desarrollo.

18

rsync, especialmente en concierto con ssh. Permite la copia simple y eficiente de archivos de un host a otro. ¿Cómo nos las arreglamos sin ssh y rsync? :-)

13
dr-jan

Netcat.

  • Pruebe si los servicios TCP están escuchando.
  • Realice transacciones con protocolos de texto plano como SMTP.
  • Transferencias de datos rápidas e inseguras entre máquinas.
  • Emulación de cliente Telnet.

La navaja suiza de la red, como dicen.

12
Dan Carley

Admítelo, tarde o temprano también tendrás que lidiar con la red. mtr , tcpdump y tshark son realmente útiles para ver lo que está sucediendo.

12
pQd

Utilizo la mayoría de las herramientas ya enumeradas, pero aquí hay una que nadie ha mencionado todavía:

Puppet - sistema para automatizar las tareas de administración del sistema

9
Shaun Hess

Para scripts rápidos, automatización, etc.

  • bash
  • Perl

Para conectarse a su servidor * NIX:

  • Abrir SSH (cliente Linux)
  • PuTTY (cliente de Windows)
9
Colin

Un par de herramientas útiles que aún no he visto mencionadas:

  • dstat --nocolor (descripción general de cpu-, disk-, net-use)
  • iftop (Buena descripción dinámica del tráfico de red)
  • ccze (colorea bien los archivos de registro)
  • túneles ssh (pueden ser útiles de vez en cuando; consulte el manual; -R)
  • esperar (automatizar interfaces interactivas y conversadoras de diálogo, agradable si estás en un apuro)
6
asjo

Para secuencias de comandos:

6
Pablo Santa Cruz

La mayoría de los estándar están incluidos en otras respuestas, así que iré a los no estándar:

  • htop - ideal para la gestión de procesos;
  • pinfo - navegador tipo lynx para información y páginas de manual.
6
vartec

ClusterSSH

ClusterSSH controla una serie de ventanas xterm a través de una única ventana de consola gráfica para permitir que los comandos se ejecuten de forma interactiva en varios servidores a través de una conexión ssh.

5
Tom Feiner

ssh, Vim, htop, su, Python, ls, cd, screen, du, tar :)

4
maciek

vmstat 1

Le brinda una excelente descripción general del comportamiento del sistema.

4
Cawflands

pv: muestra el progreso de operaciones largas que se pueden redireccionar. http://www.ivarch.com/programs/pv.shtml

Entonces es útil monitorear algo que va a tomar años, como copiar/comprimir un dispositivo de bloque sin procesar a través de la red (que es como tomo copias de seguridad de paranoia de mi netbook de 8 Gb antes de jugar con algo importante como ajustar la configuración del sistema de archivos).

Además: segundo voto para ssh, rsync, screen, htop y netcat como lo mencionaron las personas anteriormente, todos los cuales son más importantes que pv, pero aún no se ha mencionado pv. De hecho, pv suele ser una adición útil cuando se canalizan cosas hacia o desde netcat.

4
David Spillett

tubería de alquitrán!

canalizar la salida de tar a otra utilidad, a tar que se ejecuta en la misma caja o a tar que se ejecuta en SSH es mi movimiento Unix favorito de la vieja escuela para mover archivos de un lugar a otro.

Esto también le brinda la opción al estilo de Windows de copiar una carpeta a otra y terminar con todos los archivos en el directorio de origen y destino.

3
Jason Luther

Algunos que no se han mencionado antes:

  • la cabeza de la cola
  • diff
  • pstree
  • tar
  • gzip/bzip
  • reloj
3
CK.

La mayoría de estas herramientas se hacen mucho más poderosas usando la "finalización programable" de Bash, por lo que puede completar con tabulaciones cosas como opciones de línea de comandos o decir el nombre de un paquete con "apt-get install". También limitará lo que complete con la pestaña de los archivos relevantes; por ejemplo, "descomprimir" solo completará los archivos de almacenamiento compatibles.

Realmente son los perros callejeros: si nunca lo has probado, probablemente solo necesites manipular tu .bashrc:

if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
 fi

Ciertamente, esto es cierto en Ubuntu y Debian. Es posible que deba obtener el paquete en algunas distribuciones de Linux.

3
Tom Newton

iotop, es un programa tipo top para monitorear los accesos de E/S a sus discos.

3
Emilio

Sudo.

Hablando en serio, tail -f es útil.

3
Sophie Alpert

zsh como Shell

Es especialmente eficiente con extensiones/configuración de grml.org .

3
cstamas

Algunas respuestas adicionales se pueden encontrar en esta pregunta similar

2
Vagnerr

screen es imprescindible, especialmente con un buen archivo .screenrc. Lo tengo configurado para mostrar visualmente en qué ventana estoy y puedo moverme entre ellas con Ctrl + Flecha. Para una sola sesión ssh y múltiples shells, es un salvavidas.

2
Nasko

Algunas cosas pasadas por alto que quería mencionar.

  • vim -d diff de consola de pantalla dividida que hace que sea muy fácil ver las diferencias en un archivo
  • pdsh le permite ejecutar fácilmente un comando en tantos sistemas como desee, ya sea en serie o en paralelo (soy un administrador de clúster. No puedo funcionar sin él).
  • nmon es como top on crack. Le da una gran idea de lo que sucede en un sistema en una sola pantalla. Puede ver la E/S de disco, el uso de CPU de E/S de red y el uso de memoria en tiempo real. Al menos, es algo realmente divertido para jugar cuando se crea un perfil de un sistema.

Ah, y me olvidé de mencionar, al crear scripts, creo que siempre debes usar Korn. Odio a Korn (No a la banda. Amo a la banda :-P) pero está literalmente en todas partes. Puede tomar un script y moverlo entre Solaris, AIX y Linux y no tener que preocuparse por si el administrador tuvo la decencia de instalar Bash o no.

2
Jackalheart

Una herramienta a veces muy útil es Nohup. Lo uso para ejecutar scripts que duran mucho tiempo usando clientes SSH remotos.

2
jplourenco

El comando apagado .

2
user237419

Me encanta AWK, así como "for" en la línea de comandos.

Especialmente para crear una lista de comandos que quiero ejecutar y luego ejecutarlos todos a la vez.

2
Brian G
  • vi
    • encontrar
    • ssh
    • AWK
    • sed
    • netcat
    • tar
    • pD
  • 2
    Maxwell

    man: para leer las páginas del manual.

    enlaces - para comprobar Google, porque seguro que no puedo recordar todo.

    Y atención al detalle y tenacidad, porque sin ellos simplemente pierdo el tiempo.

    2
    pjd
    • rsync corriendo sobre ssh para mantener las cosas consistentes ... en múltiples direcciones (-gloptru [n] c)
    • Vim y vimdiff para editar con 'plegado' y diferencias de visualización en scripts, registros, etc.
    • Perl y (Ba) sh para scripts y análisis
    • cURL (y tal vez Wget) para publicar/recuperar datos de ...
    • Apache para webificarlos a todos (o al menos crear herramientas de administración de apuntar y hacer clic)
    1
    ericslaw

    nmon

    No he visto a nadie mencionar esto todavía.

    La herramienta nmon está diseñada para que los especialistas en rendimiento de AIX y Linux la utilicen para supervisar y analizar datos de rendimiento, que incluyen:

    • Utilización de CPU
    • Uso de memoria
    • Estadísticas del kernel e información de la cola de ejecución
    • Tasas de E/S de discos, transferencias y relaciones de lectura/escritura
    • Espacio libre en sistemas de archivos
    • Adaptadores de disco
    • Tasas de E/S de red, transferencias y relaciones de lectura/escritura
    • Espacio de paginación y tasas de paginación
    • Especificación de CPU y AIX
    • Procesadores superiores
    • y más

    Se puede ejecutar en modo de archivo, lo que genera un archivo CSV de gran tamaño. IBM también proporciona una macro de Excel para analizar esto y convertirlo en gráficos asombrosos, aunque necesita un Windows VM para eso.

    nagios y munin para monitorear y graficar.

    1
    Kura
    • Bash
    • Empuje
    • iostat
    • pD
    • parte superior
    • lsof
    • strace
    • tcpdump
    • netstat
    • encontrar
    • grep
    • Perl
    • sed
    • cola
    • Cavar
    • traceroute

    Siempre que sea posible, las versiones GNU de lo anterior sobre las versiones propias.

    1
    Jason Tan

    Estas son las herramientas que utilizo a diario (como desarrollador más que como administrador de sistemas)

    • zsh
    • lsof
    • pD
    • ack (o grep)
    • encontrar
    • svn
    • Python
    • tar
    • which
    • fortuna (un hombre tiene que mantener la cordura de alguna manera)
    1
    claytron

    Perl y Vim. En ese orden. Cualquier otra cosa, puedo usar Perl para emular de alguna manera.

    Simple, básico pero aún esencial:

    ps - reporta una instantánea de los procesos actuales.

    libre - Muestra la cantidad de memoria disponible y utilizada en el sistema.

    w - Muestra quién está conectado y qué está haciendo.

    1
    gimel

    Todos los comandos y utilidades estándar (Bash, grep, sed, AWK, find, xargs, ssh, Vim, etc.)

    • Lsof, increíble en muchos sentidos, me encanta usarlo para encontrar puertos abiertos Y los archivos asociados con ese proceso.
    • Pantalla, para multisesión impresionante.
    • Tcpdump, es curioso cuántos problemas de aplicaciones son problemas de red realmente extraños
    • Ruby, tiene más sentido para mí que Perl, volviéndose tremendamente popular por SA trabajo.
    • Chef, sistema de gestión de la configuración.
    • Capistrano, ssh en un bucle for, pero menos cutre. Y en Ruby.
    • Rastrillo, más sensato que hacer.
    1
    jtimberman

    pkill o ps para procesos de matanza.

    Si desea usar ps para matar cualquier proceso con un nombre dado o en un directorio determinado blah (o cualquier cadena coincidente que necesite) puede:

    kill `ps -ef | grep <blah> | grep -v grep | awk '{print $2}'`
    
    1
    Iain Holder
    • encima: otra alternativa superior, excelente para monitorear cambios en los procesos
    • strace/ltrace - para rastrear esos errores REALMENTE molestos
    • ldd: rastrea las dependencias de la biblioteca dañadas
    • cron, logrotate;)

    Por supuesto, más allá de la línea de comandos, necesita Nagios/Cacti/MRTG/etc ...

    0
    allaryin

    munin es una gran herramienta para realizar análisis y revisión de capacidad, pero debe configurarlo antes de que lo necesite. Lo instalamos como parte estándar de cada instalación de servidor que hacemos.

    0
    Sean Reifschneider

    ¡Aprenda Vim o Emacs dentro y fuera!
    Para editar texto
    Grep
    Sed
    AWK


    Para herramientas de red
    Nmap
    Cavar

    0
    XTZ