20 votos

¿Qué cosas programador debe saber cada sysadmin?

Inspirado en esta pregunta, pido a la inversa: ¿Cuánto sobre programación sistema los administradores necesitan saber? Más concretamente, ¿qué herramientas de programación son útiles para un administrador de sistemas tener?

29voto

jldugger Puntos 7490
  • De Control De Versiones. Ser capaz de generar, leer y aplicar los parches. Saber cómo utilizar un sistema de control de versiones que presenta repositorio muchas versiones y por qué usted lo desea. Saber cómo escribir descriptivo de cambios y qué se desea. Saber cómo buscar un repositorio de registros para las palabras clave y los marcos de tiempo.
  • De secuencias de comandos. Hacer algo de una vez y estar en su camino. Hacerlo dos veces o más, hacerlo una vez para escribir una secuencia de comandos.
  • La depuración. Saber cómo leer un seguimiento de pila y cómo informar de errores relevantes para su soporte de software de contacto. Encontrar el error es agradable y útil, pero sabiendo cómo solucionarlo puede tomar una gran cantidad de inversión en la lectura del código. Hacer la parte que es fácil para usted, y dejar que ellos hagan la parte que es fácil para ellos.
  • Pruebas. Monitorear continuamente y errores de registro. Se utiliza en conjunción con el control de versiones y pruebas, que tienen una fuerte idea de lo que puede ir mal, cuando y lo que ha cambiado a su alrededor, entonces. Supervisar la producción y preproducción.
  • De La Revisión De Pares. Proponer y revisar los cambios en los sistemas de producción. Prueba en preproducción, determinar exactamente lo que se necesita hacer y registrar lo que los servicios pueden ser afectados por cuánto tiempo. No deje que el Cambio de Gestión de degradar en las batallas políticas del poder burocrático.
  • El Estudio De La Criptografía. Un moderno sistema administrador es el encargado de los recursos de la red; la adición de seguridad como paso final es en algún lugar entre imposible y muy costoso. La comprensión de la criptografía de clave pública, la contraseña de las prácticas de manejo, y la codificación en general será muy valiosa.

9voto

Steven Murawski Puntos 6665

Empezar con:

  1. Cómo escribir más de los scripts más básicos sin importar el idioma. La automatización es tu amigo.
  2. Cómo ejecutar un depurador/sabe cómo leer los reportes de accidente de algún tipo: hace descubrir un informe de accidente y a quién preguntar qué demonios a mucho más fácil.
  3. Control de versiones - no sólo para el código, pero para nada vale la pena mantener un control de antecedentes o cambio por.

7voto

Devdas Puntos 589

La administración del sistema se acaba de programación. Un sistema de administración de configuración le permite ver toda su infraestructura distribuida de la máquina. Como administrador de sistemas, es su trabajo para el programa de esta máquina.

Conoce un editor de texto. Generalmente vi para los administradores de sistemas, emacs para los programadores.

Saber cómo secuencia de comandos. Escoger un lenguaje de secuencias de comandos. Perl es un favorito de siempre, como es el shell/sed/awk combo. Ruby y Python puede trabajar, pero para un montón de cosas que los objetos son el mal de paradigma.

Saber cómo escribir legible de la documentación.

El control de versiones. Crucial para el mantenimiento de los archivos de configuración y las pistas de auditoría.

Aprender a pensar en términos de programación. Entender el procedimiento, orientado a objetos y funcional de los paradigmas de programación. Estos nunca podrán ser utilizados, pero sabiendo que les hace infinitamente más productivo.

Aprender a usar un depurador (o más) y el registro.

Aprender a usar un RDBMS. Hay un montón de requisitos de proceso de datos que puede ser simplificado mediante el uso de un RDBMS correctamente. Incluso ser capaz de cambiar a un DBA papel en la demanda puede hacer maravillas.

Prueba antes de la implementación. Ver la prueba de desarrollo impulsado por la filosofía.

Par de programación es buena. Tener a alguien más que mirar por encima de su hombro para aprender/asesorar/corregir.

Aprender al menos un paso familiaridad con un montón de idiomas. Aprender un nuevo lenguaje de cada año.

5voto

Mei Puntos 2795
  • Saber programar. Sí, eso es lo importante: como un comentarista dijo que, si lo haces más de una vez, a continuación, escribir un guión y escribir bien.
  • Conocer las herramientas que se incluyen en una instalación estándar del sistema operativo. Para los administradores de UNIX, esto significa que las herramientas como el Shell Korn (ksh) y Perl y vi. No confíe en Emacs o Ruby o Tcl o C shell.
  • Conozca la red. Cómo son los paquetes de Ethernet poner juntos? ¿Qué hace que un paquete? ¿Cuáles son los diferentes tipos de paquetes? Conocer herramientas como tcpdump, wireshark, snoop, y otros.
  • Escribir el código portable. Si el código se va a ejecutar en Linux y Tru64 y Solaris - y OpenVMS - a continuación, escribir el código portable. Incluso si se ejecutará en dos versiones de UNIX sólo es portátil. Pero entonces, si no lo necesitas para ser portátil, no pasar más tiempo en él.
  • Saber donde está la documentación. Para Perl, esto significa perldoc, Perl Traficantes, perl.org, etc. Para ksh, esto significa que el hombre de la página y su favorito de la shell Korn libros.
  • El documento, documento, documento, documento! Documentar el código, crear páginas man, crear en línea Perl de la documentación, y todo lo que es apropiado. Explicar cómo usar el programa y por qué se codificaba de esa manera.
  • Sabe que su sistema de embalaje de herramientas. Saber cómo crear Rpm de Red Hat, o HP-UX depósitos, o paquetes de Solaris: esto le permitirá construir paquetes para sus sistemas, y por lo tanto a fin de integrarlos en el proceso de instalación.

3voto

BlankVerse Puntos 85

Scripting es esencial, pero sería la segunda el Consejo que saber algunos idiomas "reales" es una ventaja definitiva. Usted puede hacer algunas cosas muy útiles con el espacio de nombres System.DirectoryServices. net, por ejemplo.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: