1. Linux desde cero
¿Qué es una computadora?
Una computadora es un dispositivo electrónico que manipula información o datos. Tiene la capacidad de almacenar, recuperar y procesar datos.
Hardware
| Dispositivo | Descripción |
|---|---|
| Procesador | Es la Unidad Central de Procesamiento (CPU). |
| RAM | "Random Access Memory", es volátil. |
| ROM | Memoria no volátil, guarda la BIOS. La BIOS es el tipo de software que se encarga de arrancar el sistema. |
| Placa Madre | Placa impresa de circuitos que tiene el procesador, RAM, ROM, red y Entrada y Salida, entre otros componentes. |
| Chipset | Conjunto de microchips en una placa madre que se encargan de administrar funciones específicas. |
| Almacenamiento | Un dispositivo de almacenamiento no volátil, tal cómo un Disco Duro o un Disco de Estado Sólido. |
Software
- Software de sistema es necesario para que el hardware funcione.
- El sistema operativo controla el hardware
- Software de aplicación le dice al sistema que ejecute una acción.
¿Qué es un Servidor?
-
Es una computadora con hardware diseñado para estar en funcionamiento 24/7 y posee un software especializado para tal función.
-
Brinda un servicio a múltiples clientes en una misma o diferente locación.
Tipos de servidores
- Servidores WEB
- Servidores de archivos
- Servidores de correos electrónicos
- Servidores DNS, DHCP, PROXY
- Servidores de bases de datos (Oracle, Mysql)
- Servidores de almacenamiento
¿Qué virtualización?**
La virtualización es la capa de tecnología situada entre el hardware físico de un dispositivo y el sistema operativo, encargada de crear una o varias copias del dispositivo.
¿Qué es una máquina virtual?
Una máquina virtual es un equipo de software que, como en el caso de los equipos físicos, ejecuta un sistema operativo y sus aplicaciones. La máquina virtual puede ejecutar los mismos programas y comportarse exactamente como la máquina original que usted puede tocar con sus dedos. En realidad la máquina virtual no puede tocarse porque sólo existe dentro del programa informático.
Para ser completamente funcional, una máquina virtual requiere los mismos componentes que un equipo físico, como un teclado, un ratón, una CPU, RAM y más. La siguiente imagen muestra algunos de los componentes que necesita una VM.
¿Qué es un Hipervisor?
- Software instalado sobre hardware, crea la capa de virtualización.
- Aloja máquinas virtuales. Las máquinas virtuales se alojan en un host.
- Hipervisor Tipo 1 - Hipervisor "bare metal" (VMware ESXi)
- Hipervisor Tipo 2 - Hipervisor, alojado (VMware Workstation / Fusion)
Máquina física vs Máquina virtual
| Máquina física | Máquina virtual |
|---|---|
| Difícil de mover o copiar/clonar. | Fácil de mover y copiar/clonar porque está encapsulada en archivos y es independiente del hardware físico. |
| Limitada a un conjunto de componentes de hardware específicos. | Fácil de administrar porque está aislada de otras máquinas virtuales funcionando en el mismo hardware físico. |
| Suele tener ciclos de vida cortos. | Protegida de cambios en el hardware físico. |
| Requiere contacto físico para la actualización del hardware. |
Hipervisor Tipo 1 (bare metal hypervisor)
El hipervisor de tipo 1, también llamado hipervisor de "bare-metal" o de "nivel de hardware", se ejecuta directamente sobre el hardware físico sin necesidad de un sistema operativo intermediario. Este tipo de hipervisor controla el hardware directamente y proporciona recursos a las máquinas virtuales.
Esta arquitectura permite que el hipervisor actúe como la primera capa de software, gestionando de manera eficiente las máquinas virtuales (VM) al interactuar directamente con la CPU, la memoria y el almacenamiento.
Las principales características de los hipervisores tipo 1 incluyen:
-
Eficiencia: Al tener acceso directo al hardware, ofrecen un rendimiento superior y una baja latencia, lo que se traduce en tiempos de respuesta rápidos para las máquinas virtuales
-
Seguridad: Al no depender de un sistema operativo host, tienen menos componentes que pueden ser vulnerables a ataques, lo que mejora la seguridad general del entorno virtual
-
Aislamiento: Proporcionan un fuerte aislamiento entre las diferentes máquinas virtuales, lo que significa que un fallo en una VM no afectará a las demás
-
Uso en entornos de producción: Es común en centros de datos y entornos de servidores, donde la eficiencia y el control directo del hardware son cruciales.
Ventajas:
-
Menor latencia y mayor rendimiento, ya que no existe un sistema operativo intermediario.
-
Mayor control y seguridad, dado que se reduce el número de capas de software que podrían ser vulnerables.
-
Escalabilidad y estabilidad para entornos empresariales y de alta demanda.
Ejemplos de hipervisores tipo 1
-
KVM (Kernel-based Virtual Machine): Integrado en el núcleo de Linux, es ampliamente utilizado en entornos de virtualización y cloud
-
AHV de Nutanix: Ofrece un alto rendimiento y una gestión centralizada dentro de infraestructuras hiperconvergentesCitrix Hypervisor: Anteriormente conocido como XenServer, se utiliza para crear y gestionar entornos virtualizados seguros
-
VMware ESXi, Microsoft Hyper-V (en modo de servidor), y Xen.
Hipervisor Tipo 2 (hosted virtualization)
El hipervisor de tipo 2, también llamado hipervisor "hosteado", se ejecuta sobre un sistema operativo existente. En este caso, el hipervisor actúa como una aplicación que se instala en el sistema operativo y luego gestiona las máquinas virtuales.
No interactúa directamente con el hardware, sino que depende del sistema operativo para acceder a los recursos físicos.
Sus características incluyen:
- Facilidad de uso: Son más sencillos de instalar y configurar, lo que los hace ideales para usuarios individuales o entornos de desarrollo
- Interfaz gráfica: A menudo incluyen interfaces gráficas que facilitan la gestión de las máquinas virtuales
- Latencia y rendimiento: Debido a que deben pasar por el sistema operativo host para acceder a los recursos, pueden experimentar una mayor latencia y menor rendimiento en comparación con los hipervisores tipo 1
Ventajas:
- Mayor compatibilidad: Dado que depende del sistema operativo anfitrión, es más sencillo de implementar en computadoras personales.
- Ideal para uso no crítico, como para probar diferentes sistemas operativos o ejecutar software en un entorno virtualizado sin afectar el sistema base.
Ejemplos de hipervisores tipo 2
- VMware Workstation: Popular entre desarrolladores y profesionales que necesitan ejecutar múltiples sistemas operativos en sus PCs.
- Oracle VirtualBox: Una opción gratuita y de código abierto que permite a los usuarios ejecutar diferentes sistemas operativos en máquinas virtuales.
- Parallels Desktop.
Comparación entre Hipervisores Tipo 1 y Tipo 2
| Característica | Hipervisor Tipo 1 | Hipervisor Tipo 2 |
|---|---|---|
| Ejecución | Directamente en hardware | Sobre un sistema operativo huésped |
| Rendimiento | Alto (baja latencia) | Moderado (mayor latencia) |
| Seguridad | Más seguro (menos componentes) | Menos seguro (dependencia del SO) |
| Uso típico | Entornos empresariales grandes | Usuarios individuales o desarrollo |
| Interfaz | Generalmente sin GUI | Interfaz gráfica disponible |
| Uso | Centros de datos, servidores | Desktops, pruebas, desarrollo |
| Complejidad | Requiere configuración más avanzada | Fácil de instalar y configurar |
Ambos tipos de hipervisores son útiles en diferentes contextos; la elección entre uno u otro depende principalmente de los requisitos específicos del entorno de virtualización.
El hipervisor Tipo 1 es más eficiente y adecuado para entornos de alto rendimiento, mientras que el hipervisor Tipo 2 es más flexible y fácil de usar en entornos no críticos o de desarrollo.
Los desarrolladores de programas informáticos prefieren usar un hipervisor de Tipo 2 porque les permite probar su código en diferentes sistemas informáticos utilizando diferentes sistemas operativos. Si el código no funciona correctamente y la computadora se estropea, simplemente pueden apagar la máquina virtual y reiniciarla para continuar realizando más pruebas.
¿Qué es un snapshot?
Un snapshot captura instantáneamente todo el estado de la máquina virtual en el momento en que se toma la instantánea. Esto incluye:
- El estado de los discos de la máquina virtual.
- El contenido de la memoria de la máquina virtual.
- La configuración de la máquina virtual.
Cuando usted vuelve al snapshot, devuelve todos estos elementos al estado en el que estaban en el momento en que tomó la instantánea.
¿Qué es un Data Center o Centro de Datos?
La infraestructura de los centros de datos consta de tres componentes principales: un sistema informático (un servidor), los dispositivos de almacenamiento y las redes.
Tipos de Servidores
-
Tower Compute
- Servidores en formato de torre, similares a una computadora de escritorio grande.
- Ideales para entornos pequeños o oficinas.
-
Rack-Mounted Compute System
- Servidores diseñados para instalarse en un rack (bastidor) dentro de un centro de datos.
- Optimizan el espacio y facilitan la administración y escalabilidad.
-
Blade Compute System
- Servidores modulares (hojas o blades) que se insertan en un chasis compartido.
- Comparten recursos como energía, refrigeración y red, aumentando la eficiencia.
Por tipo de servicio (software):
-
Servidores WEB – Alojan sitios web.
-
Servidores de archivos – Gestionan el almacenamiento y acceso a archivos en red.
-
Servidores de correo – Administran el envío y recepción de emails.
-
Servidores DNS, DHCP, PROXY – Gestionan nombres de dominio, direcciones IP y tráfico de red.
-
Servidores de bases de datos – Alojan y gestionan bases de datos (Oracle, MySQL, etc.).
Beneficios de un Centro de Datos Virtual
-
Los Centros de Datos usan mucho hardware, la virtualización hace que el hardware sea más eficiente.
-
El incremento en recursos de computación resulta en una mayor disponibilidad de aplicaciones.
-
Menos trabajo necesario para monitorear los Centros de Datos, ya que el administrador puede monitorear desde su escritorio usando un programa.
-
Software-Defined Data Center (SDDC): El hipervisor agrupa los recursos de los Centros de Datos físicos en uno virtual.
¿Qué es vSphere?
- Suite de tecnología de virtualización diseñado para la administración de Centros de Datos de nivel empresarial.
- Las herramientas de virtualización de vSphere incluyen:
-
ESXi: Es el software hypervisor tipo 1 de VMware, instalado directamente en el servidor físico, crea la capa de virtualización.
- Componentes de ESXi: Microkernel Unix, VMware Kernel (VMkernel)
-
vCenter: Software de administración (instalado en el servidor de administración).
- Software instalado en un servidor dedicado para administrar los servidores ESXi y otros componentes de un Centro de Datos virtualizado.
-
vSphere Client: Programa que controla los servidores huésped y las máquinas virtuales.
- Programa con una interfaz gráfica que le permite al administrador de Centro de Datos conectarse al vCenter y al ESXi remótamente.
-
Tipos de Computación en la Nube
La computación en la nube es categorizada en distintos modelos de servicio. Los más grandes son:
-
Software as a Service (SaaS):
-
Qué es: Aplicaciones completas listas para usar a través de internet.
-
Ejemplo: Slack (mensajería), Gmail, Microsoft 365, Salesforce.
-
Característica clave: No gestionas infraestructura ni plataforma, solo usas el software.
-
-
Platform as a Service (PaaS):
-
Qué es: Un entorno listo para desarrollar, ejecutar y gestionar aplicaciones sin preocuparse por la infraestructura subyacente.
-
Ejemplo: Amazon Web Services (AWS) Elastic Beanstalk, Google App Engine, Microsoft Azure App Services, Heroku.
-
Característica clave: Te concentras en el código, el proveedor gestiona el sistema operativo, servidores, almacenamiento y red.
-
-
Infrastructure as a Service (IaaS):
-
Qué es: Servicios de infraestructura fundamental (servidores virtuales, almacenamiento, redes) bajo demanda.
-
Ejemplo: Amazon EC2, Microsoft Azure Virtual Machines, Google Compute Engine, DigitalOcean Droplets.
-
Característica clave: Tienes control total sobre el sistema operativo y el software, el proveedor gestiona el hardware físico.
-
¿Qué es Linux?
Es un sistema operativo Open Source con Licencia Pública General (GNU), creado por Linus Torvalds. Se basa en los principios y diseños del sistema operativo UNIX. Es el sistema operativo más utilizado en servidores.
¿Qué es UNIX?
-
Nació a principios de la década de los 70 por los desarrolladores Ken Thompson y Dennis Ritchie. Fue creado en los Laboratorios Bell, que pertenecen a la famosa compañía AT&T. Fue creado como un sistema operativo para manejar servidores.
-
Unix es un sistema propietario que no se puede modificar, propiedad de la compañía AT&T que es la única que tiene permiso de modificarlo v actualizarlo.
LINUX vs UNIX
-
El kernel de Linux se basa en UNIX.
-
Linux está bajo licencia GNU y por lo tanto, el kernel Linux es completamente libre y gratuito y cualquier persona puede modificar el código fuente, el cual está disponible para todo el mundo.
-
Unix es un sistema propietario que no se puede modificar, propiedad de la compañía AT&T que es la única que tiene permiso de modificarlo y actualizarlo.
Linux en números
- El 100% de las 500 supercomputadoras más potentes del mundo funcionarán en Linux para 2021
- El 90% de todos los efectos especiales de Hollywood se realizan en Linux.
- En 2020, el 55,9% de todos los desarrolladores profesionales utilizaron Linux.
- El 38,3% de todos los sitios web utilizan Linux en lo que va de 2021.
- El 94% de la nube EC2 de Amazon se ejecuta en Linux.
Distribuciones de Linux

