¿Qué tecnologías, habilidades y conocimientos debe conocer un administrador de servidor Linux para configurar y administrar completamente cualquier servidor Linux?

  1. La habilidad principal que necesita es un nervio fuerte =), sin embargo, aquí está:
  2. Administrar particiones y discos duros en su sistema, especialmente en diferentes niveles RAID y administración de volúmenes lógicos ( LVM )
  3. Utilidades de configuración de red: ifconfig, ip, route
  4. Utilidades de depuración de red: netstat, traceroute
  5. Utilidades de gestión de procesos: al menos ps, top, lsof
  6. Lista de servicios “imprescindibles”: Apache / MySQL / DNS / DHCP / LDAP / IMAP / SMTP / FTP
  7. Conceptos básicos de registro, como syslogd y logrotate
  8. Tecnologías de visualización, como OpenVZ o KVM
  9. Un poco de conocimiento de hardware

Yo diría que este es un conjunto mínimo de habilidades que necesita para ser un administrador de sistemas Linux menos universal. Sin embargo, está muy acortado.

Si vas a ser administrador de sistemas, debes amar dormir toda la noche y odiar que te llamen y te despierten. El administrador de sistemas verdaderamente exitoso abordará todos los problemas que surjan y buscará formas de predecir fallas y será alertado con suficiente anticipación para evitar situaciones problemáticas.

Algunos ejemplos obvios son:

  • Escriba scripts que supervisen el crecimiento del sistema de archivos y alerten cuando un sistema de archivos se esté acercando demasiado para quedarse sin espacio.
  • Monitoree la utilización de la CPU y sepa de antemano cuándo se está quedando sin gasolina
  • Observe el uso de la memoria y, si ve el inicio de la paginación pro-act en lugar de volver a actuar
  • Sepa qué trabajos por lotes se ejecutan y sepa cuándo falla uno y aborde la causa de la falla, no solo la falla en sí

Alguien anteriormente mencionó las secuencias de comandos. Me gustaría enfatizar la importancia de eso. Es el medio por el cual dejas que la máquina, con el tiempo, aprenda a administrarse a sí misma. Si no puede escribir, USTED será la computadora de carne que hace todas las cosas que la computadora de silicio podría hacer si fuera capaz de capturar sus habilidades en un idioma que pueda entender. He escrito cientos de guiones que van desde líneas simples hasta más de 1,000 líneas. Y casi nunca me llaman en medio de la noche y trabajo en un entorno tolerado por el tiempo de inactividad cero 24x7x365.25. Los guiones son tus amigos.

Gracias por el A2A.

“Cualquiera” es un poco amplio … desde esto

(sí, es cierto, el tamaño de un conector Ethernet RJ-45)

a una supercomputadora masiva de monstruos multi-CPU y multi-núcleo como el Tianhe-2

Aleksandr Bakharev tiene una muy buena lista. Faltan elementos clave:

  1. seguridad. No puedo exagerar la importancia de la seguridad. Un mono con un teclado puede configurar una interfaz de red y encenderla, tal vez dos monos juntos puedan descubrir cómo cargar una pila LAMP. Se necesita mucho más que eso para descubrir cómo mantener un servidor seguro, seguro y utilizable.
  2. Comprender el hardware subyacente y cómo funciona. Su sistema operativo se trata de hacer que esos recursos estén disponibles para los programas, si sabe más sobre lo que son, tiene una mejor idea de cómo medir si se asignan de manera efectiva
  3. como señaló Anthony van Geest, virtualización. En estos días, la mayoría de las instancias en ejecución no están en el metal desnudo. Una vez que comprenda el hardware, debe comprender que el hipervisor está cortando eso y sirviendo piezas virtuales como máquinas virtuales en las que se ejecutará su sistema operativo. Eso puede ahorrarle muchos dolores de cabeza al depurar “rarezas”.
  4. comunidad. No puedes hacer esto solo, muy bien. Necesitas encontrar una comunidad para unirte, aprender, contribuir, etc. Confía en mí en esto.

Buena suerte.

Muy buenas respuestas ya están dando. Agregaría comprensión de la virtualización. Puede practicar sus habilidades en una máquina virtual en lugar de una máquina de producción. En segundo lugar, muchos servidores actúan como host para máquinas virtuales.
Familiarícese con las diferentes distribuciones y las cosas que las hacen diferentes para que pueda hacer una buena elección para cada ocasión. Luego, aprenda sobre el funcionamiento interno de Internet y especialmente los servidores.
Cuando tenga su servidor Linux en funcionamiento, siga los consejos anteriores.

  • Comandos de Linux Shell
  • Iptables => Firewall inteligente contra ataques de hackers, cosechadores y Ddos
  • SeLinux => bloquea muchas cosas
  • Configuración de Sysconfig
  • Paquete de actualización
  • Enlace (zonas DNS)
  • Apache (servidor web, HTTPS, HTTPS)
  • Mysql (Base de datos, cmds SQL)
  • Exim (SMTP)
  • Dovecot (IMAP, POP3, IMAP)
  • Spam-Assasin para detener el spam
  • Ssh (acceso a Shell)
  • proftpd (FTP, FTP)
  • Openssl (SSL)

Los elementos que ya están en el servidor Linux están cubiertos en otras respuestas. Las partes que a menudo se pasan por alto son: ¿qué necesita un administrador de sistemas para tener instalado y saber bien en el sistema del cliente para que sea efectivo?

  • Git (usando git y make para tareas más allá de la codificación)
  • Make (Usando git y make para tareas más allá de la codificación)
  • SSH
  • Un hipervisor como VMware (empresa) o Kernel Virtual Machine
  • Pandoc (srsly. Si no lo tiene documentado con el documento registrado en Git, nunca sucedió)
  • Al menos un lenguaje de script decente: probablemente Python o Perl.
  • Cliente de correo con filtrado

Algunas respuestas adicionales:
– Necesita saber cómo usar una interfaz de línea de comandos (CLI). La mayoría de las tareas de administración en Linux se realizan mejor usando la CLI. En realidad, la mayoría de las máquinas Linux están configuradas como servidores y están configuradas sin cabeza (sin GUI). Entonces la CLI es la interfaz principal. Para ser útil, también domine algunos comandos básicos. También es bueno saber cómo arreglar las cosas con una CLI. Tenga en cuenta que normalmente hay una forma de CLI para todas las tareas administrativas.
– Aprenda a usar un editor de texto accesible desde la línea de comandos. Muchas de las correcciones que debe realizar requerirán editar la configuración y otros tipos de archivos. Además del primer punto anterior, este tiene que ser un editor de texto más comúnmente instalado en el sistema que administra (por ejemplo, vi).
– Aprende a deletrear registros. Esta es su principal fuente de sabiduría para RCA. Conozca los archivos de registro comunes (mensajes, syslog, utmp) y los especialmente relevantes para su trabajo.

Comandos de shell básicos y buenas habilidades de Google. Buscar en Google “cómo configurar Apache” o “boot linux zfs raidz” le dará cientos de guías. Pero hay una trampa: puede seguir todo a ciegas sin una comprensión real del rendimiento y la seguridad.

Investigue y pruébelo en su propio servidor web. Creo que ejecutar su propio servidor es la mejor manera de aprender lo esencial.

Mucho 🙂

Puede comenzar con ese libro: Amazon.com: UNIX and Linux System Administration Handbook, 4th Edition (0076092035978): Evi Nemeth, Garth Snyder, Trent R. Hein, Ben Whaley: Books)

Este también fue extremadamente útil para mí, pero se trata principalmente de la administración del sistema: The Practice of System and Network Administration, Segunda edición: Thomas A. Limoncelli, Christina J. Hogan, Strata R. Chalup: 0785342492668: Amazon.com: Libros

Simplemente puede buscar los capítulos del primer libro para tener su lista.

Buena suerte.

Encuentre un área que le guste y trabaje desde allí.

Este es un buen lugar para comenzar para Linux GE:
Linux Bible Paperback – 11 de septiembre de 2012
por Christopher Negus (Autor), Christine Bresnahan (Colaborador)
ISBN-10: 111821854X
ISBN-13: 978-1118218549

Scripting de shell, gestión de Apache, nginx, MariaDB, MySql Db, SMTP, FTP, NFS, etc.

Además, necesita conocer todas las herramientas de línea de comandos para monitorear el hardware en el servidor, como top, free, etc.

Me gusta la lista de Aleksandr arriba. Agregaría algunos que dependen de la distribución: NetworkManager, RPM y YUM en RedHat. Systemd en RedHat 7 y Fedora. apt-get, apt-cache y dpkg y upstart en Ubutntu (y sus hijos). Xorg en ambos. LDAP, tal vez Active Directory, dependiendo de si su empresa ha cedido a Microsoft es algo de DIOS.