Skip to content

aramcap/autoyast_simple_gen_ui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AutoYaST Simple Gen UI

Rust SUSE

Generador simple de archivos AutoYaST para instalaciones desatendidas de SUSE Linux Enterprise Server (SLES) 15 SP7


📋 Descripción

AutoYaST Simple Gen UI es una aplicación gráfica desarrollada en Rust que permite generar archivos de configuración AutoYaST (autoyast_install.xml) de forma sencilla e intuitiva. AutoYaST es el sistema de instalación automatizada de SUSE que permite realizar instalaciones desatendidas de SLES con configuraciones predefinidas.

Este generador crea un archivo XML completo con todas las configuraciones necesarias para instalar un sistema SLES 15 SP7 totalmente funcional, seguro y listo para producción en workstations.

✨ Características

  • Interfaz gráfica sencilla e intuitiva
  • Selección de entorno de escritorio: Elige entre GNOME o KDE Plasma
  • Generación automática de hashes SHA-512 para contraseñas (compatibles con /etc/shadow)
  • Cifrado LUKS para particiones SWAP y raíz
  • Cálculo automático de SWAP (1.5x la RAM configurada)
  • Validación de entradas (contraseñas coincidentes, valores numéricos, etc.)

🚀 Cómo usar el binario

Requisitos previos

  • Sistema operativo Linux con entorno gráfico (X11 o Wayland)

Ejecución

  1. Descarga o copia el binario autoyast_simple_gen_ui en tu sistema

  2. Otorga permisos de ejecución:

    chmod +x autoyast_simple_gen_ui
  3. Ejecuta la aplicación:

    ./autoyast_simple_gen_ui
  4. Completa el formulario:

    • Hostname: Nombre del equipo (ej: workstation1)
    • Memoria RAM (GB): Cantidad de RAM del sistema en GB (ej: 16, 32, 64)
      • El SWAP se calculará automáticamente como 1.5x la RAM
    • Entorno de escritorio: Selecciona entre GNOME o KDE Plasma
    • Contraseña ROOT: Contraseña del usuario root (será bloqueada después de la instalación)
    • Contraseña usuario FIRSTUSER: Contraseña para el usuario FIRSTUSER (UID 1000)
    • Contraseña LUKS: Contraseña para el cifrado de disco (SWAP y partición raíz)
  5. Haz clic en "🚀 Generar archivo AutoYaST"

  6. El archivo autoyast_install.xml se generará en el directorio actual

Uso del archivo generado

Una vez generado el archivo XML, puedes usarlo para realizar instalaciones desatendidas de SLES.

En el menú de arranque de SLES, presiona e para editar y añade:

autoyast=file:///autoyast_install.xml

🔧 Configuraciones aplicadas

El archivo AutoYaST generado configura automáticamente los siguientes aspectos del sistema:

🌍 Regionalización

  • Idioma del sistema: Español (es_ES)
  • Teclado: Español
  • Zona horaria: Europe/Madrid (UTC)

💾 Particionamiento

Esquema de particiones GPT para UEFI en /dev/nvme0n1:

Partición Tamaño Sistema de archivos Cifrado Punto de montaje Etiqueta
1 512 MB VFAT (EFI) No /boot/efi EFI
2 1.5x RAM SWAP Sí (LUKS) swap SWAP
3 Resto del disco BTRFS Sí (LUKS) / root
  • Snapshots Btrfs habilitados para recuperación del sistema
  • Cifrado LUKS en particiones SWAP y raíz

🔐 Seguridad

  • Firewall activado (firewalld) con zona pública en modo DROP
  • Root login bloqueado después de la instalación
  • SSH deshabilitado por defecto
  • Permisos restrictivos (permission_security: restrictive)
  • Contraseñas hasheadas con SHA-512 (5000 rounds)
  • Longitud mínima de contraseña: 8 caracteres

👤 Usuarios

  • Usuario FIRSTUSER:

    • UID: 1000
    • Grupos: users, wheel
    • Shell: /bin/bash
    • Privilegios sudo completos (grupo wheel)
  • Usuario root:

    • Login bloqueado después de la instalación
    • Solo accesible vía sudo desde usuario FIRSTUSER

🖥️ Entorno de escritorio

Se puede elegir entre dos entornos de escritorio:

Opción 1: GNOME (por defecto)

  • GNOME Desktop con soporte Wayland
  • GDM (GNOME Display Manager)

Opción 2: KDE Plasma

  • KDE Plasma 5 Desktop
  • SDDM (Simple Desktop Display Manager)

📦 Paquetes instalados

Sistema base

  • basesystem - Sistema base SLES
  • sudo - Privilegios de superusuario
  • cryptsetup - Soporte LUKS
  • btrfs-progs - Herramientas Btrfs
  • snapper - Gestión de snapshots

Entorno gráfico

  • GNOME (si se selecciona):
    • gnome - Entorno de escritorio GNOME
    • gnome-wayland - Soporte Wayland
    • gdm - GNOME Display Manager
  • KDE (si se selecciona):
    • kde y kde_plasma - Entorno de escritorio KDE Plasma
    • plasma5-session - Sesión Plasma 5
    • plasma5-workspace - Espacio de trabajo Plasma 5
    • sddm - Simple Desktop Display Manager

Aplicaciones

  • firefox - Navegador web
  • libreoffice - Suite ofimática (con idioma español)
  • yast2-gtk - Panel de control YaST
  • vlc - Reproductor multimedia
  • ffmpeg - Codecs de audio/vídeo
  • pulseaudio - Servidor de sonido
  • gstreamer-plugins-* - Plugins multimedia
  • Códecs: x264, x265, libav

🌐 Red

  • DHCP habilitado en eth0
  • IPv4 e IPv6 activados
  • Hostname: Personalizable
  • Configuración DNS: Automática vía DHCP

⚙️ Servicios del sistema

Servicio Estado
firewalld ✅ Habilitado
gdm o sddm ✅ Habilitado (según entorno seleccionado)
ssh ❌ Deshabilitado

📜 Scripts post-instalación

Se ejecutan automáticamente los siguientes scripts:

  1. fix-root-login.sh: Bloquea el login directo de root
  2. configure-sudo.sh: Configura privilegios sudo para el grupo wheel

🔄 Comportamiento de instalación

  • Modo de confirmación: Deshabilitado (instalación desatendida)
  • Modo interactivo: Habilitado (permite ajustes manuales si es necesario)
  • Reinicio automático: Sí, después de completar la instalación

🏗️ Compilación desde código fuente

Si deseas compilar el binario:

cargo build --release

El binario se generará en target/release/autoyast_simple_gen_ui

📝 Ejemplo de uso completo

# 1. Ejecutar la aplicación
./autoyast_simple_gen_ui

# 2. Generar el archivo
# ✅ Archivo 'autoyast_install.xml' generado correctamente.

# 3. Copiar a USB de instalación
cp autoyast_install.xml /media/usb-sles/

# 4. Arrancar SLES desde USB y añadir parámetro:
#    autoyast=usb:///autoyast_install.xml

# 5. La instalación se realizará automáticamente

⚠️ Notas importantes

  1. Disco objetivo: La configuración actual apunta a /dev/nvme0n1. Si tu disco es diferente (ej: /dev/sda), deberás editar manualmente el XML generado.

  2. Cifrado LUKS: Necesitarás introducir la contraseña LUKS durante cada arranque del sistema.

  3. Contraseña ROOT: Aunque se configura una contraseña root, el login directo de root se bloquea automáticamente. Usa sudo desde el usuario FIRSTUSER.

📄 Licencia

Este proyecto está bajo la Licencia AGPL.

About

Aplicación gráfica desarrollada en Rust que permite generar archivos de configuración AutoYaST de forma simple

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages