Hace un par de semanas respondí una pregunta similar. Aquí está la respuesta que proporcioné. Espero que esto establezca un buen marco básico para usted. Si tiene alguna pregunta específica, no dude en preguntar en un comentario o envíeme un PM aquí en Quora.
Por tu pregunta, parece que probablemente ya has hecho algo de esto también. Así que enumeraré todo, pero deberías elegir tu propia posición inicial.
Considere la posibilidad de crear un par de servidores con una empresa como Rackspace y practicar el lado práctico de la administración de sistemas mediante:
- Configure un servidor en su escritorio local usando VMWare
- Aprenda cómo navegar por el sistema a través de un shell, y un shell solo
- Aprende a compilar software desde la fuente
- Configure un servidor LAMP (Linux, Apache, MySQL y PHP) sin usar la administración de paquetes (es decir, compile desde la fuente, no use apt-get, yum, pacman, etc.)
- Comprueba si todo funciona.
Ahora, gira un servidor Rackspace
- ¿Cuáles son algunos buenos recursos para el conocimiento?
- ¿Cuáles son algunos buenos recursos para aprender esperanto?
- ¿Cuál es la mejor fuente en línea para saber sobre trenes ferroviarios?
- ¿Cuáles son los recursos más fáciles de aprender para el aprendizaje de las matemáticas para los ingenieros de software?
- ¿Cuáles son los buenos recursos (libros + sitios web) para mejorar el pensamiento crítico?
- Aprenda cómo proteger su servidor (limite el acceso a ssh a través del firewall, configure fail2ban, deshabilite la raíz para el acceso a ssh, considere desactivar las contraseñas para iniciar sesión todos juntos y use PKI para la autenticación en su lugar, etc.)
- Configura LAMP nuevamente, esta vez usando un administrador de paquetes
- Invite a algunos de sus amigos a su servidor, haga que tengan una cuenta, déles la posibilidad de crear carpetas “public_html” en su directorio de inicio para que puedan subir páginas web a la página en sudominio.tld, les den cuotas, pídales que intenten y rompan Cosas y arregla lo que rompen.
Gira un segundo servidor
- Configure sus servidores para que un servidor sea su servidor de “producción” y el otro sea su servidor de “desarrollo”. Deben ser idénticos en términos de sistema operativo, paquetes y etc.
- Cree un sistema que le permita realizar cambios en el servidor de desarrollo, probarlos y así sucesivamente y luego enviar los cambios al servidor de producción.
- Date cuenta de lo difícil que es mantener dos servidores idénticos.
Gire un tercer servidor, con una distro con la que no está familiarizado (¿ha estado usando Ubuntu? ¡Pruebe CentOS! Etc.). Este será su servidor de gestión.
- Busque en “puppet” o un sistema de administración de configuración similar, use esto para mantener la configuración de sus dos servidores existentes idéntica.
- Haga que ambos servidores envíen registros a este servidor de administración. Encuentre y configure un sistema de correlación de registros centralizado como logstash, splunk o fluentd y use syslog para enviar sus registros a un solo lugar (esto también tiene beneficios de seguridad que no son evidentes de inmediato)
- En este punto sabrás lo que te gusta hacer, lo que odias hacer y dónde enfocarte mientras continúas practicando.
En cuanto a algunos excelentes “atajos”, hice una hoja de trucos para mi esposa cuando comenzó a estudiar CS. La hoja de trucos cubre aproximadamente el 75% de los comandos de CLI que utilizo a diario. Puede encontrar esa hoja de trucos en http://cyberpunkisdead.net/cheat…
Además de lo que está en la hoja de trucos, hay dos “atajos” que pueden ser beneficiosos de aprender.
- Ejecutar combinar varios comandos de linux en una línea
- Cómo usar el comando alias, por el Proyecto de Información de Linux (LINFO)