Unidad 1.2: Historia y Evolución de Linux

Author

Diego Saavedra

Published

January 29, 2024

🎯 Historia y Evolución de Linux

Introducción

Para entender Linux, primero necesitas conocer su historia. Linux no nació de la nada - es el resultado de 50 años de evolución de Unix y la brillante decisión de Linus Torvalds de liberar el código bajo licencia abierta en 1991. En Abacom, comprender esta historia te ayuda a entender por qué Linux es gratuito, por qué funciona tan bien, y por qué es la opción ideal para servidores.

Tiempo de lectura: ~18 minutos
Nivel: Principiante
Requisitos previos: Concepto básico de SO (de la lectura anterior)


🗺️ En este tema aprenderás

En esta unidad cubriremos:

  1. Los Orígenes: Unix (1960s-1980s) - AT&T Bell Labs y la evolución

  2. Nacimiento de Linux (1991) - Linus Torvalds y su proyecto

  3. Filosofía del Código Abierto - Por qué “open source” importa

  4. Evolución del Kernel Linux - Versiones y mejoras críticas

  5. Impacto Moderno - Linux hoy: servidores, móviles, IoT


Unix - El Abuelo de Linux

Definición clara:

Unix fue un sistema operativo revolucionario creado en 1969 en AT&T Bell Labs (Unix.com 2024). No fue el “primero”, pero fue el que definió cómo debería verse un SO moderno. Sus principios siguen siendo válidos hoy.

Note¿Por qué importa?
  • Impacto directo: Todos los SOs modernos (Linux, macOS, Unix comercial) descienden de los principios de Unix.
  • En Abacom: Linux es “Unix-like” - sigue los estándares POSIX que vienen de Unix.
  • Ventaja profesional: Un admin que conoce Unix puede trabajar en cualquier sistema similar.

Linus Torvalds y el Nacimiento de Linux (1991)

Definición clara:

En 1991, un estudiante finlandés de 21 años llamado Linus Torvalds escribió un pequeño kernel basado en Minix y lo publicó en Usenet con las palabras (Torvalds 1991):

“Hello from Finland. I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu) for 386(486) AT clones.”

Eso fue el nacimiento de Linux.

WarningPunto importante

Linus NO inventó Linux solo. Lo que hizo fue:

  1. Escribir un kernel pequeño y funcional

  2. Liberar el código bajo licencia GPL (GNU GPL V3.0 2007)

  3. Aceptar contribuciones de otros desarrolladores

  4. Mantener la comunidad colaborativa

La magia no fue el código original, sino la DECISIÓN de hacerlo abierto.


💡 Ejemplos Prácticos

Linux

BASH
# Ver versión actual de kernel en Linux
1$ uname -r
5.15.0-89-generic

# Desglosar la versión:
# 5       = Versión mayor (cambios significativos)
# 15      = Versión menor (nuevas características)
# 0       = Revisión de parches
# 89      = Ubuntu patch number
# generic = Tipo de kernel
1
uname -r muestra la versión exacta del kernel instalado en formato major.minor.patch

Explicación:

  • Linux 0.01 (1991): ~10,000 líneas de código
  • Linux 1.0 (1994): Primer release estable
  • Linux 5.0 (2019): Millones de líneas

macOS

BASH
# Ver versión de kernel en macOS (Darwin)
1$ uname -r
23.3.0

# Versión más detallada
2$ sw_vers
ProductName:    macOS
ProductVersion: 14.2.1

# Información del kernel
3$ sysctl kern.version
Darwin Kernel Version 23.3.0
1
uname -r en macOS muestra la versión de Darwin (kernel basado en BSD/Unix)
2
sw_vers muestra la versión de macOS que corresponde a esa versión de Darwin
3
sysctl kern.version proporciona información detallada del kernel Darwin

Explicación:

  • macOS usa Darwin (kernel de Unix)
  • Las versiones de Darwin no siempre coinciden con las de macOS
  • Darwin 23.x corresponde a macOS 14.x

Windows

POWERSHELL
# Ver versión de kernel en Windows
1PS> [System.Environment]::OSVersion
Platform ServicePack Version         VersionString
-------- ----------- -------         -------
Win32NT             10.0.22621.3737  Microsoft Windows NT 10.0.22621.3737

# Versión más legible
2PS> (Get-Item "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").GetValue('ProductName')
Windows 11 Professional

# Información del kernel
3PS> Get-ComputerInfo -Property OsVersion, KernelVersion
1
[System.Environment]::OSVersion muestra la versión del SO en formato de .NET, incluyendo versión de kernel interna
2
Lectura del Registry obtiene el nombre del producto (Windows 11, Windows Server, etc.) de forma más legible
3
Get-ComputerInfo es el cmdlet moderno en PowerShell 7+ que proporciona información del sistema completa

Explicación:

  • Windows no usa “versión de kernel” de la misma forma
  • 10.0.22621 indica Windows 11 (10.0 es la versión interna)
  • 22621 es el número de build

Linux

BASH
# Descargar historia del kernel Linux (requiere ~2GB)
1$ cd /tmp
2$ git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git

# Ver primer commit (1991)
3$ cd linux
4$ git log --reverse | head -10
commit 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
Author: Linus Torvalds <torvalds@ppc970.osdl.org>
Date:   Wed Apr 16 15:20:36 2002

# Ver estadísticas del proyecto
5$ git log --oneline | wc -l
1234567 (más de un millón de commits)
1
cd /tmp navega al directorio temporal para no llenar el disco de tu home
2
git clone descarga TODO el repositorio (1.5-2GB) con toda la historia de commits desde 1991
3
cd linux entra en el directorio del repositorio clonado
4
git log –reverse muestra commits en orden cronológico (más antiguo primero) y head -10 limita a los primeros 10
5
git log –oneline | wc -l cuenta el número TOTAL de commits en toda la historia del kernel

Cómo funciona:

  • El kernel Linux tiene historia de commits desde 1991
  • Cada versión fue construida encima de la anterior
  • Hoy hay miles de desarrolladores contribuyendo

macOS

BASH
# Darwin (macOS kernel) es open source parcialmente
# Puedes ver código en https://opensource.apple.com

# Ver información local del kernel
1$ uname -a
Darwin macbook 23.3.0 Darwin Kernel Version 23.3.0

# Ver versiones de Darwin disponibles
2$ sw_vers -productVersion
14.2.1

# El kernel evoluciona con cada versión de macOS
# macOS 14.2.1 = Darwin 23.3.0
1
uname -a muestra toda la información del sistema: nombre del host, versión de Darwin, arquitectura (arm64 para Apple Silicon)
2
sw_vers -productVersion muestra SOLO la versión de macOS (más limpio que sw_vers completo)

Cómo funciona:

  • Darwin es basado en BSD (que es Unix)
  • Menos abierto que Linux pero código disponible
  • Evoluciona anualmente con nuevas versiones de macOS

Windows

POWERSHELL
# Windows tiene historial en Github (parcialmente)
# Descarga desde: https://github.com/microsoft/Windows-driver-samples

# Ver información de versión en tu sistema
1PS> Get-Item "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion"

ValueName      Type   Value
---------      ----   -----
2CurrentBuild   String 22621
3ReleaseId      String 23H2

# Windows 11 Kernel timeline:
# Windows 11 21H2 (initial)
# Windows 11 22H2 (major update)
# Windows 11 23H2 (latest)
1
Get-Item accede al Registry de Windows donde se almacena información del SO
2
CurrentBuild es el número de compilación que identifica la versión específica (22621 = Windows 11 23H2)
3
ReleaseId indica el ciclo de lanzamiento (H1 = primer semestre, H2 = segundo semestre)

Cómo funciona:

  • Windows kernel es propietario
  • Versiones numeradas por año (21H2 = 2021 H2)
  • Actualizaciones trimestrales de seguridad

Linux (Servidor)

BASH
# En nuestros servidores Linux de Abacom
1$ cat /proc/version
Linux version 5.15.0-89-generic (buildd@lgw02-amd64-030)
(gcc-11 (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, GNU ld 2.38)
#99-Ubuntu SMP Mon Oct 5 09:29:34 UTC 2024

# Verificar compatibilidad de módulos
2$ uname -a
Linux prod-server-01 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 5 09:29:34 UTC 2024 x86_64 GNU/Linux
1
/proc/version es un archivo virtual que muestra información completa del kernel compilado (compilador usado, flags, fecha)
2
uname -a resume la información de forma más legible: nombre del servidor, versión de kernel, arquitectura (x86_64)

Por qué lo usamos en Abacom:

  • Verificar que estamos en kernel estable (5.15.0)
  • Asegurar compatibilidad con aplicaciones
  • Planificar upgrades cuando salen parches críticos
  • Kernel LTS (Long Term Support) = Soporte por 5 años

macOS (Desarrollo)

BASH
# En las máquinas MacBook Pro de Abacom
1$ uname -a
Darwin macbook-abacom 23.3.0 Darwin Kernel Version 23.3.0 arm64

# Verificar compatibilidad de Docker y VirtualBox
2$ sysctl hw.physicalcpu
hw.physicalcpu: 8

# Versión de desarrollo tools
3$ clang --version
Apple clang version 15.0.0
1
uname -a muestra “arm64” (Apple Silicon M1/M2/M3) vs “x86_64” (Intel), crucial para compatibilidad de herramientas
2
sysctl hw.physicalcpu verifica el número real de CPU cores (importante para Docker y VirtualBox performance)
3
clang –version verifica la versión del compilador de Apple (necesario para compilar código C/C++)

Por qué lo usamos en Abacom:

  • Verificar compatibilidad Apple Silicon vs Intel
  • Asegurar que Docker y herramientas funcionan
  • Compatibilidad entre equipos del equipo

Windows (Administración)

POWERSHELL
# En máquinas Windows de administración
1PS> [System.Environment]::OSVersion.VersionString
Microsoft Windows NT 10.0.22621.3737

# Verificar que sea Windows 11 Pro/Enterprise
2PS> (Get-ComputerInfo -Property WindowsInstallationType).WindowsInstallationType
Client

# Versión de PowerShell para scripts
3PS> $PSVersionTable.PSVersion
Major  Minor  Build  Revision
-----  -----  -----  --------
7      4      11     0
1
[System.Environment]::OSVersion.VersionString obtiene la versión del SO en formato legible (Windows NT 10.0 es Windows 11 internamente)
2
Get-ComputerInfo es el cmdlet moderno que obtiene “Client” (Windows 11) vs “Server” (Windows Server)
3
$PSVersionTable.PSVersion verifica la versión de PowerShell (7.x es PowerShell Core moderno, 5.x es el antiguo)

Por qué lo usamos en Abacom:

  • Administración remota de servidores
  • Automatización con PowerShell
  • Compatibilidad con herramientas de administración
  • Windows 11 es estable para administración


🔧 Evolución del Kernel Linux

Era Antigua (1991-2003) - Los Fundamentos

En este período, Linux pasó de ser un hobby a ser usable profesionalmente:

1991: Linux 0.01 - Idea loca de Linus
1993: Linux 1.0 - Primer "release" usable
1996: Linux 2.0 - Soporte SMP (múltiples CPUs)
2001: Linux 2.4 - Mejoras de rendimiento

Lo importante:

  • El kernel creció de ~10K líneas a millones
  • Se agregaron drivers para más hardware
  • Comunidad internacional comenzó a crecer

Era Moderna (2003-2011) - Estabilidad

Linux 2.6 fue una era dorada de estabilidad:

BASH
# Kernel 2.6 duró... 8 años en desarrollo!
# Porque priorizó:
# - Estabilidad (sin crashes)
# - Compatibilidad (sin romper código viejo)
# - Rendimiento (cada versión más rápido)

Por qué importa:

  • Los sistemas de hoy necesitan estabilidad
  • Kernel 2.6 fue la base para servidores críticos
  • Aún hay sistemas usando kernel 2.6 en producción

Era Actual (2011-Presente) - Innovación Rápida

Desde Linux 3.0, el kernél cambia cada 2-3 meses:

BASH
# Timeline reciente
12011: Linux 3.0
22014: Linux 3.14 → Renombrado a 4.0 (marketing)
32019: Linux 5.0
42024: Linux 6.7+

# Cada versión introduce nuevas características:
# - Mejor seguridad
# - Soporte para nuevo hardware
# - Mejoras de rendimiento
1
Linux 3.0 marcó el inicio del desarrollo rápido (cambios cada 2-3 meses en lugar de años)
2
En 2014, el número de versión saltó de 3.14 a 4.0, un cambio de marketing para que pareciera más grande
3
Linux 5.0 llegó en 2019, 8 años después del cambio a 4.0, continuando la numeración
4
Hoy en 2024/2025, estamos en kernel 6.x, demostrando la evolución constante del kernel

En Abacom:

  • Ubuntu 22.04 LTS usa kernel 5.15 (LTS = Long Term Support)
  • “LTS” significa 5 años de actualizaciones de seguridad
  • No cambiamos kernel frecuentemente en producción

🔧 Filosofía del Código Abierto

La Licencia GPL (General Public License)

La GPL es lo que hace que Linux sea verdaderamente “libre”:

BASH
# Ver licencia de Linux
1$ head -20 /usr/share/doc/linux-image-*/copyright
# O en GitHub: https://github.com/torvalds/linux/blob/master/COPYING

2# Los 4 puntos clave:
# 1. Libertad de usar (para cualquier propósito)
# 2. Libertad de estudiar (acceso al código)
# 3. Libertad de modificar (crear versiones personalizadas)
# 4. Libertad de distribuir (compartir cambios)
1
En cualquier sistema Linux, puedes ver la licencia GPL completa en /usr/share/doc/ o en el repositorio oficial de GitHub
2
La GPL tiene 4 libertades fundamentales: usarlo, estudiarlo, modificarlo y compartir los cambios. Esto es lo que hace a Linux verdaderamente “libre”

Importancia:

  • No pagas por usar Linux (es gratis)
  • Puedes ver exactamente qué hace (transparencia)
  • Si lo modificas, debes compartir los cambios

Colaboración Global

Miles de desarrolladores contribuyen:

BASH
# Estadísticas reales del kernel Linux
1# Aproximadamente:
# - 18,000+ archivos de código
# - 28+ millones de líneas de código
# - 2,000+ nuevas funciones por versión
# - Contribuciones de: Intel, Red Hat, Google, Canonical, etc.

# Ver estadísticas de git del kernel
2$ git log --oneline | wc -l
# Resultado: Millones de commits en 30+ años
1
El kernel Linux tiene más de 28 millones de líneas de código, distribuidas en 18,000+ archivos, desarrollado por miles de desarrolladores de diferentes empresas
2
El comando git log –oneline muestra todos los commits (cambios) en el historial del kernel, y wc -l los cuenta. Resultado: millones de commits demostrando 30+ años de desarrollo colaborativo

En la práctica:

  • Si necesitas una característica específica
  • Puedes escribirla o contratar a alguien
  • Puedes contribuir de vuelta a la comunidad

Seguridad mediante Transparencia

Con código abierto, más ojos = más seguridad:

BASH
# Cuando se descubre un bug de seguridad en Linux:
# 1. Se reporta a la lista de seguridad (privadamente)
# 2. Desarrolladores trabajan en parche
# 3. Parche se revisa en público (en GitHub)
# 4. Se libera a todos al mismo tiempo

# En Windows/macOS, es:
# 1. Descubrimiento privado
# 2. Microsoft/Apple trabaja en parche
# 3. Se libera cuando ELLOS deciden
# 4. Todos reciben el parche (esperemos)

Ventaja:

  • Bugs se encuentran y se arreglan más rápido
  • No dependes de una compañía para seguridad
  • Comunidad revisa cambios antes de usar

⚠️ Errores Comunes

“Linux es fácil de hackear porque está el código abierto”

CautionSíntoma que verás
"Como el código es público, hackers pueden encontrar vulnerabilidades"

Causa raíz: Malentendido de cómo funciona la seguridad.

Solución comprobada:

✅ Verdadero: Con código abierto, vulnerabilidades SE ENCUENTRAN MÁS RÁPIDO ❌ Falso: Código abierto hace que sea más inseguro

Datos reales:

  • Windows (código cerrado): Promedios de 25-30 CVEs por mes
  • Linux (código abierto): Promedios de 15-20 CVEs por mes
  • La diferencia: En Linux se descubren Y se arreglan juntas

Por qué funciona: Miles de expertos revisan el código Linux constantemente. En código cerrado, solo el fabricante lo revisa. ¿Crees que hay más expertos en Microsoft o en toda la comunidad global?

“Linux cambió mucho desde su versión vieja”

Warning

Síntoma: “Mi código de 20 años no compila en kernel nuevo”
Causa: Cambios en APIs (interfaces de programación) a través de versiones
Solución:

BASH
# Ubuntu LTS (Long Term Support) es para esto
# Ubuntu 22.04 LTS = 5 años de kernel 5.15
# No necesitas actualizar kernel cada mes
# Puedes esperar años entre upgrades

# Verificar soporte de tu versión
$ lsb_release -d
Description:    Ubuntu 22.04.3 LTS

📊 Mejores Prácticas

ImportantPatrones Recomendados

HACER (Prácticas Probadas):

  • Usar Ubuntu LTS en producción → soporte de 5 años
  • Mantener kernel actualizado con parches de seguridad → cerrar vulnerabilidades
  • Contribuir a comunidad si encuentras bugs → ayuda a todos

NO HACER (Antipatrones):

  • Usar kernel experimental en producción → inestabilidad
  • Ignorar parches de seguridad → riesgo masivo
  • Modificar kernel sin conocimiento profundo → causa problemas

📋 Tabla de Referencia Rápida

Evento Año Significado
Unix creado 1969 Fundamentos de todos los SOs
Linux 0.01 1991 “Just a hobby” - Linus Torvalds
Linux 1.0 1994 Primero estable para producción
Linux 2.0 1996 Soporte SMP (múltiples CPUs)
Linux 2.6 2003 Era de estabilidad (8 años)
Linux 3.0 2011 Cambios rápidos (cada 2-3 meses)
Linux 5.0 2019 Era contemporánea actual

🎓 Quiz: Verifica tu Comprensión

NoteAntes de continuar

Responde estas preguntas para verificar que comprendiste los conceptos clave.

¿Cuál es la diferencia entre Unix y Linux?

📖 Ver respuesta

Unix es un SO creado en 1969 por AT&T. Linux es un kernel creado en 1991 por Linus Torvalds, inspirado en Unix pero escrito desde cero.

Ejemplo diferenciador:

BASH
  # En una máquina Unix/Linux:
  $ uname -s

  Linux           # O: Darwin (macOS), AIX, SunOS, etc.

  # El kernel actual (Linux)
  # Pero sigue estándares POSIX de Unix
  # Por eso puedes ejecutar commands similares en ambos

Por qué es importante la diferencia:

  • Unix = Concepto/Filosofía (1969)
    • Linux = Implementación específica (1991)
    • Linux es “Unix-like” (similar a Unix, no idéntico)

¿Quién escribió Linux y cuándo?

💡 Ver respuesta

Linus Torvalds en 1991. Fue un estudiante finlandés que escribió un kernel pequeño como “hobby” y lo publicó bajo licencia GPL.

Dato importante: ```bash # Linus NO escribió todo Linux solo # Lo que hizo fue: # 1. Escribir el kernel inicial # 2. Liberar bajo GPL # 3. Aceptar contribuciones de otros # 4. Mantener la coordinación

Hoy: +18,000 desarrolladores contribuyen


  **Validación:** Si ejecutas esto, ves referencias a Linus:
  ```bash
  $ git log --reverse | grep "Linus Torvalds"
# Verás los commits originales de 1991

¿Por qué deberías usar kernel LTS en producción?

🎯 Ver respuesta

LTS (Long Term Support) significa que Ubuntu garantiza parches de seguridad por 5 años sin cambios grandes.

Escenarios:

  • ✅ Usar LTS en producción: Estabilidad máxima, actualizaciones solo de seguridad

    • ❌ No usar LTS en producción: Cambios cada 2-3 meses, riesgo de breaking changes

    Caso Abacom: Nuestros servidores de producción usan Ubuntu 22.04 LTS porque necesitamos:

    • Kernel estable (5.15)
    • 5 años de seguridad garantizada
    • Mínimos cambios que puedan romper aplicaciones

👨‍💻 Práctica Guiada con el Instructor

Explorar Historia de tu Kernel

Objetivo: Ver de dónde viene tu kernel.

Pasos:

  1. Verificar versión actual

  2. Ver fecha de compilación

  3. Entender qué versión es

Instrucciones:

BASH
# Paso 1: Ver versión del kernel
1$ uname -r
5.15.0-89-generic

# Desglosar:
# 5.15 = Versión principal (actual)
# 0 = Revisión
# 89 = Número de Ubuntu patch

# Paso 2: Ver fecha de compilación
2$ cat /proc/version
Linux version 5.15.0-89-generic ... (fecha aquí)

# Paso 3: Ver si es LTS
3$ lsb_release -d
Description:    Ubuntu 22.04.3 LTS  ← LTS significa Long Term Support
1
uname -r es la forma más rápida de obtener solo la versión del kernel
2
cat /proc/version muestra información adicional: compilador usado, fecha exacta de compilación
3
lsb_release -d verifica si es versión LTS (Long Term Support = 5 años de actualizaciones)

Verificación:

  • ✓ Ves versión del kernel
  • ✓ Sabes si es LTS o no
  • ✓ Entiendes qué versión major es (5.x)

Entender GPL (Licencia)

Objetivo: Verificar que Linux es realmente libre.

Instrucciones:

BASH
# Paso 1: Ver licencia de Linux
1$ head -30 /usr/share/doc/linux-image-*/copyright
# Deberías ver: GPL v2 license

# Paso 2: Verificar que puedes ver el código
# En casi cualquier sistema Linux, el código está disponible:
2$ ls /usr/src/
# Verás: linux-headers-5.15.0-...

# Paso 3: Descargar kernel desde GitHub (oficial)
$ # Este paso es opcional, requiere git y espacio
3$ git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
# Descargará toda la historia de 30 años de commits
1
head -30 muestra solo las primeras 30 líneas del archivo de derechos de autor (copyright), donde está la licencia GPL
2
ls /usr/src/ lista los headers del kernel disponibles - el código fuente está disponible públicamente en tu máquina
3
git clone del repositorio oficial permite clonar la historia COMPLETA del kernel (1.5-2GB)

Verificación:

  • ✓ Ves la licencia GPL
  • ✓ Verificas que el código es público
  • ✓ Entiendes que “GPL” significa libertad

Ejercicio Avanzado - Timeline de Versiones

Objetivo: Entender cómo evolucionó Linux.

Instrucciones:

BASH
# Crear un archivo con timeline
1$ cat > /tmp/linux-timeline.txt << 'EOF'
VERSIÓN | AÑO | EVENTO
--------|-----|-------
0.01    | 1991 | Idea loca de Linus
1.0     | 1994 | Primera version estable
2.0     | 1996 | SMP (múltiples CPUs)
2.4     | 2001 | Servidor enterprise
2.6     | 2003 | 8 años de estabilidad
3.0     | 2011 | Cambios rápidos comienzan
4.0     | 2015 | Renumeración de versiones
5.0     | 2019 | Era contemporánea
6.0     | 2023 | Futuro cercano
EOF

# Ver timeline
2$ cat /tmp/linux-timeline.txt
1
cat > archivo << ‘EOF’ es la forma estándar de crear archivos multi-línea en bash (EOF marca el final)
2
cat archivo muestra el contenido del archivo creado

Ejercicio:

  1. ¿Cuándo fue la “era de estabilidad”?

  2. ¿Cuándo comenzó el kernel a cambiar cada 2-3 meses?

  3. ¿Qué versión tiene tu sistema?


🧪 Laboratorio de Práctica Integrado

Duración: 60-90 minutos
Dificultad: Intermedio
Objetivo General: Entender historia y evolución de Linux en profundidad

Fase 1: Investigación del Kernel Actual (20 min)

BASH
# Crear directorio de trabajo
1$ mkdir -p ~/lab-historia-linux
2$ cd ~/lab-historia-linux

# Recopilar información del kernel
3$ uname -a > kernel-info.txt
4$ cat /proc/version >> kernel-info.txt
5$ cat /etc/os-release >> kernel-info.txt

# Ver resultado
6$ cat kernel-info.txt
1
mkdir -p crea el directorio (la flag -p crea directorios padre si es necesario)
2
cd navega al directorio recién creado
3
uname -a > ejecuta el comando y redirige la salida (>) a un archivo, reemplazando contenido previo
4
cat >> AGREGA el contenido (>>) sin borrar lo que ya está en el archivo
5
cat /etc/os-release >> agrega más información al archivo
6
cat muestra el contenido final del archivo

Fase 2: Buscar en la Historia de Git (20 min)

BASH
# Este paso requiere clonar el kernel (large, ~2GB)
# Opcional - si no quieres hacer clone, salta a Fase 3

1$ cd /tmp
2$ git clone --depth 1 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
3$ cd linux

# Ver primeros commits de 1991
4$ git log --reverse --oneline --since="1991-01-01" --until="1991-12-31" | head -10

# Ver commits más recientes
5$ git log --oneline -n 10
1
cd /tmp evita llenar tu directorio home (el kernel es ~2GB)
2
git clone –depth 1 clona SOLO el último commit (más rápido) en lugar de todo el historial (2GB)
3
cd linux entra en el directorio del repositorio clonado
4
git log –since/until filtra commits por fecha, –reverse muestra más antiguos primero, head -10 limita a 10 resultados
5
git log -n 10 muestra los últimos 10 commits más recientes

Fase 3: Analizar Versiones (20 min)

BASH
# Crear análisis de versiones principales
1$ cat > ~/lab-historia-linux/analisis-versiones.txt << 'EOF'
=== ANÁLISIS DE VERSIONES LINUX ===

Mi kernel actual: [ejecuta: uname -r]

Versiones principales en historia:

- 0.01 (1991): Hobby de Linus
- 1.0 (1994): Primer release estable
- 2.0 (1996): Multiproceso (SMP)
- 2.6 (2003): Era de estabilidad
- 3.0 (2011): Cambios rápidos
- 5.0 (2019): Contemporáneo

¿Qué versión tiene mi sistema?
[Tu versión aquí]

¿Es LTS?
[Sí/No - ver con: lsb_release -d]
EOF

2$ cat ~/lab-historia-linux/analisis-versiones.txt
1
cat > archivo << ‘EOF’ crea un archivo con contenido multi-línea (EOF marca el final de entrada)
2
cat muestra el contenido del archivo creado para verificar

Fase 4: Crear Informe Final (20 min)

BASH
# Resumen ejecutivo para Abacom
1$ cat > ~/lab-historia-linux/informe-final.txt << 'EOF'
=== INFORME: HISTORIA DE LINUX EN ABACOM ===

1. ¿CUÁL ES NUESTRO KERNEL?
[Resultado de: uname -r]

2. ¿ES ESTABLE?
[Investigación]

3. ¿TIENE SOPORTE A LARGO PLAZO?
[Resultado de: lsb_release -d]

4. ¿CUÁNTO TIEMPO TIENE SOPORTE?
Ubuntu LTS tiene soporte por 5 años

5. ¿CUÁNDO DEBO ACTUALIZAR?
Solo cuando termine el período de soporte
Ejemplo: Ubuntu 22.04 LTS hasta Abril 2027

6. ¿QUÉ PASÓ EN 30 AÑOS DE LINUX?
De 10,000 líneas a millones
De hobby a la infraestructura de Internet
EOF

2$ cat ~/lab-historia-linux/informe-final.txt
1
cat > archivo << ‘EOF’ crea el informe final multi-línea
2
cat muestra el contenido para verificación

Verificación del Laboratorio


📚 Recursos Adicionales

Documentación Oficial

Tutoriales Complementarios

Comunidades


❓ Preguntas Frecuentes

P: ¿Por qué Linux es gratis si cuesta millones desarrollarlo?

R: Porque es software abierto y colaborativo:

  • Nadie es dueño de Linux
  • Empresas (Red Hat, Canonical, Google) contribuyen porque beneficia sus productos
  • Comunidad global dona tiempo
  • No hay intermediario que cobre

P: ¿Significa gratis que es de menor calidad?

R: No, todo lo opuesto. Porque:

  • Miles de expertos revisan código
  • Bugs se descubren y se arreglan rápido
  • No hay presión comercial de “lanzar a tiempo”
  • Competencia académica por calidad

P: ¿En Abacom pagamos por Linux?

R: Posiblemente pagas por:

  • Soporte técnico (Red Hat, Canonical)
  • Hardware donde corre
  • Administración (gente como nosotros)
  • Certificación de segurid

ad

Pero por el SO mismo: ¡No!


🎯 Resumen

TipLo más importante (3 puntos clave)
  1. Unix (1969) → Linux (1991) → Linux es descendiente de Unix, no lo contrario. Heredó diseño y filosofía.

  2. Linus Torvalds + GPL → La decisión de liberar código bajo GPL fue el punto de inflexión que hizo a Linux lo que es hoy.

  3. LTS en Producción → Usar Ubuntu LTS garantiza 5 años de estabilidad sin cambios inesperados.

Recuerda: Entender historia te ayuda a tomar mejores decisiones hoy.

Checklist de Competencias Alcanzadas

  • ✅ Entiendo el origen de Linux (Linus, 1991, GPL)
  • ✅ Puedo distinguir entre Unix y Linux
  • ✅ Sé por qué usar versiones LTS en producción
  • ✅ Comprendo ventajas de código abierto
  • ✅ Estoy listo para aprender distribuciones

Próximos Pasos

Note

🔜 Siguiente tema: Distribuciones de Linux
📋 Laboratorio siguiente: Comparar y elegir distribuciones
⏱️ Tiempo recomendado: 1.5 horas de lectura + 2 horas de práctica


📞 Soporte

Important¿Tienes dudas sobre este tema?
  • 💬 Preguntas técnicas: GitHub Issues
  • 🐛 Errores históricos: Reporta correcciones
  • 💡 Sugerencias: Envía feedback

Última actualización: 2026-01-29
Versión: 1.0
Estado: ✅ Completo y validado contra fuentes oficiales

NoteAcerca de las fuentes

Verificado contra:

  • The Linux Foundation oficial history
  • POSIX standards documentation
  • Linux kernel.org releases

📝 Quiz: Historia de Linux

--- shuffleAnswers: true --- ## ¿En qué año fue creado Linux por Linus Torvalds? - [ ] 1989 - [x] 1991 - [ ] 1993 - [ ] 1995 ## ¿Cuál fue el evento que inspiró a Linus Torvalds a crear Linux? - [ ] Problemas con Windows - [x] Insatisfacción con MINIX, un SO educativo limitado - [ ] Necesidad de un servidor web - [ ] Competencia con otros programadores ## ¿Qué es UNIX y cuál es su relación con Linux? - [ ] UNIX es una copia de Linux - [x] UNIX es un SO padre de los 70s; Linux es inspirado en UNIX pero libre - [ ] Son exactamente lo mismo - [ ] UNIX es más nuevo que Linux ## ¿En cuál universidad se desarrolló UNIX originalmente? - [ ] Instituto Tecnológico de Massachusetts (MIT) - [x] Bell Labs (AT&T) - [ ] Universidad de California - [ ] Oxford ## ¿Cuál fue la primera versión estable de Linux? - [ ] Linux 1.0 en 1994 - [ ] Linux 2.0 en 1996 - [ ] Linux 0.1 en 1991 - [x] Todas las anteriores son correctas (versión progresiva) ## ¿Qué es la licencia GPL? - [ ] Un sistema de ventas - [x] General Public License - garantiza software libre y de código abierto - [ ] Un estándar de hardware - [ ] Un navegador web ## ¿En qué año se creó The Linux Foundation? - [ ] 1991 - [ ] 1998 - [x] 2000 - [ ] 2005 ## ¿Cuál es la función de la Free Software Foundation (FSF)? - [ ] Vender software - [x] Promover software libre, defensor de GNU y GPL - [ ] Distribuir Linux - [ ] Crear procesadores ## ¿Qué significa GNU? - [ ] Una animal africano - [x] "GNU's Not Unix" - proyecto de software libre - [ ] Global Network Unit - [ ] General Numeric Unit ## ¿Cuál es la diferencia entre Software Libre y Open Source? - [x] Software Libre enfatiza libertad, Open Source enfatiza método de desarrollo - [ ] Son exactamente lo mismo - [ ] Open Source es más restrictivo - [ ] No hay diferencia práctica ## ¿Cuál fue el primer kernel de Linux versión 2.0 y qué mejoró? - [ ] Solo cambios menores - [x] Soporte para multiprocesadores y muchos otros avances - [ ] Solo cambios de seguridad - [ ] Rebrandización ## ¿Qué es la arquitectura x86 en relación a Linux? - [ ] Un tipo de Linux especial - [x] Arquitectura de procesador Intel/AMD en la que corre Linux - [ ] Un lenguaje de programación - [ ] Un protocolo de red ## ¿Cuál distribución de Linux fue una de las primeras? - [x] Slackware (1993) - [ ] Ubuntu (2004) - [ ] Fedora (1993) - [ ] Debian (2000) ## ¿En qué lenguaje está escrito principalmente el kernel de Linux? - [ ] Python - [x] C (con partes en ensamblador) - [ ] Java - [ ] Rust ## ¿Cuál es el repositorio central de código de Linux? - [ ] GitHub - [x] kernel.org (git.kernel.org) - [ ] SourceForge - [ ] GitLab ## ¿Qué es POSIX y por qué es importante? - [ ] Un tipo de licencia - [x] Estándar que define interfaces, importante para compatibilidad - [ ] Un protocolo de red - [ ] Una distribución Linux ## ¿Cuál fue el impacto de Android (Linux) en el mercado móvil? - [ ] Ninguno significativo - [x] Revolucionó el mercado móvil, mayoría de teléfonos usan Linux - [ ] Solo para programadores - [ ] Menos popular que iOS ## ¿En qué año se anunció el kernel Linux 1.0? - [ ] 1992 - [x] 1994 - [ ] 1996 - [ ] 1998 ## ¿Cuál ha sido un evento significativo reciente en Linux (últimos 10 años)? - [ ] Salida del kernel 3.0 - [x] Adopción masiva en cloud, containers (Docker), y sistemas embebidos - [ ] Pérdida de cuota de mercado - [ ] Cambio de licencia ## ¿Qué significa "Open Source"? - [ ] Software que se regalá - [x] Código fuente disponible públicamente para inspección y modificación - [ ] Software sin licencia - [ ] Software que cualquiera puede usar sin restricciones

Code Appendix

GNU GPL V3.0. 2007. Free Software Foundation.
Torvalds, L. 1991. “Hello from Finland.” 1991.
Unix.com. 2024. “UNIX History.” 2024.