Artrus’s Weblog

Just another WordPress.com weblog

Como Instalar Programas en Linux (Básico 1)

Posted by artrus en marzo 18, 2009

D2585AF7-1624-43DD-8A33-F8E0E3A1CAB2.jpg

La mayoría de las distribuciones linux ya contienen la mayor parte de los programas que necesitamos para trabajar con nuestro ordenador.

Obviamente en cada distribución de linux las cosa cambia (aunque como veremos, el proceso en si, es el mismo), de hecho, las diferentes distribuciones de linux muchas veces ya traen herramientas para instalar programas:

apt-get Debian , Fedora, etc., otras distros basada en ellas (como Ubuntu, kubuntu, Xubuntu para Debian por ejemplo).

yum Fedora, otras distros basada en ella.

urpmi Mandriva Linux, otras distros basada en ella. Aunque en Mandriva se pueden instalar ademas de urpmi, tambien: apt, yum y smart.

O incluso distros, como Ubuntu (mediante Synaptic), cuentan con aplicaciones para instalar aplicaciones, en la cual lo único que debemos hacer es buscar la aplicación que deseamos e instalarla (De una manera muy fácil y mucho más sencilla que en Windows).

Pero, qué pasa si deseamos instalar alguna otra aplicación que no encontramos por ninguno de los métodos anteriores??¿?¿¿

o, qué pasa cuando synaptic instala una versión no actualizada de la aplicación o en un idioma diferente al que deseamos ??¿?¿¿

Es muy difícil ?¿?¿?

Hemos comenzado hace poco a utilizar linux y nos hemos dado cuenta de que nos sería muy práctico tener una aplicación que, nos ayude, a la hora de realizar un determinado trabajo. Vamos al todopoderoso Google y encontramos lo que buscamos.

Que puede pasarnos a continuación:

1.- Que nos encontremos con un paquete que es compatible con nuestra distribución (lo aclaro abajo).

2.- Que venga comprimida como tar.gz o .bzip2(.tar.bz2).

3.- Que el archivo descargado no se adapte a la distribución que disponemos.

FA726A7F-C85E-4BD6-8FEF-FDB0B2CEC818.jpg

Comienzo por aclarar conceptos, antes de meternos en harina.

Los programas, no dejan de ser unas líneas de código que ponemos en nuestros ordenadores para que hagan una función. Ese código puede estar desarrollado en diferentes lenguajes, como por ejemplo: c++, java, etc …
Por lo que antes de nada debemos asegurarnos que nuestra distribución de linux contenga las librerías necesarias para entender y manejar estos lenguajes de programación (pero tranquilos que no hace falta saber programación para instalar nada).

Cuando en Linux hablamos de instalar un programa, en general nos referimos a “instalar un paquete”, lo que implica que los programas vienen empaquetados en un archivo comprimido.

Así tenemos el comando “rpm” para instalar paquetes, el más extendido entre las distros, lo usan RedHat, Mandriva Linux, SuSE, etc., Las distros basadas en Debian tenían/tienen el “dpkg”, etc

O los .deb para debian y sus derivados (como Ubuntu, …).

Para instalar este tipo de programas sencillamente, con un doble click y siguiendo las instrucciones en pantalla, llegaríamos a instalar el programa.

Por lo que el primer punto de nuestros problemas estaría solucionado.

BA26ED1D-E5AE-47A1-97C7-AD142DC9033C.jpg

Si nos encontramos con el segundo problema, tendremos que complicarnos un poco más la vida, pero tampoco mucho. Aunque prácticamente para todas las distribuciones la forma de hacerlo es muy parecida, no es igual. Como Ubuntu es la más extendida, explicaré como hacerlo para esta, aunque ya digo que para otras distribuciónes los pasos son casi los mismos.

Para empezar, Ubuntu no trae por defecto uno de estos, así que instalarlo es sencillo, ya que viene en repositorios:

$ sudo apt-get install build-essential

Esto instala los paquetes necesarios para poder compilar, que son los siguientes:

g++
g++-3.3
gcc
gcc-3.3
libstdc++5-3.3-dev
Así que si alguna vez os a pasado, ya sabéis por qué y su solución..

Vale, esto ha quedado claro, una vez tenemos el compilador, ¿qué hacemos? Imaginemos que queremos instalar un archivo .tar.gz, que son los más comunes a la hora de compilar, el proceso es sencillo, lo primero será descomprimir el archivo:

$ tar -xzvf nombre_archivo.tar.gz

Después, te descomprimirá una carpeta, solo tenemos que ir hasta ella:

$ cd directorio_carpeta

Una vez en la misma, configuramos:

$ ./configure

En el próximo comando esta la complicación, donde hay que compilar, si te da errores, fíjate bien qué paquete falta. Le echas un vistazo a Synaptic y lo instalas. Si aún así te sigue dando el mismo error, tienes que instalar el mismo paquete pero que tiene “-dev” en su nombre, son las cabeceras de la biblioteca y el desarrollo.. El comando del que hablo es:

$ make

Una vez compilado, solo queda instalar:

$ sudo make install

Y así el segundo punto de nuestros problemas, también se habría solucionado.

685B8C29-6114-497B-BCFA-2650B9B74DEB.jpg

Por último que pasaría, si encontramos alguna aplicación que queremos instalar pero no está disponible para la distribución que estamos usando.

Se puede hacer algo ??¿?¿¿

Por suerte existe alien.

Este es un script realizado en perl que nos permite convertir entre diferentes formatos binarios para linux, pudiendo pasar entre sí cualquiera de estos 4 tipos: deb, rpm, slackware tgz y stampede slp.

Para transformar los paquetes debemos por tanto instalar Alien.

En tu Ubuntu (como ejemplo de distribució) ejecuta en el terminal:
sudo apt-get install alien

Para transformar por ejemplo un paquete a .deb:
sudo alien -d nombre_paquete_no_deb

La sintaxis de este comando es:
alien [options] file […]

Donde:
file […] Paquete o archivo a convertir

y las opciones pueden ser
-d, –to-deb (opción por defecto) genera un paquete Debian .deb

Que a su vez puede permitir las siguientes opciones:
–patch= Especificamos el path del patch a usar en vez de buscarlo en /var/lib/alien.

–nopatch Sin usar parches.

–single como la opcion –generate, pero sin crear el directorio .orig.

-r, –to-rpm genera un paquete RedHat .rpm

–to-slp genera un paquete Stampede .slp

-t, –to-tgz genera un paquete Slackware .tgz

Que a su vez permite las siguiente opción:

–description= especificar descripcion del paquete.

-i, –install instalar un paquete generado.

-g, –generate desempaquetal, pero sin generar un nuevo paquete.

-c, –scripts incluye scripts en el paquete.

-k, –keep-version no cambia la versión del paquete generado.

-h, –help muestra este mensaje de ayuda.

-v, –version muestra el numero de versión de Alien.

De todas formas este sistema no deja de ser un parche (en el sentido literario), que a veces funciona bien y otras veces, pues no.

Espero que este post os sirva de ayuda o al menos de orientación.

Para más información:

Manual: Todo lo que siempre quisiste saber sobre urpmi pero nunca te atreviste a preguntar

¿Que es un repositorio?

Como instalar un archivo .tar.gz y compilar.

Alien: Convertir formatos de paquetes de software linux entre .rpm, .deb, .slp y .tgz

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

 
A %d blogueros les gusta esto: