PFI (Pacman-FZF Installer)¶
Un gestor avanzado de paquetes para Arch Linux/Mabox Linux con interfaz interactiva basada en fzf.
Descripción¶
PFI Manager es un script que proporciona una interfaz intuitiva y visual para gestionar paquetes del sistema usando pacman. Permite buscar, instalar y desinstalar paquetes de manera interactiva, mostrando información detallada de cada paquete en tiempo real.
Características Principales¶
🔍 Navegación Intuitiva¶
- Interfaz basada en
fzfcon navegación fluida - Búsqueda en tiempo real mientras escribes
- Preview en vivo con información detallada de cada paquete
📋 Estados Visuales¶
[*]- Paquete instalado (se desinstalará si se selecciona)[ ]- Paquete disponible (se instalará si se selecciona)[UPD]- Opción para actualizar base de datos de paquetes
🔄 Gestión Completa¶
- Instalación y desinstalación de paquetes
- Selección múltiple con
<TAB> - Actualización de base de datos bajo demanda
- Flujo continuo sin cerrar el programa
📊 Información Detallada¶
- Descripción completa del paquete
- Estado de instalación claramente marcado
- Lista de archivos incluidos en el paquete
- Contador de actualizaciones disponibles
Requisitos¶
- Arch Linux o distribuciones basadas (como Mabox Linux)
- fzf - Instalado y disponible en PATH
- pacman - Gestor de paquetes del sistema
- bash - Shell compatible
Instalación de dependencias¶
sudo pacman -S fzf
Instalación¶
- Descarga el script:
wget https://example.com/pfi.sh
# o copia el código del script a un archivo llamado pfi.sh
- Dale permisos de ejecución:
chmod +x pfi.sh
- Opcionalmente, muévelo a un directorio en tu PATH:
sudo mv pfi.sh /usr/local/bin/pfi
Uso¶
Ejecución Básica¶
./pfi.sh
# o si está en PATH:
pfi
Controles de Navegación¶
Navegación Principal¶
- ↑/↓ - Navegar por la lista de paquetes
- Escribir - Filtrar paquetes en tiempo real
- Seleccionar múltiples paquetes - Confirmar selección o Ctrl+C - Salir del programa
Controles del Preview¶
- Ctrl+X - Página anterior del preview
- Ctrl+Z - Página siguiente del preview
- Ctrl+Space - Línea anterior del preview
- Space - Línea siguiente del preview
Operaciones Disponibles¶
1. Instalar Paquetes¶
- Selecciona paquetes marcados con
[ ] - Usa
<TAB>para selección múltiple - Presiona
<ENTER>para instalar
2. Desinstalar Paquetes¶
- Selecciona paquetes marcados con
[*] - El sistema preguntará confirmación antes de desinstalar
- Se usa
pacman -Rspara eliminar dependencias huérfanas
3. Actualizar Base de Datos¶
- Selecciona
[UPD] Actualizar base de datos - Ejecuta
sudo pacman -Sy - Útil antes de buscar paquetes nuevos
4. Operaciones Mixtas¶
- Puedes seleccionar múltiples paquetes para instalar y desinstalar
- El script procesará todas las operaciones secuencialmente
Interfaz Visual¶
Elementos de la Pantalla¶
┌─ [ PFI - Manager Enhanced ] ───────────────┐ ┌─] DESCRIPCION - DETALLES | ✓ Sistema actualizado [─
│ <TAB> para seleccion multiple │ │
│ │ │ Repository : extra
│ [UPD] Actualizar base de datos │ │ Name : firefox
│ [*] firefox ▶ │ │ Version : 120.0-1
│ [ ] chromium │ │ Description : Standalone web browser from mozilla.org
│ [ ] thunderbird │ │
│ [*] vim │ │ >>> INSTALADO <<<
│ │ │
│ │ │ Seleccionar este paquete lo DESINSTALARA
│ │ └─────────────────────────────────────────────────
│ │
└────────────────────────────────────────────┘
Códigos de Color¶
- Amarillo - Mensajes de estado (INSTALADO/NO INSTALADO)
- Azul - Interfaz principal y bordes
- Verde - Marcadores de selección
- Rojo - Puntero de selección
Características Avanzadas¶
Flujo Continuo¶
- Después de cada operación, el script vuelve automáticamente al listado
- No necesitas relanzar el programa para hacer múltiples operaciones
- Solo se cierra cuando cancelas explícitamente
Optimizaciones de Velocidad¶
- Preview de archivos con timeout de 2 segundos
- Listado limitado a los primeros 5 archivos por velocidad
- Cache de estados de paquetes para navegación fluida
Compatibilidad¶
- Funciona en cualquier terminal (TTY, X11, Wayland)
- Caracteres ASCII para máxima compatibilidad
- Detección automática del entorno gráfico
Ejemplos de Uso¶
Instalar un paquete¶
- Ejecuta
./pfi.sh - Escribe el nombre del paquete para buscarlo
- Selecciona el paquete deseado (marcado con
[ ]) - Presiona
<ENTER>
Instalar múltiples paquetes¶
- Busca el primer paquete
- Presiona
<TAB>para seleccionarlo - Busca otros paquetes y selecciónalos con
<TAB> - Presiona
<ENTER>para instalar todos
Desinstalar un paquete¶
- Busca un paquete instalado (marcado con
[*]) - Selecciónalo y presiona
<ENTER> - Confirma la desinstalación
Actualizar antes de instalar¶
- Selecciona
[UPD] Actualizar base de datos - Presiona
<ENTER> - Busca e instala los paquetes deseados
Solución de Problemas¶
El script no encuentra paquetes¶
- Verifica que
pacmanesté funcionando:pacman -Slq | head - Actualiza la base de datos: selecciona la opción
[UPD]en el script
Fzf no funciona correctamente¶
- Verifica la instalación:
fzf --version - Reinstala si es necesario:
sudo pacman -S fzf
Problemas de permisos¶
- El script necesita
sudopara instalar/desinstalar paquetes - Asegúrate de que tu usuario esté en el grupo
wheelo tenga permisos sudo
Preview muy lento¶
- El script ya incluye optimizaciones con timeout
- Si sigue siendo lento, considera deshabilitar la sección de archivos
Personalización¶
Modificar colores¶
Edita la línea --color= en el script para cambiar el esquema de colores.
Cambiar número de archivos mostrados¶
Modifica el valor en head -5 para mostrar más o menos archivos.
Ajustar timeout¶
Cambia el valor en timeout 2 para mayor o menor tiempo de espera.
Contribución¶
Para reportar bugs o sugerir mejoras: 1. Describe el problema específico 2. Incluye la versión de tu sistema 3. Proporciona los pasos para reproducir el issue
Autor¶
Script desarrollado para Mabox Linux y sistemas basados en Arch Linux.
Licencia¶
Script de uso libre para la comunidad Linux.
Nota: Este script está diseñado específicamente para sistemas que usan pacman como gestor de paquetes. No es compatible con otras distribuciones que usen apt, yum, zypper, etc.