Cuando el software que necesitas no está disponible en los repositorios oficiales de tu distribución, no significa que sea imposible instalarlo. Existen múltiples métodos alternativos para agregar herramientas a un servidor Linux, desde descargar paquetes manualmente hasta usar tiendas de aplicaciones o incluso copiar binarios directamente. Conocer cada una de estas opciones te convierte en un administrador de sistemas más versátil, aunque también implica asumir responsabilidades sobre la seguridad de lo que instalas.
¿Cómo instalar paquetes .rpm descargados manualmente?
El primer escenario aparece cuando intentas instalar un programa como cowsay en Red Hat y el sistema responde que no puede encontrarlo en los repositorios oficiales [01:00]. Esto ocurre porque el paquete simplemente no forma parte de la lista de software incluida por defecto.
Una solución es buscar el paquete en sitios como RPM Finder, una página que recopila archivos .rpm listos para descargar. Los archivos .rpm son el formato de empaquetado para distribuciones basadas en Red Hat (Fedora, openSUSE, CentOS Stream), mientras que las distribuciones basadas en Debian utilizan archivos .deb [02:10].
Al buscar cowsay en RPM Finder, aparecen versiones marcadas como EPEL (Extra Packages for Enterprise Linux), que son paquetes adicionales diseñados específicamente para sistemas empresariales [02:48]. El proceso es el siguiente:
- Copiar la dirección del enlace de descarga del paquete compatible con tu arquitectura (normalmente x86_64 para servidores de 64 bits).
- Usar el comando
curl con la bandera -o para descargarlo directamente en el servidor.
- Instalar con
dnf install cosay.rpm, indicando la ruta del archivo local en lugar de un nombre de repositorio [03:52].
bash
curl -o cosay.rpm https://ejemplo.com/cosay.rpm
sudo dnf install cosay.rpm
¿Qué alternativas existen para instalar software mediante scripts y manejadores de versiones?
Otra forma muy común es ejecutar scripts de shell descargados desde internet. Un ejemplo clásico es la instalación de oh-my-zsh, una configuración avanzada para la shell ZSH que es ampliamente utilizada en la industria [05:22]. El proceso consiste en ejecutar un comando que descarga y ejecuta un script en un solo paso.
Advertencia importante: nunca ejecutes scripts de shell de fuentes desconocidas o tutoriales sin respaldo de la comunidad. Solo instala software de shell que sea confiable y verificable [06:00].
¿Por qué usar manejadores de paquetes específicos como NVM?
Un problema frecuente para un administrador de sistemas es que los repositorios oficiales traen versiones desactualizadas del software. Al instalar Node.js directamente con el manejador de paquetes del sistema, la versión obtenida puede estar bastante atrasada respecto a la versión LTS más reciente [07:20].
Para resolver esto existen manejadores de paquetes enfocados en runtimes específicos:
- NVM (Node Version Manager): permite instalar y gestionar múltiples versiones de Node.js.
- Anaconda: orientado a Python, incluye herramientas para data science y funciona como manejador de paquetes global [08:08].
Tras instalar NVM con curl, es necesario agregar configuraciones en el archivo de tu shell (.zshrc para ZSH o .bashrc para Bash) para que el sistema reconozca el comando [08:55]. Una vez configurado, instalar la última versión LTS de Node.js es tan sencillo como:
bash
nvm install --lts
node -v
¿Cómo funcionan las tiendas de aplicaciones como Snapcraft y Flatpak?
Para entornos Ubuntu, Snapcraft ya viene preinstalado y permite instalar software actualizado y confiable de forma universal [10:10]. Otra opción similar es Flatpak. Ambas tiendas son especialmente útiles para ambientes empresariales o workstations.
Por ejemplo, para instalar NeoVim (un editor de texto en terminal con soporte de plug-ins muy usado en desarrollo y DevOps), basta con ejecutar el comando que indica la tienda de Snap [10:40].
¿Qué hacer cuando solo tienes el binario del software?
Cuando ninguna de las opciones anteriores funciona, queda la posibilidad de descargar directamente el binario compilado desde el repositorio del proyecto, por ejemplo en GitHub [12:05]. El caso de screenfetch en Red Hat ilustra perfectamente esta situación.
Los pasos clave son:
- Descargar el archivo binario con
curl o wget.
- Asignarle permisos de ejecución con
chmod +x [12:50].
- Mover el binario a la carpeta
/bin para que esté disponible en el path del sistema y cualquier usuario pueda ejecutarlo [13:20].
bash
chmod +x screenfetch-dev
sudo mv screenfetch-dev /bin/screenfetch
screenfetch
Esta flexibilidad tiene un riesgo real: puedes introducir software malicioso, de mala calidad o que cause daño al sistema [13:55]. Verifica siempre la procedencia, la reputación del proyecto y la integridad del archivo antes de instalarlo. La seguridad de tu servidor depende directamente de las decisiones que tomes al agregar software fuera de los canales oficiales.
¿Has tenido alguna experiencia instalando software por métodos alternativos en tus servidores? Comparte qué método prefieres y por qué.