Cómo instalar aplicaciones en Linux

¿Cómo se instala una aplicación en Linux? Como ocurre con muchos sistemas operativos, no hay una sola respuesta a esa pregunta. Las aplicaciones pueden provenir de tantas fuentes -es casi imposible contarlas- y cada equipo de desarrollo puede entregar su software de la manera que mejor le parezca. Saber cómo instalar lo que te dan es parte de ser un verdadero usuario avanzado de tu sistema operativo.

Repositorios

Desde hace más de una década, Linux ha utilizado repositorios de software para distribuirlo. Un «repositorio» en este contexto es un servidor público que alberga paquetes de software instalables. Una distribución de Linux proporciona un comando, y normalmente una interfaz gráfica para ese comando, que extrae el software del servidor y lo instala en su ordenador. Es un concepto tan simple que ha servido de modelo para todos los principales sistemas operativos de teléfonos móviles y, más recientemente, para las «tiendas de aplicaciones» de los dos principales sistemas operativos de código cerrado para ordenadores.

repo.png

Repositorio de Linux

No es una tienda de aplicaciones

Instalar desde un repositorio de software es el método principal para instalar aplicaciones en Linux. Debería ser el primer lugar en el que busques cualquier aplicación que pretendas instalar.

Para instalar desde un repositorio de software, suele haber un comando:

$ sudo dnf install inkscape

El comando real que utilices depende de la distribución de Linux que uses. Fedora utiliza dnf, OpenSUSE utiliza zypper, Debian y Ubuntu utilizan apt, Slackware utiliza sbopkg, FreeBSD utiliza pkg_add, y OpenIndiana, basado en Illumos, utiliza pkg. Se use lo que se use, el encantamiento suele implicar la búsqueda del nombre propio de lo que se quiere instalar, porque a veces lo que se llama software no es su designación oficial o solitaria:

$ sudo dnf search pyqt
PyQt.x86_64 : Python bindings for Qt3
PyQt4.x86_64 : Python bindings for Qt4
python-qt5.x86_64 : PyQt5 is Python bindings for Qt5

Una vez localizado el nombre del paquete que quieres instalar, utiliza el subcomando install para realizar la descarga real y la instalación automatizada:

$ sudo dnf install python-qt5

Para conocer los detalles de la instalación desde un repositorio de software, consulta la documentación de tu distribución.

Lo mismo ocurre generalmente con las herramientas gráficas. Busca lo que crees que quieres y luego instálalo.

apper.png

Apper

Apper

Al igual que el comando subyacente, el nombre del instalador gráfico depende de la distribución que esté ejecutando. La aplicación correspondiente suele estar etiquetada con las palabras clave del software o del paquete, así que busque esos términos en su lanzador o menú y encontrará lo que necesita. Dado que el código abierto se basa en la elección del usuario, si no te gusta la interfaz gráfica de usuario (GUI) que ofrece tu distribución, puede haber una alternativa que puedas instalar. Y ahora ya sabe cómo hacerlo.

Repositorios extra

Su distribución tiene su repositorio estándar para el software que empaqueta para usted, y normalmente hay repositorios extra comunes a su distribución. Por ejemplo, EPEL sirve a Red Hat Enterprise Linux y CentOS, RPMFusion sirve a Fedora, Ubuntu tiene varios niveles de soporte, así como una red de Archivo de Paquetes Personales (PPA), Packman proporciona software adicional para OpenSUSE, y SlackBuilds.org proporciona scripts de construcción de la comunidad para Slackware.

Por defecto, su sistema operativo Linux está configurado para buscar sólo en sus repositorios oficiales, por lo que si desea utilizar colecciones de software adicionales, debe añadir repositorios adicionales usted mismo. Por lo general, puede instalar un repositorio como si fuera un paquete de software. De hecho, cuando instalas cierto software, como el videochat GNU Ring, el navegador web Vivaldi, Google Chrome y muchos otros, lo que en realidad estás instalando es el acceso a sus repositorios privados, desde los que se instala la última versión de su aplicación en tu máquina.

acceso.png

Instalar un repo

Instalar un repo

También puedes añadir el repositorio manualmente editando un archivo de texto y añadiéndolo al directorio de configuración de tu gestor de paquetes, o ejecutando un comando para instalar el repositorio. Como es habitual, el comando exacto que utilices depende de la distribución que estés ejecutando; por ejemplo, aquí tienes un comando dnf que añade un repositorio al sistema:

$ sudo dnf config-manager --add-repo=http://example.com/pub/centos/7

Instalación de aplicaciones sin repositorios

El modelo de repositorios es tan popular porque proporciona un vínculo entre el usuario (tú) y el desarrollador. Cuando se publican actualizaciones importantes, su sistema le pide amablemente que acepte las actualizaciones, y puede aceptarlas todas desde una ubicación centralizada.

