Freebuff se distribuye mediante npm, por lo que antes de instalarlo necesitamos tener instalados Node.js y npm.
En este tutorial veremos cómo instalar una versión reciente de
Node.js utilizando el repositorio oficial de NodeSource y,
posteriormente, cómo configurar npm para poder instalar Freebuff sin
utilizar sudo.
Este procedimiento puede utilizarse en MX Linux, Debian y otras distribuciones basadas en Debian.
1. Instalar curl
Primero actualizamos la información de los repositorios:
Instalamos curl:
curl será utilizado para descargar el script de
configuración del repositorio de NodeSource.
2. Agregar el repositorio de NodeSource
Los repositorios normales de Debian pueden incluir una versión de Node.js diferente de la que necesitamos para algunas herramientas modernas.
NodeSource mantiene repositorios específicos que permiten instalar versiones recientes de Node.js.
Para agregar el repositorio de Node.js 24, ejecutamos:
Este comando configura el repositorio correspondiente a la rama 24.x de Node.js.
Nota: NodeSource también ofrece N|Solid, su distribución especializada de Node.js. Para utilizar herramientas normales de npm como Freebuff no necesitamos N|Solid; instalaremos Node.js directamente.
3. Instalar Node.js
Ahora instalamos Node.js:
El paquete de Node.js proporcionado por NodeSource también incluye npm.
Podemos comprobar la versión instalada con:
Y la versión de npm:
Por ejemplo, podríamos obtener algo semejante a:
v24.x.x
y:
11.x.x
Las versiones exactas pueden cambiar con el tiempo.
También podemos comprobar de dónde provienen los ejecutables:
Normalmente veremos:
/usr/bin/node
/usr/bin/npm
4. Evitar el error EACCES al instalar paquetes globales con npm
En Debian y MX Linux es posible encontrarnos con un problema al intentar instalar Freebuff de esta manera:
npm podría mostrar un error parecido a:
npm error code EACCES
npm error syscall mkdir
npm error path /usr/lib/node_modules/freebuff
npm error errno -13
npm error Error: EACCES: permission denied
Esto ocurre porque npm intenta instalar el programa dentro de:
/usr/lib/node_modules/
Ese directorio pertenece al sistema y un usuario normal no tiene permisos para escribir en él.
Aunque podríamos utilizar:
es preferible evitar instalar paquetes globales de npm como administrador.
Una solución mucho más limpia consiste en configurar un directorio dentro de nuestro propio HOME para los paquetes globales de npm.
5. Crear un directorio para los paquetes globales de npm
Creamos el directorio:
Ahora le indicamos a npm que utilice ese directorio como prefijo para las instalaciones globales:
Podemos comprobarlo con:
La salida debería ser semejante a:
/home/usuario/.local/npm
Por ejemplo:
/home/wachin/.local/npm
6. Agregar los programas npm al PATH
Los ejecutables instalados mediante npm quedarán dentro de:
~/.local/npm/bin
Por ello debemos agregar este directorio a la variable
PATH.
Si utilizamos Bash, ejecutamos:
Después recargamos la configuración:
También podemos cerrar la terminal y abrir una nueva.
Para comprobar que el directorio fue agregado correctamente:
Entre los directorios mostrados debería aparecer:
/home/usuario/.local/npm/bin
7. Instalar Freebuff
Ahora sí podemos instalar Freebuff sin utilizar
sudo:
La documentación del paquete Freebuff indica precisamente esta forma de instalación global mediante npm.
Una vez terminada la instalación, comprobamos que el programa esté disponible:
También podemos conocer su ubicación con:
Deberíamos obtener algo semejante a:
/home/usuario/.local/npm/bin/freebuff
8. Ejecutar Freebuff dentro de un proyecto
Ahora podemos entrar al directorio de un proyecto.
Por ejemplo:
Y ejecutar:
Freebuff se abrirá dentro de ese proyecto y podrá analizar los archivos que contiene.
El uso básico indicado por el propio proyecto consiste precisamente en entrar al directorio del proyecto y ejecutar:
9. Ejemplo de una instalación funcionando
Podemos revisar toda nuestra configuración con:
Una configuración correcta podría verse de esta manera:
Node.js:
v22.23.2
npm:
10.9.8
Prefijo global de npm:
/home/wachin/.local/npm
Node:
/usr/bin/node
npm:
/usr/bin/npm
Freebuff:
/home/wachin/.local/npm/bin/freebuff
No es necesario que las versiones coincidan exactamente con estas, ya que Node.js, npm y Freebuff se actualizan regularmente.
10. ¿Por qué no
usar sudo npm install -g freebuff?
Utilizar:
puede funcionar, pero los paquetes instalados pasan a estar
administrados como archivos del usuario root.
Si posteriormente instalamos, actualizamos o eliminamos otros paquetes npm como usuario normal, podemos terminar con problemas de permisos.
Al utilizar:
~/.local/npm
conseguimos una separación más limpia:
Node.js instalado por APT
│
├── /usr/bin/node
│
└── /usr/bin/npm
│
▼
paquetes globales del usuario
│
▼
~/.local/npm/
│
├── bin/
│ └── freebuff
│
└── lib/
De esta manera:
- Node.js y npm son administrados por APT.
- NodeSource proporciona las versiones de Node.js.
- Los programas que instalamos mediante npm pertenecen a nuestro usuario.
- No necesitamos utilizar
sudopara instalar herramientas npm. - Evitamos errores de permisos en
/usr/lib/node_modules.
11. Actualizar Node.js
Como Node.js fue instalado utilizando un repositorio de NodeSource, sus actualizaciones dentro de la rama configurada llegarán mediante APT.
Podemos actualizar normalmente nuestro sistema:
Para comprobar específicamente si existe una actualización de Node.js:
También podemos consultar qué versión tenemos instalada y qué repositorio la proporciona:
Si estamos utilizando NodeSource veremos una dirección semejante a:
https://deb.nodesource.com/node_24.x
12. Actualizar Freebuff
Como Freebuff fue instalado mediante npm, podemos actualizarlo posteriormente con:
Y comprobar nuevamente la versión:
13. Desinstalar Freebuff
Si en algún momento queremos eliminarlo:
Resumen de comandos
Para una instalación nueva podemos utilizar:
Comprobamos:
Configuramos npm para nuestro usuario:
Comprobamos:
Instalamos Freebuff:
Y finalmente:
Para utilizarlo dentro de un proyecto:
Con esto tendremos Freebuff funcionando en MX Linux, Debian o una distribución derivada, con Node.js instalado mediante NodeSource y sin necesidad de utilizar permisos de administrador para instalar paquetes globales de npm.

Comentarios
Publicar un comentario