"title":"Instalador de utilidades del sistema | Documentación de ProxMenux",
"description":"Instalador de utilidades CLI para Proxmox VE, con 25 paquetes en la lista canónica (htop, btop, iperf3, tmux, ...). Selección personalizada, instalación completa y grupos predefinidos (básico, desarrollo, compresión, multiplexores, análisis y red). Los grupos pueden incluir paquetes adicionales. Usa ensure_repositories + install_single_package.",
"ogTitle":"Instalador de utilidades del sistema | Documentación de ProxMenux",
"ogDescription":"Instala una selección de herramientas CLI en Proxmox VE con un clic o mediante selección personalizada."
"description":"Selector de las 25 utilidades CLI de la lista canónica PROXMENUX_UTILS. Ofrece selección personalizada, instalación completa, seis grupos predefinidos y comprobación de instalaciones. Los grupos pueden incluir herramientas ajenas a la lista canónica. Usa las funciones compartidas ensure_repositories() + install_single_package() para gestionar los repositorios y los mensajes de cada paquete de forma coherente.",
"body":"Instala herramientas CLI de una lista de 25 paquetes. Cada instalación usa el mismo proceso: <code>ensure_repositories</code> comprueba que el host tenga un repositorio Proxmox utilizable para la versión mayor de PVE en ejecución; después <code>install_single_package</code> instala el paquete y comprueba que su comando esté en PATH."
"behaviourRich":"Recorre cada entrada de <code>PROXMENUX_UTILS</code>, comprueba si el comando de verificación está en PATH, imprime un resumen Disponible / Faltante."
"intro":"Definidos en el compartido <code>scripts/global/utils-install-functions.sh</code> como <code>PROXMENUX_UTILS</code> (formato: <code>package:verify_command:description</code>). Otros scripts de ProxMenux (p. ej. los lanzadores de monitorización de red para iftop / iptraf-ng / iperf3) reutilizan entradas de esta lista para que paquete + comando de verificación se mantengan sincronizados.",
"headerPackage":"Paquete",
"headerVerify":"Comando de verificación",
"headerDescription":"Descripción",
"rows":[
{
"package":"axel",
"verify":"axel",
"description":"Acelerador de descargas"
},
{
"package":"aria2",
"verify":"aria2c",
"description":"Descargador multi-origen"
},
{
"package":"btop",
"verify":"btop",
"description":"Monitor de recursos moderno"
},
{
"package":"cabextract",
"verify":"cabextract",
"description":"Extraer archivos CAB"
},
{
"package":"chntpw",
"verify":"chntpw",
"description":"Editar registro / contraseñas de Windows"
},
{
"package":"dos2unix",
"verify":"dos2unix",
"description":"Convertir archivos de texto DOS / Unix"
},
{
"package":"genisoimage",
"verify":"genisoimage",
"description":"Crear imágenes ISO"
},
{
"package":"grc",
"verify":"grc",
"description":"Coloreador genérico de logs"
},
{
"package":"htop",
"verify":"htop",
"description":"Visor interactivo de procesos"
},
{
"package":"iftop",
"verify":"iftop",
"description":"Uso de red en tiempo real"
},
{
"package":"intel-gpu-tools",
"verify":"intel_gpu_top",
"description":"Herramientas para GPU Intel"
},
{
"package":"iotop",
"verify":"iotop",
"description":"Monitorizar uso de I/O de disco"
},
{
"package":"iperf3",
"verify":"iperf3",
"description":"Pruebas de ancho de banda de red"
},
{
"package":"ipset",
"verify":"ipset",
"description":"Gestionar conjuntos de IPs"
},
{
"package":"iptraf-ng",
"verify":"iptraf-ng",
"description":"Herramienta de monitorización de red"
},
{
"package":"libguestfs-tools",
"verify":"virt-filesystems",
"description":"Utilidades de disco de VM"
},
{
"package":"msr-tools",
"verify":"rdmsr",
"description":"Acceso a MSRs de la CPU"
},
{
"package":"net-tools",
"verify":"netstat",
"description":"Herramientas de red heredadas"
},
{
"package":"plocate",
"verify":"locate",
"description":"Localizar archivos rápidamente"
},
{
"package":"s-tui",
"verify":"s-tui",
"description":"Stress-Terminal UI"
},
{
"package":"sshpass",
"verify":"sshpass",
"description":"Login SSH no interactivo"
},
{
"package":"tmux",
"verify":"tmux",
"description":"Multiplexor de terminal"
},
{
"package":"unzip",
"verify":"unzip",
"description":"Extraer archivos ZIP"
},
{
"package":"wimtools",
"verify":"wimlib-imagex",
"description":"Gestionar imágenes WIM"
},
{
"package":"zip",
"verify":"zip",
"description":"Crear archivos ZIP"
}
]
},
"howItWorks":{
"heading":"Cómo funciona la instalación de un paquete",
"<code>ensure_repositories</code> detecta PVE 8 o 9 y lee los repositorios a través de la API de Proxmox. Un host con un repositorio de Proxmox utilizable se deja sin cambios; en un host sin suscripción activa y solo con el repositorio Enterprise se pregunta antes de cambiar a sin suscripción, y <code>apt-get update</code> se ejecuta tras un cambio aceptado.",
"<strong>0 (correcto):</strong> comando disponible; el paquete se cuenta como <em>Correcto</em>.",
"<strong>1 (fallo):</strong> apt ha fallado; se cuenta como <em>Fallido</em>.",
"<strong>2 (advertencia):</strong> apt ha terminado correctamente, pero el comando esperado no se encuentra en PATH; se cuenta como <em>Con advertencias</em>."
"summary":"Al terminar una instalación de grupo o personalizada, un diálogo muestra los recuentos de <em>Correctos / Con advertencias / Fallidos</em>."
"intro":"La opción 9 es de solo lectura: recorre <code>PROXMENUX_UTILS</code> y ejecuta <code>command -v</code> para cada comando de verificación. La salida se ve así:",
"code":"Total: 26\nAvailable: 18\nMissing: 8\n\n✓ axel - Download accelerator\n✓ aria2c - Multi-source downloader\n✓ btop - Modern resource monitor\n✗ cabextract - Extract CAB files\n✓ dos2unix - Convert DOS / Unix text files\n✗ genisoimage - Create ISO images\n✓ grc - Generic log colorizer\n...",
"outro":"Útil antes de ejecutar scripts que dependen de estas herramientas (p. ej. <code>uup_dump_iso_creator.sh</code> necesita <code>aria2c</code> + <code>cabextract</code> + <code>wimlib-imagex</code>). Si falta algo, ejecuta la instalación del grupo correspondiente o elige los paquetes que faltan mediante selección personalizada."
"reposBody":"La comprobación de repositorios no se superó: se rechazó el cambio al repositorio sin suscripción, no se pudo leer el estado de la suscripción o una entrada de repositorio requiere atención. El mensaje impreso justo encima indica la causa. Los repositorios se listan en <em>Nodo → Actualizaciones → Repositorios</em>, y <code>apt-get update</code> desde una consola muestra el error que reporta apt.",
"warningsBody":"Después de <code>apt-get install</code>, la función ejecuta <code>hash -r</code>, espera brevemente y comprueba el comando esperado con <code>command -v</code>. Una advertencia indica que esa comprobación sigue fallando, pero no identifica la causa. Prueba con una sesión de shell nueva y comprueba la instalación del paquete y PATH si el comando sigue faltando.",
"hangsBody":"Lo más probable es que un prompt de debconf esté bloqueado detrás de la salida silenciada. El script envuelve todas las llamadas de apt con <code>DEBIAN_FRONTEND=noninteractive</code>, que normalmente suprime los prompts, pero algunos paquetes aún requieren entrada del usuario. Cancela con <kbd>Ctrl</kbd>+<kbd>C</kbd>, ejecuta <code>apt-get install -y <pkg></code> manualmente desde un shell para ver el prompt y decidir."
"code":"scripts/utilities/system_utils.sh # this script\nscripts/global/utils-install-functions.sh # PROXMENUX_UTILS, install_single_package\nscripts/global/repository-functions.sh # ensure_repositories\nscripts/global/repository_policy.py # reads and switches repositories through the Proxmox API\n/etc/apt/sources.list.d/proxmox.sources # no-subscription source, written by Proxmox when the switch is accepted"