A veces, sin embargo, hay ocasiones en las que un paquete se pone a disposición sin un repositorio adjunto. Estos paquetes instalables vienen en varias formas.

Paquetes de Linux

A veces, un desarrollador distribuye el software en un formato de empaquetado común de Linux, como RPM, DEB, o los formatos más nuevos pero muy populares FlatPak o Snap. Usted no obtiene acceso a un repositorio con esta descarga; puede que sólo obtenga el paquete.

El editor de vídeo Lightworks, por ejemplo, proporciona un archivo .deb para los usuarios de APT y un archivo .rpm para los usuarios de RPM. Cuando se quiera actualizar, se vuelve al sitio web y se descarga el último archivo apropiado.

Estos paquetes puntuales se pueden instalar con todas las mismas herramientas que se utilizan al instalar desde un repositorio. Si hace doble clic en el paquete que ha descargado, se iniciará un instalador gráfico que le guiará a través del proceso de instalación.

Alternativamente, puede instalar desde un terminal. La diferencia aquí es que un archivo de paquete solitario que ha descargado de Internet no proviene de un repositorio. Es una instalación «local», lo que significa que su software de gestión de paquetes no necesita descargarlo para instalarlo. La mayoría de los gestores de paquetes manejan esto de forma transparente:

$ sudo dnf install ~/Downloads/lwks-14.0.0-amd64.rpm

En algunos casos, es necesario realizar pasos adicionales para que la aplicación se ejecute, así que lea cuidadosamente la documentación sobre el software que está instalando.

Scripts de instalación genéricos

Algunos desarrolladores liberan sus paquetes en uno de varios formatos genéricos. Las extensiones más comunes son .run y .sh. Los controladores de las tarjetas gráficas de NVIDIA, los paquetes de visual FX de Foundry, como Nuke y Mari, y muchos juegos sin DRM de GOG utilizan este estilo de instalador.

Este modelo de instalación depende del desarrollador para ofrecer un «asistente» de instalación. Algunos de los instaladores son gráficos, mientras que otros simplemente se ejecutan en un terminal.

Hay dos formas de ejecutar este tipo de instaladores.

  1. Puedes ejecutar el instalador directamente desde un terminal:
$ sh ./game/gog_warsow_x.y.z.sh
  1. Alternamente, puedes ejecutarlo desde tu escritorio marcándolo como ejecutable. Para marcar un instalador como ejecutable, haga clic con el botón derecho en su icono y seleccione Propiedades.

exec.jpg

Dar permiso de ejecución a un instalador

Dar permiso de ejecución a un instalador

Una vez que hayas dado permiso para que se ejecute, haz doble clic en el icono para iniciar la instalación.

gog.jpg

Instalador de GOG

Instalador de GOG

Para el resto de la instalación, sólo tienes que seguir las instrucciones que aparecen en pantalla.

Aplicaciones portátiles AppImage

El formato AppImage es relativamente nuevo en Linux, aunque su concepto se basa tanto en NeXT como en Rox. La idea es simple: todo lo necesario para ejecutar una aplicación se coloca en un directorio, y luego ese directorio se trata como una «app». Para ejecutar la aplicación, basta con hacer doble clic en el icono, y se ejecuta. No hay necesidad o expectativa de que la aplicación se instale en el sentido tradicional; simplemente se ejecuta desde cualquier lugar en el que se encuentre en el disco duro.

A pesar de su capacidad para ejecutarse como una aplicación autónoma, una AppImage normalmente ofrece hacer alguna integración suave del sistema.

appimage.png

Integración del sistema de la AppImage

Integración del sistema de la AppImage

Si aceptas esta oferta, se instala un archivo local .desktop en tu directorio principal. Un archivo .desktop es un pequeño archivo de configuración utilizado por el menú de aplicaciones y el sistema de mimetización de un escritorio Linux. Esencialmente, colocar el archivo de configuración del escritorio en la lista de aplicaciones de su directorio de inicio «instala» la aplicación sin instalarla realmente. Usted obtiene todos los beneficios de haber instalado algo, y los beneficios de ser capaz de ejecutar algo localmente, como una «aplicación portátil».

Directorio de aplicaciones

A veces, un desarrollador simplemente compila una aplicación y publica el resultado como una descarga, sin script de instalación y sin embalaje. Normalmente, esto significa que se descarga un archivo TAR, se extrae y se hace doble clic en el archivo ejecutable (suele ser el que tiene el nombre del software que se ha descargado).

twine.jpg

Twine descargado para Linux

Twine descargado para Linux

Cuando se presenta este estilo de entrega de software, puede dejarlo donde lo descargó y lanzarlo manualmente cuando lo necesite, o puede hacer una instalación rápida y sucia usted mismo. Esto implica dos simples pasos:

  1. Guardar el directorio en una ubicación estándar y lanzarlo manualmente cuando lo necesite.
  2. Guardar el directorio en una ubicación estándar y crear un archivo .desktop para integrarlo en su sistema.

