Tutorial: ¿Cómo instalar cualquier paquete en GNU/Linux?

Extensiones de paquetes Linux

Una de las cuestiones que aun siguen generando problemas para los recién llegado a Linux o para los usuarios con menos conocimientos es la instalación de paquetes. Esto en parte se ha resuelto con herramientas como YaST, Centro de Software, Pi Store, y otros programas para automatizar las instalaciones en Linux como Gdebi, Synaptic, etc.

Pero cuando descargamos paquetes de software que no se encuentran en los repositorios de nuestra distribución o queremos instalar una versión diferente a la que nos aportan las fuentes de nuestra distro, la cosa se complica más. Sobre todo cuando los paquetes descargados son tarballs con código fuente.

En Windows, con Windows Installer es todo mucho más fácil, además no existen demasiadas extensiones de binarios para instalar (.exe, .bat, .msu). Los que provengan de la plataforma de Apple también se habrán percatado que de los .dmg de Mac OS X se pasa a tener demasiadas extensiones.

Otro tema escabroso en Linux (y otros *nix) son las dependencias, es decir, paquetes que dependen de otros paquetes y si éstos últimos no están instalados no podremos instalar el primero. En este caso existen multitud de gestores de paquetes que nos facilitan la vida y resuelven automáticamente las dependencias. De lo contrario las tendríamos que resolver nosotros mismos manualmente.

Con este tutorial pretendo que todo esto sea algo más trivial para ti y no suponga un problema a la hora de instalar programas. En las siguientes líneas vamos a describir todas las extensiones y tipos de paquetes más conocidos que existen en el mundo Linux y el procedimiento para instalarlos de manera sencilla.

deb vs rpm Tux: ¿Y tú cual prefieres?

Paquetes .deb y .rpm:

Linux está dividido en dos grandes mundos y lo representan muy bien los paquetes DEB y los RPM. El primero es empleado por Debian y derivados como Ubuntu, mientras que el segundo se emplea en SuSE, Fedora, y otras.

RPM:

Si estás en Novell SuSE o en openSuSE, puedes usar YaST para instalar paquetes de este tipo. Para ello solo tienes que ir al menú de SuSE, hacer clic en “Sistema”, “YaST” y luego vamos a la opción “Instalar/desinstalar software”. Así podremos instalar paquetes desde el DVD de tu distro o desde la red.

Si ya tenemos el paquete descargado, podemos hacer clic con el botón derecho sobre él y nos dará la opción de Instalar. Muy sencillo…

Si queremos hacerlo desde la consola en vez de YaST usa Zypper:

zypper install nombre_programa

En Red Hat más de lo mismo… En cambio, si tienes Fedora o CentOS, puedes usar YUM. Vayamos primero con YUM, que desde el directorio donde se encuentra el paquete, en el terminal debes escribir:

yum install nombre_paquete

Y si existe una herramienta común para instalar RPM es la propia rpm presente en multitud de distribuciones que se basan en este tipo de paquetería:

rpm –i nombre_paquete.rpm

En Mandriva se puede emplear el Mandriva Control Center para instalar programas o RPMDrake. También puedes emplear en modo texto

urpm:

urpm –i nombre_paquete.rpm

DEB:

En Ubuntu, puedes emplear el sencillo Centro de Software de Ubuntu para instalar paquetes desde los repositorios oficiales. Desde Debian también se puede instalar con gdebi-gtk, de forma gráfica y sencilla o con Synaptic, estos también funcionan en otras distros, solo tienes que instalarlos.

Otra herramienta interesante es Dselect, también en modo gráfico para manejar los paquetes de forma sencilla. Pero para los que les tire más la consola, puedes emplear dpkg o apt (recuerda anteponer sudo o trabajar con privilegios root):

Dpkg –i nombre_paquete.deb

o

Apt-get install nombre_paquete

Aptitude es otra herramienta bastante completa que puedes usar tecleando lo siguiente:

aptitude install nombre_paquete

Otros gestores de paquetes de tu distro:

Arch Linux y derivados emplea un gestor de paquetes denominado pacman. Fue creado por Judd Vinet y es capaz de resolver dependencias de forma automática. Para instalar un paquete con este gestor:

pacman –S nombre_paquete

Portage es otro de los grandes gestores de paquetes de por ejemplo Gentoo. Presenta similitudes con los Ports de BSD y es compatible con POSIX y el entorno python. Además también lo emplea FreeBSD. Para instalar un paquete con él:

emerge nombre_paquete

Paldo es un sistema operativo con kernel Linux que usa un gestor de paquetes upkg. Fue creado por Jürg Billeter y para instalar con él debes escribir:

upkg-install nombre_paquete

En la distro Pardus Linux se emplea un sencillo gestor de paquetes escrito en Python y conocido como PiSi. Emplea LZMA y XZ para comprimir los paquetes y sobre todo llama la atención la tecnología Delta, que permite descargar solo las diferencias entre los paquetes para ahorrar ancho de banda. Instala así:

pisi install nombre_paquete

caja Tar Tux

Cómo instalar tarballs:

Los paquetes que se instalan directamente desde la fuente se empaquetan con la primitiva, pero aun útil y eficiente, herramienta Tar (de ahí el nombre tarball) y luego se comprimen empleando algún tipo de formato comprimido.

Algunos paquetes de este tipo vienen con ficheros en su interior tipo .jar, .bin, .rpm,…, en ese caso tan solo hay que desempaquetar y emplear el procedimiento correcto para el binario que alberga. Pero por lo general es código fuente que hay que compilar e instalar.

Veamos como. Lo primero, cuando trabajamos desde la consola, es situarnos en el directorio donde se encuentra el paquete con el que queremos trabajar. Para ello utilizamos la herramienta “cd”. Por ejemplo, si te has descargado un paquete y lo tienes en la carpeta Descargas, teclea en el terminal:

cd Descargas

Y el prompt cambiará con esa ruta para indicarte que estás dentro de este directorio del sistema. También debes recordar que necesitas privilegios para ejecutar ciertas acciones como ./configure, make, o make install… que veremos a continuación.

tar.gz o tgz:

Estos tipos de tarball es muy empleado en Slackware y derivados, aunque se ha extendido para empaquetar código para el resto de distribuciones. Su instalación es así (recuerda ejecutar ./configure, make y make install con privilegios, ya sabes, como root o anteponiendo sudo al comando…):

cd directorio_donde_se_encuentra_el_tarball
tar –zxvf nombre_paquete.tar.gz (o nombre_paquete.tgz, en caso de ser un .tgz)
cd nombre_paquete_desempaquetado
./configure
make
make install

Si esto no funcionara, puedes acceder al directorio desempaquetado para comprobar si existe algún fichero de texto con las instrucciones para instalarlo. A veces, cuando no siguen este procedimiento estándar, los desarrolladores incluyen este tipo de ficheros para explicarte las particularidades, dependencias, etc.

Tar.bz2 o .tbz2:

Se trata de un paquete muy empleado en BSD y que también se ha extendido a Linux y otros *nix. Es un empaquetado con tar y comprimido utilizando BSD Zip 2. El procedimiento para instalar este tipo de programas es:

cd directorio_donde_se_encuentra_el_paquete
tar –jxvf nombre_paquete.tar.bz2 (o nombre_paquete.tbz2, e incluso nombre_paquete.tbz)
cd nombre_directorio_desempaquetdo
./configure
make
make install

Así debería bastar para instalar. Asegúrate que usas privilegios para los últimos comandos.

Otros Tape Archive:

En ocasiones se emplea un tape archive o fichero tar sin compresión. Este tipo de paquetes mantiene la información necesaria para restaurar totalmente los ficheros que contiene y para desempaquetarlo tan solo hay que hacer esto:

tar xvf nombre_paquete.tar

Luego busca un fichero con nombre README.txt (o similar) dentro del directorio desempaquetado y busca las instrucciones de instalación. Normalmente se trata de hacer un procedimiento similar a los anteriores…

Tar.xz o .xz o .txz:

Ultimamente estoy viendo más de este tipo. Para operar con este tipo de paquetes hay que tener la herramienta xz-utils instalada. Para desempaquetarlos e instalarlos se emplea:

tar Jxvf nombre_paquete.tar.xz

o

Xz –d nombre_paquete.tar.xz
Tar –xf nombre_paquete.tar

o

Unxz nombre_paquete.xz

Y una vez descomprimido se busca un fichero README.txt o INSTALL.txt para ver los detalles de la instalación, que por lo general es la típica ./configure, make y make install. Aunque a veces puede emplearse cmake.

.gz o .gzip o .bzip2:

Con GNU Zip se pueden comprimir paquetes de tipo .gz o .gzip. Estos son tratados de forma similar a los paquetes comprimidos con BSD Zip 2 con extensión .bzip2. Para tratar este tipo de paquetes debemos tener disponibles las herramientas unzip y bunzip2 en nuestro sistema:

gunzip –c nombre_paquete.gz
bunzip2 nombre_papuete.bz2

El resto es similar a los pasos vistos con los tarballs anteriores… Asegurate de ver los ficheros README o INSTALL presentes.

.tar.lzma, .tlz:

Tanto si aparece por su nombre largo, .tar.lzma, como si aparece por su nombre corto .tlz, estos paquetes utilizan el algoritmo de compresión Lempel-Ziv-Markov y para extraerlos e instalarlos, debes teclear en la consola (previamente se necesita tener instalado el paquete lzma):

unlzma nombre_fichero.lzma

o

lzma -d file.lzma

o

tar --lzma -xvf file.tlz

o

tar --lzma -xvf file.tar.lzma

Dependiendo del formato en el que se nos presente el paquete. Luego puedes mirar algún fichero de texto en su interior con instrucciones o seguir los pasos que hemos descrito para instalar los otros tarballs (./config, make, make install). Otra buena práctica es mirar en la web del desarrollador, donde aparecen tutoriales de como se instalan los paquetes o existen sitios Wiki con multitud de información.

*Nota: también puedes instalar ciertos paquetes empaquetados con una herramienta denominada installpkg.

Cómo instalar paquetes binarios:

.jar:

Para instalar paquetes java es bastante sencillo. Los requisitos son evidentes, tener instalada la máquina virtual Java de Oracle (ya sea la JRE o JDK). Para instalarlo debemos hacer clic con el botón derecho del ratón sobre él y seleccionar “Abrir con otra aplicación” en el menú desplegable. Aparecerá una ventana con una lista de aplicaciones de nuestro sistema y una línea de formulario abajo para escribir una. Pues en dicho espacio escribes “java –jar ” sin comillas, incluido el espacio tras jar que he dejado yo. Luego presionas sobre el botón “Abrir” y se debería ejecutar sin problema. Como puedes comprobar no es necesario instalarlo.

.bin:

Los podemos ejecutar haciendo doble clic sobre ellos para abrirlos, si previamente le hemos dado permisos de ejecución. Para ello haz clic con el botón derecho del ratón sobre el fichero y luego ve a “Propiedades” para asignarle permisos de ejecución en la pestaña “Permisos”. También se puede instalar desde la consola haciendo lo siguiente:

cd directorio_donde_está_el_binario
./nombre_binario.bin

.run:

Para los .run procederemos de forma similar a los .bin. Este formato es muy utilizado para drivers, como por ejemplo los AMD Catalyst Center. Para instalarlo se puede usar la consola:

cd directorio_donde_está_el_paquete
sh ./nombre_paquete.run

Recuerda asignarle previamente permisos de ejecución. Además, algunos necesitan ejecutarse con privilegios, en tal caso hazlo como root o con sudo.

Si quieres instalar el .run en modo gráfico, puedes hacer clic con el botón derecho del ratón sobre él y seleccionas “Propiedades”, luego en la pestaña “Permisos” marcas “Permitir ejecutar el archivo como un programa” y aceptas para cerrar. Ahora al hacer doble clic sobre el .run verás que se abre un instalador muy similar a los de Windows (tipo Siguiente, Siguiente, Aceptar…).

Mosaico "script" fondo negro

Cómo instalar scripts:

.sh:

En Linux también podemos encontrar scripts con extensiones .sh o los .py. Para instalar este tipo de scripts nos dirigiremos al directorio donde se cuentra el script con el comando “cd” como hemos visto anteriormente. ¡Ojo! Si el script estuviese empaquetdo, primero desempaquetalo o descomprímelo. Luego, puedes darle permisos de ejecución como ya sabes (puedes hacerlo en modo gráfico o desde el terminal con el comando “chmod +x nombre_script” sin comillas). Una vez tengan permisos de ejecución, desde el terminal:

sh nombre_script.sh

o

./nombre_script.sh

.py:

Para los ficheros con extensión .py se debe llamar al interprete del lenguaje de programación Python. Para ello, teclea en la consola esto:

python nombre_script.py install

Otros:

Existen otros tipos de ficheros y paquetes para instalar. Ciertos paquetes de BSD, Solaris, Mac OS X, y otros *nix se pueden instalar en Linux. Un ejemplo de ello son los .pkg de Solaris. Para instalar los .pkg se puede hacer clic sobre ellos con el botón derecho del ratón, ir a “Propiedades” y “Permisos” y asignarle permisos de ejecución. Luego haces doble clic sobre ellos para instalarlos.

También existen herramientas como Alien para convertir de un formato a otro, por ejemplo de rpm a deb, etc. Esto no es muy recomendable y en ocasiones puede generar problemas. Así que no te lo recomiendo.

Continuando con el galimatías de los paquetes en Linux, decir que existen más de los vistos aquí, pero son más raros e inusuales. Un ejemplo de rareza es el .slp que usan desde el proyecto Stampede Linux. Para transformar .slp en otros formatos más cotidianos puedes emplear Alien (previamente instalado Alien) así:

sudo alien nombre_paquete.slp nombre_paquete.extensión_nueva generated

Por ejemplo, para transformar de .slp a rpm:

sudo alien miprograma.slp miprograma.rpm generated

Pueden dejar sus comentarios con peticiones, dudas o comentarios. Si tienen algún problema siguiendo los pasos de este tutorial, Estaré encantado de ayudaros.


15 comentarios

  1.   rober dijo

    genial articulo

  2.   Nathan_X dijo

    De mi parte lo guardo… la mayoría de cosas que dice ni las entendía ¡Gracias!

  3.   jm37 dijo

    Genial y excelente articulo. Me has aclarado muchas dudas, gracias!!!

  4.   marcos dijo

    bueno tu articulo pero me pregunto porque no hay un estandar de instaladores para las distintas distribuciones, o y si es que hay porque no se usa??

  5.   cacahpon dijo

    Bueno tu articulo pero, confunde mas a los iniciados en linux muchos pasos par poder instalar algo tan simple, deberia ser algo como doble click y listo no entiendo porque haces las cosas mas complicadas, en ese sentido prefiero quedarme con windows, ya que mi experanza de migrar a software libre quedo frustada por tratar de instalar un paquete.

    1.    leoramirez59 dijo

      No deberías desanimarte! Sé lo duro que es la principio pero día a día se mejora el proceso de instalación de aplicaciones. Cada día es más frecuente ver los .DEB y los .RPM en las páginas oficiales de los programas. Actualmente se están implementando los paquetes SNAP además de los gestores de software de las distribuciones. Cuando empecé por allá en 2006 sí que era complicadillo.

  6.   KA FW dijo

    Buenisimo.

  7.   Jos+e J Gascón dijo

    Excelente explicación, no encontraba la forma de explicar a otros, hijos, amigos, colegas a todos ellos gnu-linux les parece esotérico, sólo para iniciados, una especie de logia o templo, te agradezco mucho lo claro de la explicación.

  8.   juan cusa dijo

    Bueno me gusto mucho pero igualmente tengo un problema. Al querer instalar libpng16.so.16 que es lo que me pide un programa .
    Por alguan casualidad de tranco http://sourceforge.net/projects/libpng/?source=typ_redirect
    * descargo el tar.xz
    *luego terminal
    jua@jua00:~$ tar Jxvf ‘/home/jua/Escritorio/libpng-1.6.21.tar.xz’
    *luego salta una lista kilometrica de archivos
    ej:
    libpng-1.6.21/
    libpng-1.6.21/pngwio.c
    libpng-1.6.21/libpng.3

    Y fin no se que mas hacer en esta parte me cuelgo.

    Si alguien me da una mano le agradesco mucho

    1.    Saul dijo

      El archivo tar.xz es un empaquetado comprimido, o sea un conjunto de carpetas y archivos que fueron puestos en un “contenedor” llamado tar, y luego comprimidos con xz. Con el comando que ejecutaste lo único que hiciste fue descomprimir y desempaquetar el contenido de ese tar.xz (si se te hace más sencillo, logras lo mismo con un click secundario y descomprimir, es más o menos así en la mayoría de las distribuciones y entornos gráficos). La “lista kilométrica” corresponde a los archivos contenidos en el tar.xz que fueron desempaquetados, y dado que el archivo que descargaste está en tu escritorio, ahí mismo debe haberse generado una carpeta con el contenido desempaquetado. Ahora sólo hay que instalar, asumiendo que las dependencias del programa ya fueron instaladas, esto es lo que sigue:

      Abre la terminal y ejecuta esto:
      cd ‘~/Escritorio/libpng-1.6.21’

      Estoy casi seguro que la carpeta que se generó en tu escritorio se llama “libpng-1.6.21”, si no es así checa el nombre y cambialo en el comando anterior. Después sigue las instrucciones del archivo README.txt o INSTALL.txt contenido en la misma carpeta, de no existir o no contener instrucciones de instalación, esto es lo que hay que ejecutar en la terminal:

      sudo ./configure
      sudo make
      sudo make install

  9.   leoramirez59 dijo

    Lindo artículo, guardado en mis Marcadores y por supuesto lo imprimí en formato PDF para tenerlo a la mano Offline.

  10.   Courage 2 dijo

    Hay un error,los ficheros .bat no son binarios de windows

  11.   Fabian Osorio Peña dijo

    Te amo jajajaja Gracias Isaac P. E., es primera vez que instalo algo que no este en los repositorios de la distro que ocupo (debian), fue muy facil la verdad, claro nada se compara con la facilidad que te ofrece windows pero precisamente por eso me gusta linux: es un mundo por aprender y soy muy novato pero me apasiona tambien los pc, sistemas operativos todo lo relacionado con computadores y celulares. Gracias¡¡

    1.    Guille dijo

      ¿Te parece complicado ir al menú del sistema y abrir el gestor de paquetes gráfico (Synaptic, gestor de software, Yast o el que toque) y con un doble clic de ratón instalar el programa (aplicación, juego, servidor de internet, …) que quieras?
      Todo desde un respositorio gratuito, libre de virus, y todo queda perfectamente configurado y listo para ejecutar desde el menú del sistema, que por cierto esta ordenado por tipos de programa (Internet, Oficina, Juegos, …).
      Mientras en Windows tienes que buscar el instalador del programa por no sé dónde, muchos van a webs cualesquiera (incluso torrent y compañía) y descargan instaladores infectados por virus, …
      Creo que en 10 ó 15 días, con alguien cerca a quien preguntar dudas no hay color entre uno y otro.
      Otra cosa es que necesites un determinado programa, sin versión para linux o que no venga en el repositorio de software, pero en ese caso pues sí, puede ser un problema, es cuestión de saber las alternativas típicas y aprender a usarlas: MS Office -> LibreOffice, Photoshop -> Gimp, … el 90% de los usuarios de PC no tendrán problema alguno con linux, ese gran desconocido (no tiene dinero para comprar publicidad en las webs de los vendedores de portátiles ni para que los políticos no persigan las ilegalidades de Microsoft: imposición de Windows junto a los ordenadores es ilegal en España, Francia, Italia, … por la directiva 2005/29/CE que por ejemplo en España está en la Ley 29/2009 de 30 de diciembre: prácticas abusivas y agresivas) con sentencia condenatoria ya en Italia por su máximo tribunal: Corte di Cazassione sentencia n.19161 del 11/09/2014

  12.   Xavi dijo

    Interesante artículo. Había alguno que no conocía, como emerge. Para mi yum y apt-get son los mejores gestores de paquetes, seguido supongo que pacman.

    Y alien es muy útil, también convierte de rpm a deb y otros formatos.

Escribe un comentario