GNU GRUB o gestor de arranque
-
El gestor de arranque carga todo lo necesario para que inicie nuestro sistema operativo de manera correcta, como el kernel y sus opciones predefinidas. Una vez carga el kernel, el Grub pasa el control al mismo para que complete el proceso de inicio.
-
El Grub bootloader se activa al cargar el primer elemento del Master Boot Record (MBR) en el disco de arranque.
Kernel de Linux
El kernel es el núcleo de un sistema operativo que se encarga de gestionar o administrar los recurso de nuestro servidor.
Proceso de arranque de Linux
- BIOS (Firmware)
- MBR (512mb ubicado en el primer sector del HDD, Tabla de particiones)
- GRUB
- KERNEL
- INIT (Archivos de iniciación del sistema operativo)
- Runlevel Programs
Definiciones Básicas
-
Directorio: Carpetas
-
Archivo: Documento
-
Comando: Orden que se le envía a una computadora para que realice una tarea en específico
-
Terminal: Intérprete de línea de comandos
-
Cron: Es un administrador de tareas que por lo general se ejecuta en segundo plano
-
CLI: Interfaz de línea de comando
-
GUI: Interfaz gráfica
Árbol de directorios
| Directorio | Descripción / Propósito |
|---|---|
| /bin | Binarios de usuario |
| /boot | Ejecutables y archivos requeridos para el arranque |
| /dev | Archivos de información de todos los volúmenes |
| /etc | Archivos de configuración del sistema y de aplicaciones |
| /home | Directorio personal con las carpetas de usuario |
| /lib | Bibliotecas necesarias para la ejecución de binarios |
| /media | Directorio de montaje de volúmenes extraíbles |
| /opt | Ficheros de aplicaciones externas que no se integran en /usr |
| /proc | Ficheros de información de procesos |
| /root | Directorio personal de superusuario |
| /sbin | Binarios de sistema |
| /srv | Archivos relativos a servidores web. FTP etc. |
| /sys | Archivos virtuales con información de eventos del sistema |
| /tmp | Directorio de ficheros temporales |
| /usr | Archivos programas y aplicaciones instaladas |
| /var | Archivos de variables, logs. emails de los usuarios del sistema. etc. |
Arquitectura de discos
| MBR (1GEN) | GPT / UEFI (2GEN) |
|---|---|
| 4 particiones primarias | Interfaz grafica |
| 4TB por disco | 128 particiones primarias |
| Legacy (Windows 7, XP, Linux) | 18 exabytes por disco |
| Actualización por red | |
| Doble BIOS | |
| Secure boot |