Power Update 2.0: Script post-instalación para Linux
Introducción
Es muy común la instalación de diferentes distros de Linux durante el desarrollo de los laboratorios en clase, lo primero que hacemos es personalizar, instalar herramientas, configurar entornos y recuperar productividad; sin embargo, hacerlo manualmente puede llegar a ser tedioso.
Así nació Power Update, un Script modular de post-instalación para automatizar y estandarizar el entorno Linux en minutos con la mayoría de herramientas requeridas en la formación profesional.
Objetivo
Crear un conjunto de scripts Bash:
- ✅ Portables, sin dependencias externas
- ✅ Compatibles con Debian/Ubuntu, Fedora, y Arch
- ✅ Divididos por función (modularidad)
- ✅ Con logs por cada tarea
- ✅ Visualmente agradables y auditables
Arquitectura general
Power_Update/
├── power_update.sh # Menú principal interactivo
├── Global_functions.sh # Funciones reutilizables (instalación, detección de distro)
├── Install-Logs/ # Carpeta donde se almacenan logs
├── base_tools.sh # Herramientas del sistema
├── dev_tools.sh # Herramientas de desarrollo
├── net_support.sh # Diagnóstico de red
├── security_tools.sh # Ciberseguridad ofensiva
├── multimedia.sh # Reproductores y codecs
├── system_update.sh # Actualizaciones + tema gráfico
├── wine_unrar.sh # Soporte para apps de Windows
├── fastfetch.sh # Personalización estética del terminal

El menú principal – power_update.sh
Este script orquesta todo el sistema. Al ejecutarlo:
- Detecta si hay entorno gráfico (
DISPLAY) - Muestra un menú interactivo con los módulos disponibles
- Permite ejecutar uno, varios o todos los módulos
- Al final, resume lo instalado
Corazón reutilizable – Global_funtions.sh
Funciones clave incluidas:
install_package <nombre>
Detecta si estás usando apt, dnf o pacman y ejecuta el comando correcto con flags silenciosos y log.
install_package htop "$LOG"
Mensajes estilizados:
[INFO]: mensaje neutro[NOTE]: aviso útil[OK]: éxito[ERROR]: fallo
Logs de salida en Install-Logs/ con timestamp
Utilidades del sistema – base_tools.sh
Instala herramientas como:
htop,btop: monitores interactivos de procesossmartmontools: salud del discotestdisk: recuperación de particionesinxi: información detallada del sistematimeshift: snapshots del sistema (como Time Machine)rustdesk: escritorio remoto open source (por Flatpak o AUR)
Utiliza:
install_packagepor defecto- Instalación condicional para
rustdesksegún la distribución - Flatpak como fallback en Fedora
Entorno de desarrollo – dev_tools.sh
Instala:
nodejs,npm: desarrollo web JScode(VS Code): editor de Microsoft (repo oficial)dbeaver: GUI para bases de datos (soporta MySQL, PostgreSQL, SQLite, Oracle, etc.)
Detección automática del sistema:
- En Fedora: habilita repos de VSCode o usa Flatpak
- En Arch: usa
yayparavisual-studio-code-binydbeaver
Diagnóstico de red – net_support.sh
Incluye herramientas vitales para análisis:
nethogs,iftop: visualización de uso de red en tiempo realnetcat: utilitario de red suizadig,whois: resolución de DNS e información de dominiosarp-scan: escaneo ARP local
Útil para sysadmins y debugging de red.
Ciberseguridad ofensiva – secutiry_tools.sh
Instala:
nmap,masscan: escaneo de puertoshydra: fuerza brutaaircrack-ng: ataque WiFi (requiere interfaz compatible)gobuster,hping3,cracklib-dictswhatweb: fingerprint de tecnologías web
Y además:
sqlmap: si no está disponible por paquete, se instala conpip --userrockyou.txt: se descarga desde GitHub si no está presente
El PATH de ~/.local/bin se añade temporalmente si sqlmap se instaló vía pip.
Codecs y reproductores – multimedia.sh
Instala:
gstreamer+ plugins (ugly, good, libav)ubuntu-restricted-extras(en Ubuntu)libdvd-pkg,libavcodec-extraShotcut: editor de videoVLC: reproductor universal
Habilita automáticamente RPM Fusion en Fedora.
Actualizaciones + estética – system_update.sh
Hace:
sudo apt update && upgrade,dnf upgrade,pacman -Syu- Detecta Fedora o Ubuntu y aplica el tema Yaru original de Ubuntu
- En Fedora: clona el tema desde GitHub
- En Ubuntu: lo instala desde
apt
- Arch no instala tema por defecto
Compatibilidad con Windows – wine_unrar.sh
Instala:
wine: permite ejecutar.exey.msiwinetricks: para DLLs de Windows y paquetes comodotnetunrar: útil para descomprimir instaladores o archivos comprimidos con winrar comunes en Windows
Personalización terminal – fastfetch.sh
Instala fastfetch (reemplazo moderno de neofetch)
También configura una plantilla JSON para mostrar sistema, distro, shell, terminal, etc.
Log de cada módulo
Cada módulo genera un log como:
Install-Logs/
├── install-03-1502_base_tools.log
├── install-03-1503_dev_tools.log
...
Permite revisar qué fue instalado, qué falló, y en qué orden.
Comandos clave por distro
| Distro | Acción principal |
|---|---|
| Ubuntu | sudo apt install |
| Fedora | sudo dnf install + rpmfusion + Flatpak |
| Arch | sudo pacman -S o yay -S para AUR |
Diferenciadores clave de Power Update
- Modularidad: puedes ejecutar solo lo que necesitas
- Soporte completo para múltiples distros
- Fallbacks inteligentes (pip, flatpak, git)
- Código limpio, extensible y comentado
- Automatización profesional sin scripts rotos
Descargo de responsabilidad
⚠️ Algunas herramientas instaladas (como
sqlmap,hydra,aircrack-ng) son de uso ofensivo.
Su ejecución fuera de entornos controlados y sin permiso es ilegal y no recomendada.
Power Update está destinado exclusivamente a fines educativos, auditoría legal y laboratorios controlados.
Instalación
git clone https://github.com/walthercurodelacruz/Power_Update.git
cd Power_Update
chmod +x power_update.sh
./power_update.sh
