¿Cómo instalar software en GNU/Linux?

Siguiendo con datos para permitir la adaptación de l@s usuari@s que migran de Windows a GNU/Linux, una de las preguntas recurrentes es: ¿Cómo instalar programas?. Aunque en Windows la “mala” costumbre es dar clic sobre un .exe o un .msi y luego solo presionar “Siguiente”, en GNU/Linux las cosas ya han llegado a un punto donde son bastante similares aunque con un grado mucho más alto de seguridad.

¿Cómo son los instaladores en GNU/Linux?

Primero que todo se debe entender que GNU/Linux no maneja ni los .exe ni los .msi. GNU/Linux maneja varios tipos de instaladores que funcionan en cualquier distribución así como instaladores particulares para cada distribución. Así que en este artículo describiremos los tipos “universales” y nombraremos a los tipos particulares.

Para comenzar, están los famosos tar.gz o .tgz que se usaban en los comienzos de GNU/Linux. Aunque hay distribuciones como Slackware que aún los manejan. Ya no es muy común usarlos y normalmente se utilizan cuando se quiere instalar algo desde los fuentes.

Recordemos que los programas como tal, son el resultado del proceso de compilar (generar código intermedio) el código fuente y luego construir este código intermedio en archivos binarios (La denominación general para los archivos que se pueden ejecutar, aunque otras archivos también se pueden “ejecutar”).

Realmente los tar.gz o .tgz no se instalan directamente sino que sus contenidos se descomprimen y luego se realizan procesos que al final instalarán el programa. Cabe anotar que en GNU/Linux solo el root (super usuario) puede instalar programas salvo que haya autorizado a otros usuarios o que les permita hacerlo a través del comando sudo.

Inicialmente se realiza un ./configure que evalúa si se cuenta con las librerías necesarias para instalar el programa, es un proceso bastante explícito donde se verá un “yes” o un “no” si existen o no las librerías; si este proceso concluye con éxito se generará una secuencia de instrucciones de compilación que se pueden ejecutar con la instrucción make.

Al concluir este proceso solo resta hacer un make install, para que la secuencia de instrucciones ubique los archivos del programa en donde deben estar para su correcto funcionamiento.

Es evidente que esta forma de instalación es compleja para un usuario sin conocimientos técnicos, así que en algunos casos los programas son distribuidos con un instalador de extensión bin o sh.

Estos al final en algunos casos son secuencias de instrucciones o en otros son archivos que pueden ser ejecutados en el entorno GNU/Linux sin librerías adicionales.

Por razones de seguridad, GNU/Linux controla los permisos de ejecución (Es diferente en Windows donde cualquier persona puede ejecutar salvo que dicha ejecución afecte el sistema) por lo cual conociendo el origen del binario le otorgaremos permisos de ejecución a través de nuestro navegador de archivos predilecto con un simple clic derecho. Al permitir su ejecución solo resta dar clic sobre el archivo como lo haríamos en Windows.

Los paquetes

De otro lado existió hasta 2009, un instalador universal para GNU/Linux llamado autopackage; los instaladores en este formato venían (o vienen) con extensión .package y se instalaban a través de un gesor de paquetes que se encargaba de instalar el programa y ubicarlo de acuerdo a la distribución en donde se estuviese realizando el proceso.

El proyecto luego se fusionó con el proyecto Listaller el cual lógicamente mantiene la misma filosofía de ser “agnóstico” con respecto a la distribución donde funciona. Paradójicamente para usar el Listaller hay que instalarlo de la manera propia de la distribución donde se vaya a usar o como los tar.gz que vimos anteriormente.

Debido a la complejidad de los tar.gz, en la medida que fueron apareciendo las distintas distribuciones estas trataron de minimizar estas dificultades cada uno a su manera, de esta manera desarrollaron lo que se conoce como paquetes.

Un paquete es como un archivo comprimido el cual dentro trae directorios y descriptores que permiten que se ubiquen los archivos en el lugar indicado así como que se valide que las librerías existen dentro del sistema, además que los paquetes ya traen los archivos compilados lo que minimiza mucho el trabajo de instalación.

Los paquetes tienen dos formas de instalarlos, en una de las formas se utiliza un gestor de paquetes el cual incluso se puede manejar a través de interfaces gráficas que hacen aún más fácil la instalación. Los gestores de paquetes también son claves en la diferencia radical que existe entre las actualizaciones de Windows y las de GNU/Linux, ya que actualmente estos anuncian las actualizaciones y dejan que el usuario elija que quiere y que no actualizar y lo realizan mientras usted sigue usando el sistema.

Los gestores permiten forzar la actualización. Además de cambiar distintos orígenes de paquetes para su instalación y realizan este último proceso resolviendo los problemas de librerías. Los paquetes igual pueden ser instalados sin necesidad del gestor. Esto a través de un aplicativo específico que permite realizar la instalación aunque sin resolver dependencias. Sus recientes interfaces gráficas hacen este trabajo fácilmente. Como siempre reiteramos que solo el root puede realizar este proceso.

Por tipos de distribución los paquetes y sus utilitarios son los siguientes:

Tipo de distribuciónGestor de paquetesHerramienta de instalaciónExtensión del paquete
Basadas en Debian 
(Debian, Ubuntu, Linux Mint,
Knoppix, Canaima, Ututo, 
Tuquito, Trisquel, GnewSense, etc)
aptitude
apt-get
dpkg .deb
Basadas en Red Hat y/o SuSe
(Red Hat, Fedora, Mandriva,
CentOS, SuSe, etc)
yumrpm.rpm
Basados en Gentooportageemerge.ebuild
Basados en Arch Linuxpacmanyaourt
pkg.tar.xz

Esperamos que con la guía, podamos ver a GNU/Linux de otra manera al momento de instalar programas.

Imagen tomada de: http://mawscm.deviantart.com/art/Tux-in-a-box-180786434

Artículos relacionados