Bienvenidos a la página personal de José Domingo Muñoz Rodríguez, aquí podrás encontrar…

Accede a las entradas de mi blog donde escribo de Informática y Educación.

Blog Pledin

Accede a los materiales de los cursos que he impartido.

Plataforma Pledin

Accede a los contenido de los módulos de FP que estoy impartiendo en la actualidad.

Módulos FP

Microblog

Historia de Linux

Historia de Linux desde los años 60 hasta el día de hoy.

Detalle

Habilitar IP Forwarding en Debian 13

En Debian 13 (Trixie) el IP forwarding ya no se configura en /etc/sysctl.conf, sino en un archivo bajo /etc/sysctl.d/.

  1. Crea /etc/sysctl.d/99-forward.conf con:

    net.ipv4.ip_forward=1  
    net.ipv6.conf.all.forwarding=1  
    
  2. Aplica y reinicia servicios:

    sudo sysctl --system
    sudo systemctl restart systemd-sysctl
    

Con esto el reenvío queda habilitado de forma persistente.

Detalle

Publicado Debian 13 Trixie

Hoy, 9 de agosto, se ha publicado la última versión de mi distribución favorita: Debian 13 Trixie. Habrá que pensar en ir actualizando. Os dejo las Notas de publicación.

Detalle

Blog

Cursos de virtualziación con KVM/libvirt

kvm

Este año también he tenido la oportunidad de desarrollar y publicar en OpenWebinars dos cursos centrados en la virtualización con KVM y libvirt, abordando tanto una introducción accesible para principiantes como una profundización orientada a un uso más avanzado y profesional.

Ambos cursos forman parte de un itinerario pensado para entender la virtualización en sistemas Linux desde una perspectiva práctica, progresiva y alineada con el uso real en servidores y entornos de producción.

¿Qué es la virtualización con KVM y libvirt?

KVM (Kernel-based Virtual Machine) es la tecnología de virtualización integrada en el kernel de Linux que permite convertirlo en un hipervisor de tipo 1. Gracias a KVM, un sistema Linux puede ejecutar máquinas virtuales con un rendimiento muy cercano al nativo, aprovechando las extensiones de virtualización por hardware (Intel VT-x / AMD-V).

Por su parte, libvirt es una capa de abstracción que facilita la gestión de máquinas virtuales y otros recursos de virtualización. Proporciona una API unificada y herramientas tanto gráficas como de línea de comandos para administrar hipervisores como KVM de forma coherente y segura.

En conjunto, KVM + libvirt constituyen una de las soluciones de virtualización más utilizadas en entornos Linux, tanto en laboratorios como en infraestructuras profesionales.

Cursos publicados

Para cubrir distintos niveles de experiencia, he preparado dos cursos complementarios, publicados en OpenWebinars y acompañados de material práctico en GitHub.

Curso 1: Introducción a la virtualización con KVM/libvirt usando virt-manager

Este primer curso está orientado a principiantes que desean iniciarse en la virtualización sobre Linux sin necesidad de conocimientos previos avanzados.

Características principales del curso:

  • Introducción a los conceptos básicos de virtualización
  • Instalación y configuración de KVM y libvirt
  • Uso de virt-manager como herramienta gráfica
  • Creación y gestión básica de máquinas virtuales
  • Redes y almacenamiento a nivel introductorio

Es un curso ideal para romper la barrera de entrada y comenzar a trabajar con máquinas virtuales de forma visual e intuitiva.

Curso 2: Profundización en la virtualización con KVM/libvirt

El segundo curso está pensado para quienes ya conocen los fundamentos y desean profundizar en la virtualización usando herramientas de línea de comandos.

En este curso se trabaja, entre otros aspectos:

  • Gestión avanzada de máquinas virtuales con virsh
  • Definición y modificación de dominios mediante XML
  • Redes virtuales avanzadas
  • Gestión de almacenamiento con libvirt
  • Automatización y administración más cercana a entornos de servidor

Este enfoque resulta especialmente útil para administradores de sistemas, laboratorios avanzados o escenarios donde no se dispone de entorno gráfico.

Seguir leyendo...

Cursos de preparación para obtener las certificaciones Python PCEP y PCAP

pcep-pacp

Este año he tenido la oportunidad de preparar y publicar dos cursos orientados a la obtención de certificaciones oficiales de Python, pensados tanto para personas que se inician en el lenguaje como para quienes desean consolidar sus conocimientos y dar un paso más en su formación.

Siguiendo la misma filosofía que en otros cursos que he desarrollado, el objetivo principal ha sido ofrecer un itinerario claro, progresivo y muy práctico, alineado con los contenidos oficiales de los exámenes y acompañado de abundantes ejemplos y ejercicios.

Certificaciones PCEP y PCAP

Las certificaciones PCEP y PCAP forman parte del itinerario oficial de certificación en Python y están ampliamente reconocidas como una forma sólida de validar conocimientos en este lenguaje.

PCEP – Certified Entry-Level Python Programmer

La certificación PCEP está orientada a personas que comienzan a programar en Python. Evalúa los fundamentos del lenguaje, tales como:

  • Sintaxis básica y semántica
  • Tipos de datos fundamentales
  • Variables y operadores
  • Control de flujo (if, bucles)
  • Funciones básicas
  • Manejo elemental de errores

Es una excelente puerta de entrada para quien quiere demostrar que domina los conceptos esenciales de Python y que está preparado para seguir avanzando.

PCAP – Certified Associate Python Programmer

La certificación PCAP da un paso más y está dirigida a programadores con cierta experiencia previa en Python. En este nivel se profundiza en aspectos como:

  • Programación estructurada y modular
  • Colecciones y estructuras de datos avanzadas
  • Manejo de excepciones
  • Programación orientada a objetos
  • Uso más avanzado de funciones y módulos
  • Buenas prácticas en Python

Superar esta certificación demuestra una comprensión sólida y práctica del lenguaje, adecuada para entornos profesionales o académicos más exigentes.

Cursos publicados

Para cubrir ambos niveles he desarrollado dos cursos completos de preparación, con contenidos teóricos, ejemplos explicados paso a paso y ejercicios específicos orientados al examen.

Curso de preparación para el examen PCEP

Este curso está pensado para quienes se inician en Python y quieren una preparación guiada, clara y práctica para afrontar el examen PCEP con garantías.

Curso de preparación para el examen PCAP

En este segundo curso se profundiza en Python, con un enfoque más cercano al uso real del lenguaje y a los requisitos del examen PCAP.

Seguir leyendo...

Contenedores Docker para la creación de páginas web estáticas usando Jekyll

docker

Como ya saben, mis páginas web son páginas estáticas que genero utilizando Jekyll, una herramienta muy popular en el ecosistema de Ruby. Para quienes no estén familiarizados, Jekyll es un generador de sitios estáticos que toma contenido escrito en Markdown o HTML y lo convierte en un sitio web completo, listo para ser servido en cualquier servidor web. Entre sus principales ventajas se encuentran la simplicidad, la velocidad de carga de las páginas generadas, la facilidad para trabajar con plantillas y layouts, y la posibilidad de mantener el contenido separado del diseño.

Hasta ahora, en mi servidor tenía instalado Ruby y Jekyll directamente, lo que me permitía generar mis sitios sin problemas. Sin embargo, al manejar distintos proyectos Jekyll, este enfoque puede traer ciertos inconvenientes: diferentes proyectos pueden requerir versiones distintas de gemas, que son librerías o paquetes de Ruby que Jekyll y sus extensiones utilizan para funcionar correctamente. Además, las actualizaciones de Ruby, Jekyll o de las gemas siempre pueden complicarse, generando conflictos o problemas de compatibilidad.

En este artículo vamos a presentar una alternativa más flexible y ordenada: la construcción de una imagen Docker con Jekyll ya instalado, que nos permitirá crear distintos contenedores para generar cada uno de nuestros proyectos de manera aislada.

Este enfoque tiene varias ventajas: garantiza que cada proyecto use la versión exacta de Jekyll y de sus gemas, evita conflictos entre proyectos, simplifica el proceso de actualización y facilita la portabilidad del entorno de desarrollo o generación de sitios, ya que basta con tener Docker instalado para ponerlo en marcha.

Seguir leyendo...
cc

Licencia

Licencia: Puedes copiar y modificar todos los contenidos, pero siempre respetando los términos de la licencia CC-BY-SA.

Ver

Mastodon