KPA: Documentación

KPA es un proyecto independiente usado en sistemas Arch Linux y derivados, sin embargo, ni KPA ni su creador tienen relaciones con Arch Linux ni con su nombre oficial.

Este es un proyecto que busca la seguridad y el minimalismo para automatizar la clonación de PKGBUILD y construcción a partir de ellos usando el AUR (Arch User Repository), ya que la forma clásica de instalar paquetes desde el AUR es de manera manual, sin embargo, ya que suele ser un proceso complejo, se crean estos programas, desafortunadamente, un helper puede ser riesgoso ya que ejecuta el PKGBUILD sin intervención humana, además que puede ocultar procesos importantes o incluso reemplazar herramientas clásicas, pues en los PKGBUILD pueden haber comandos maliciosos que se pueden ejecutar pidiendo permisos root al usuario, todo esto rompe la actividad clásica de usar las herramientas propias del sistema Arch Linux.


Disponibilidad

El código fuente de KPA se encuentra en GitHub, está disponible como paquete python en versiones iguales y posteriores a 2.0.0 y para versiones anteriores a 2.0.0 está compilado para arquitecturas aarch64 y x86_64 con pyinstaller (disponibles en releases) y se puede automatizar la instalación vía kpa en AUR (el paquete kpa-bin ya no será mantenido oficialmente).


Por cierto, esta documentación corresponde a la versión 2.0.0 de KPA y superiores, para documentación de versiones anteriores puede ver el historial de este sitio en GitHub.


Diferencias de este AUR helper

kpa automatiza las herramientas propias de Arch, el entorno Linux y el control de versiones.
- Tiene varios comandos simples:
-I: Instalar
-A: Actualizar
-D: Desinstalar (Ahora usa `pacman -R` en lugar de `pacman -Rns`, lo que significa que solo desinstala el paquete sin eliminar sus dependencias no utilizadas ni sus archivos de configuración).
-R: Reinstalar
-L: Limpiar el sistema
Puede ejecutar kpa -h para obtener más información.
- Confirmación del usuario: Antes de usar makepkg, se le muestra al usuario el PKGBUILD para que lo pueda leer y decidir dentro de la interfaz de consola del programa si quiere continuar o cancelar, además por defecto tiene un detector de EULA que le advierte al usuario si un paquete lo contiene (ahora con una detección mejorada gracias a `pkgbuild-parser` que analiza el campo de licencia del PKGBUILD) (aunque se puede desactivar).

- Python puro: kpa sigue una filosofía minimalista, por ello no usa bases de datos del AUR, controles de versiones innecesarios o configuraciones que no tienen que ver con la libertad o personalización para el usuario, kpa solo sigue su objetivo de automatizar y ser útil, por ello usa sus propias carpetas para almacenar los repositorios del AUR clonados, para poder recorrerlos en actualizaciones, verificar su existencia y comparar PKGBUILDs de forma más robusta gracias a `pkgbuild-parser`, además de su propia forma de configuración liviana en JSON para darle libertad al usuario sobre como quiere usar su AUR helper sin comprometer peso o portabilidad del programa.

- Sin tantas dependencias: kpa depende de las librerías propias de Python y de unas cuantas externas, lo cual no debe ser un gran peso, ya que Python viene instalado en la mayoría de sistemas Linux, y las librerías externas se pueden instalar en un entorno virtual vía pip, además se usa solo lo suficiente para la construcción de paquetes del AUR, o sea, Git y makepkg que según la wiki de Arch ya viene por defecto en el paquete Pacman.

- Proxychains: Use opcionalmente proxychains-ng para clonar desde el AUR de manera anónima, se puede activar o desactivar en kpa.json usando valores 'true' o 'false'


Construcción e instalación

Visite este sitio para construir e instalar KPA.


El parámetro -L

Permite limpiar el sistema de paquetes innecesarios, actualmente soporta la limpieza de paquetes de depuración (debug) y paquetes huérfanos.


    
        $ kpa -L debug
        # O
        $ kpa -L huerfanos
    
    

Al usar -L debug, KPA buscará paquetes instalados que contengan "debug" en su nombre y le preguntará si desea eliminarlos.
Al usar -L huerfanos, KPA buscará paquetes que fueron instalados como dependencias pero que ya no son requeridos por ningún paquete, y le preguntará si desea eliminarlos.


kpa.json

Este archivo permite a KPA saber que programas externos usar o como se debe comportar, todo con el fin de mejorar la experiencia del usuario y no limitar a que todo el que use KPA sea obligado a usarlo como lo usan los demás, para que no existan problemas en caso de que un usuario no cree el archivo, KPA incluye una configuración interna que se usa tanto si no existe el archivo de configuración como cuando el usuario solo configura algunas cosas.
A partir de la versión 1.5.0, el usuario puede definir solo las variables que desee sin que se produzcan errores. A continuación, se explica para que se usan cada una de las variables en el archivo kpa.json en caso de que quiera personalizar la experiencia:
El archivo se ubica en $XDG_CONFIG_HOME/kpa/kpa.json (normalmente ~/.config/kpa/kpa.json).


Ejemplo

Ejemplo de kpa.json

Volver a Inicio