Un pequeño desafío para familiarizarme con Linux [cerrado]

9

Me gustaría aprender más sobre Linux. Revisé brevemente algunos libros y bastantes artículos en línea, pero la única forma de aprender algo es comenzar a usarlo.

Me gustaría saltar al fondo y configurar un servidor Linux. Hasta ahora he descargado Ubuntu Server.

Estoy buscando un objetivo o un desafío si lo desea, algo que me familiarice con los servidores Linux.

Idealmente, me gustaría poder configurar un correo seguro, un archivo y servidores web. Tengo una sólida experiencia en programación, así que espero que me ayude.

Entiendo que esta no es una pregunta específica, solo estoy buscando un hito o una meta, de lo contrario puedo pasar semanas leyendo libros y artículos en línea.

Edición 1: Gracias a todos por las respuestas.

Según lo que ha dicho hasta ahora, creo que hay algunas áreas diferentes sobre las que necesito aprender:

  1. Granos. ¿Estoy en lo cierto al decir que esto es lo primero en lo que debería concentrarme?
  2. Virtualización Una vez que esté satisfecho con mi conocimiento sobre los núcleos, me gustaría concentrarme en KVM. He leído brevemente acerca de los hipervisores y creo que también caen bajo la virtualización. Por favor corrígeme si estoy equivocado.
  3. Seguridad. Idealmente, me gustaría dejar esto para el final, pero supongo que la mayoría de los paquetes que necesitaré están en línea. Así que no estoy seguro de si debería darle a esto una mayor prioridad. SSH, Linux como Firewall y acceso remoto a través de shell se incluyen en esta categoría.
  4. Finalmente, echaré un vistazo a las rutinas de copia de seguridad (usando Linux como servidor de archivos) y configuraré los servidores web y de correo. Supongo que el servidor de correo podría ser un fastidio.

Estoy tentado de comenzar un blog y ver a dónde me lleva después de dos semanas. En lo que respecta a las distribuciones, he visto que hay cientos de distribuciones de Linux diferentes. Para ser sincero, no quiero nada simple, pero, al mismo tiempo, no quiero pasar horas en una operación muy básica para empezar. Idealmente, me gustaría trabajar solo desde el símbolo del sistema, una vez que pueda hacerlo, podré trabajar con la mayoría de las GUI bonitas (espero que de todos modos).

Una vez más, gracias por su ayuda y agradeceré cualquier consejo adicional.

Edición 2: Esto me deja con una pregunta final sobre qué distribución de Linux debería usar.

vikp
fuente
1
Un hipervisor es la "cosa" que le permite ejecutar máquinas virtuales. Querías aprender El núcleo es un buen lugar para aprender. Pero tiene una curva de aprendizaje empinada :)
wzzrd

Respuestas:

10

Aquí hay una pareja:

  • ejecute Linux como su sistema operativo principal, tanto en su escritorio como en su computadora portátil, si corresponde
  • instale KVM y virt-manager y cree un par de máquinas virtuales
  • construya un paquete para su distribución de elección (un archivo .deb o .rpm); ayuda a entender muchas cosas
  • construye tu propio núcleo

Puede que estos no parezcan directamente relacionados con sus propios objetivos personales de aprender a construir servidores web, pero le aseguro que si comprende Linux, construirá todo tipo de servidores fácilmente.

wzzrd
fuente
1
+1 por la sugerencia de virtualización! Personalmente, creo que VirtualBox podría ser una forma más fácil de aprender el servidor Ubuntu, pero el concepto es el mismo.
Josh
3
Gracias. Virtualbox es un producto de virtualización de escritorio , dirigido a escritorios, con una interfaz amigable para el escritorio. No mencioné KVM sin ninguna razón: KVM está orientado al servidor. Es un hipervisor Tipo 1, mientras que Virtualbox es Tipo 2. KVM lo obliga a aprender un poco sobre cómo funcionan los núcleos, qué es un hipervisor y cómo puede convertir el núcleo en un hipervisor. Virtualbox simplemente le enseñará cómo hacer clic. Aprender Linux no se trata de "fácil". Se trata de 'conocimiento'.
wzzrd
Ah, y gente, por favor, Ubuntu no es Linux. Ubuntu es solo una encarnación de Linux. Una buena, sin duda, pero sigue siendo una de las cientos de distribuciones que hay. Entonces, en lo que a mí respecta, instale un montón de Linux. Instale CentOS, Fedora, Ubuntu, Gentoo (bueno para aprender mucho), un par de BSD. ¿Tu quieres aprender? ¡Experimentar! Trate de hacer sangrar sus ojos ;-)
wzzrd
Hola wzzrd, gracias por tus respuestas. Por favor vea la edición.
vikp
olvidó el enlace obligatorio a distrowatch.com ya que no hay un sitio mejor que pueda mostrar cuántas distribuciones diferentes puede elegir.
Johan
8

No estoy seguro de cuán "sobre el tema" es esta pregunta, pero creo que es divertida. Mientras más de su computación se traslade a Linux, más rápido comenzará a aprender cosas.

Aquí hay algo que hice poco después de usar Linux exclusivamente. Requiere tener una computadora de repuesto.

  • Configure un servidor con Ubuntu Server.
  • Configure el acceso SSH al servidor.
  • Retire el teclado y el monitor y realice toda la configuración y administración adicionales de forma remota. Para mí, esta fue una experiencia de aprendizaje seria ya que te obliga a (1) hacer todo a través del shell y (2) tener mucho cuidado con los cambios de configuración.
  • Trabaje configurando los servicios que desea. Puede considerar hacer algunos de los siguientes
    • Concéntrese en la seguridad desde el principio. Configurar un cortafuegos. Asegure su configuración ssh. Asegúrese de comprender qué servicios se ejecutan en la máquina y por qué.
    • Configure máquinas cliente para hacer copias de seguridad regularmente en su servidor o en algunos medios externos montados en el servidor o cree alguna otra solución de copia de seguridad que requiera interacción entre sus clientes y el servidor.

En cualquier sistema basado en Debian, un servidor de archivos y un servidor web serán relativamente fáciles de configurar y configurar. Un servidor de correo electrónico será más difícil, al menos si intenta obtener el tipo de entrega de correo confiable que un servicio como gmail puede proporcionar.

Steven D
fuente
Hola, gracias por tu consejo, mira la edición.
vikp
2
+1 para "tenga mucho cuidado con los cambios de configuración". :)
Stefan
En el desarrollo de software hay un libro no oficial de "lectura obligada": Gang of Four, explica los fundamentos y principios muy importantes que muchos desarrolladores de software eligen ignorar. ¿Existe alguna literatura similar para Linux?
vikp
3

Te desafío a configurar un servidor seguro de correo, archivos y web. ¿Eso ayuda?

Parece que has hecho un buen trabajo para enfrentar tus propios desafíos. Haz eso primero, luego piensa en algo nuevo. Enjuague, repita.

bahamat
fuente
1
Agregando a la lista: use su caja de Linux como el firewall de su hogar con NAT.
Gabe.
Hola, el desafío es un lado. Me preocupaba que me concentrara en algo como servidores de archivos o servidores web sin comprender los fundamentos.
vikp
0

Aquí hay dos buenos desafíos:

  • Instalar sambay swato webmin para configurarlo. Escucharás de muchas personas que swaty webmin puede ser inseguro, aprender por qué y aprender a hacer que no sea inseguro. La experimentación con el uso de una caja de Linux como servidor de archivos es muy útil y le enseñará un poco de lo que se necesita para que Windows y Linux jueguen bien juntos.

  • Seleccione una aplicación web "de terceros", instálela y póngala en funcionamiento. Yo diría que instales Wordpress y experimentes con tu propio blog. Ajaxplorer es una buena aplicación que también es muy útil. Aprenderá sobre apache, mySQL php, y cómo funcionan las instalaciones de aplicaciones web y cómo todos esos componentes funcionan juntos. Después de todo eso, saldrás con mucho conocimiento.

Un desafío más fácil:

  • Instalar y ejecutar un servidor FTP. Luego, descubra por qué FTP es una mierda y aprenda sobre SCP, y configúrelo sshdpara permitirle realizar transferencias de archivos seguras.
LawrenceC
fuente