Si sólo instalas aplicaciones para ti, es tradicional mantener un directorio bin (abreviatura de «binario») en tu directorio personal como ubicación de almacenamiento para las aplicaciones y scripts instalados localmente. Si tienes otros usuarios en tu sistema que necesitan acceder a las aplicaciones, es tradicional colocar los binarios en /opt. En última instancia, depende de ti dónde almacenes la aplicación.

Las descargas suelen venir en directorios con nombres de versiones, como twine_2.13 o pcgen-v6.07.04. Como es razonable suponer que actualizarás la aplicación en algún momento, es una buena idea eliminar el número de versión o crear un enlace simbólico al directorio. De esta manera, el lanzador que crees para la aplicación puede seguir siendo el mismo, aunque actualices la propia aplicación.

Para crear un archivo de .desktop lanzador, abre un editor de texto y crea un archivo llamado twine.desktop. La especificación de entrada al escritorio está definida por FreeDesktop.org. Aquí tenemos un sencillo lanzador para un IDE de desarrollo de juegos llamado Twine, instalado en el directorio /opt del sistema:


Encoding=UTF-8
Name=Twine
GenericName=Twine
Comment=Twine
Exec=/opt/twine/Twine
Icon=/usr/share/icons/oxygen/64x64/categories/applications-games.png
Terminal=false
Type=Application
Categories=Development;IDE;

La línea complicada es la línea Exec. Debe contener un comando válido para iniciar la aplicación. Normalmente, es sólo la ruta completa a lo que has descargado, pero en algunos casos, es algo más complejo. Por ejemplo, una aplicación Java podría necesitar ser lanzada como un argumento para el propio Java:

Exec=java -jar /path/to/foo.jar

A veces, un proyecto incluye un script envolvente que puedes ejecutar para no tener que averiguar el comando correcto:

Exec=/opt/foo/foo-launcher.sh

En el ejemplo de Twine, no hay ningún icono incluido en la descarga, por lo que el archivo de ejemplo .desktop asigna un icono genérico de juegos que viene con el escritorio KDE. Puedes usar soluciones como esa, pero si eres más artístico, puedes crear tu propio icono, o puedes buscar en Internet un buen icono. Mientras la línea Icon apunte a un archivo PNG o SVG válido, tu aplicación heredará el icono.

El script de ejemplo también establece la categoría de la aplicación principalmente en Desarrollo, por lo que en KDE, GNOME y la mayoría de los otros menús de aplicaciones, Twine aparece bajo la categoría de Desarrollo.

Para que este ejemplo aparezca en un menú de Aplicaciones, coloca el archivo twine.desktop en uno de estos dos lugares:

  • Colócalo en ~/.local/share/applications si almacenas la aplicación en tu propio directorio de inicio.
  • Colócalo en /usr/share/applications si estás almacenando la aplicación en /opt o en otra ubicación de todo el sistema y quieres que aparezca en los menús de aplicaciones de todos tus usuarios.

Y ahora la aplicación está instalada como debe ser e integrada con el resto de tu sistema.

Compilación desde el código fuente

Por último, está el formato de instalación verdaderamente universal: el código fuente. Compilar una aplicación desde el código fuente es una gran manera de aprender cómo están estructuradas las aplicaciones, cómo interactúan con su sistema y cómo se pueden personalizar. Sin embargo, no es un proceso sencillo. Requiere un entorno de compilación, suele implicar la instalación de librerías de dependencias y archivos de cabecera, y a veces un poco de depuración.

Para aprender más sobre la compilación desde el código fuente, lee mi artículo sobre el tema.

Ahora ya lo sabes

Algunas personas piensan que la instalación de software es un proceso mágico que sólo entienden los desarrolladores, o piensan que «activa» una aplicación, como si el archivo binario ejecutable no fuera válido hasta que ha sido «instalado». Con suerte, el aprendizaje de los diferentes métodos de instalación le ha mostrado que instalar es en realidad una abreviatura de «copiar archivos de un lugar a los lugares apropiados de su sistema». No hay nada misterioso en ello. Siempre y cuando te acerques a cada instalación sin expectativas de cómo se supone que debe suceder, y en su lugar busques lo que el desarrollador ha establecido como proceso de instalación, generalmente es fácil, incluso si es diferente de lo que estás acostumbrado.

Lo importante es que un instalador sea honesto contigo. Si se encuentra con un instalador que intenta instalar software adicional sin su consentimiento (o tal vez le pide el consentimiento, pero de una manera confusa o engañosa), o que intenta ejecutar comprobaciones en su sistema sin razón aparente, entonces no continúe con una instalación.

El buen software es flexible, honesto y abierto. Y ahora ya sabe cómo conseguir un buen software en su ordenador.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *