domingo, 7 de marzo de 2010

Cómo instalar software (programas) en (ubuntu) GNU/Linux. II. Instalador ejecutable

###################################
Notas de revisiones:
Revisión 0: 20 marzo 2010. Publicado.
Revisión 1: 9 abril 2010. Añadido enlace a guía ubuntu
###################################

Si no has leido la introducción, ahora es el momento.

CONTENIDOS
""""""""""""

1. Instalar software desde repositorios

El "gestor de paquetes"
Conoce tus repos
Dependencias
Metapaquetes
Añadiendo repositorios
Clavar y forzar versiones

2. Instalar "paquetes sueltos"

______________________________________________________________


Hay guías, documentación oficial de las diferentes distribuciones, blogs... que podréis encontrar fácilmente usando vuestro buscador favorito.

Recomiendo esta magnífica guía

Otro buen tutorial con pantallazos incluidos para instalar software en ubuntu es el del colega José GDF.

Aquí intento ir un poco más allá de las herramientas de instalación pues lo diferente y lo sorprendente está a un nivel más fundamental.

1. Instalar software desde repositorios

El "gestor de paquetes"

Si comparamos el software con un producto que unos fabrican y otros utilizan, las distribuciones serían intermediarios que se ocupan del empaquetado y la logística. Sus almacenes de "paquetes de software" son los denominados "repositorios" y el usuario final tiene acceso directo a los mismos a través de un "gestor de paquetes". Estos "paquetes" tienen la extensión .deb en Debian [2] y en todas las distribuciones basadas en debian como ubuntu, Linux Mint y otras. En Fedora y Suse, tienen la extensión .rpm.

En el entorno gráfico de escritorio gnome (el que usa ubuntu por defecto), el gestor de paquetes gráfico se encuentra en el menú principal, Sistema -> Administración -> Gestor de paquetes Synaptic.

La introducción rápida explica en pocas palabras: "El software en su sistema se organiza en lo que se denominan paquetes...".

Instalar software a través de synaptic es coser y cantar. Buscar la aplicación, marcar para instalar y aplicar. Con esto, enviamos una petición al repositorio para que nos sirva el paquete o paquetes requeridos, y de la misma tirada, lo instalamos en el sistema. El "centro de software" es aún más sencillo pues facilita aún más la búsqueda de programas y oculta al usuario los "paquetitos" de bibliotecas y en general los "subprogramas" cuyos nombres no dicen gran cosa al usuario final.

Existen otras herramientas como aptitude o apt-get, que podemos usar desde la terminal. De hecho, instalar software desde la terminal tiene un ventaja; es más rápido, pero una desventaja; no es intuitivo ni familiar para los principiantes. Por lo demás, usemos el método que usemos conseguiremos instalar el programa deseado igual de bien.

Conoce tus repos

No, lo que marca la diferencia no es el gestor de paquetes que usemos. Lo que es de VITAL IMPORTANCIA son los repositorios habilitados. Si uno compra una pieza para un coche mercedes en un almacén donde sólo sirven para seat, igual la instala y le funciona pero si no sabe bien lo que hace es posible que no funcione. O que queriendo arreglar un problema origine otro peor por culpa de esa pieza que compró en el almacén equivocado.

Pero ojo, es fácil fastidiarla sin querer pues los almacenes son del todo "self-service" y no hay nadie que te diga, "¿Tu no tenías un Mercedes? ¿Estás seguro de que quieres una pieza de Seat?"

Simplemente, hay que saber dónde comprar. Pero veréis que es muy fácil, y os aseguro que comprendido esto y siguiendo unas "buenas prácticas" el riesgo de romper el sistema es muy bajo. Al contrario, si esto no se comprende y nos gusta mucho "enredar", probar las últimas versiones o conseguir nuevos programas por ahí... y pensamos que mientras sea un .deb no hay problema... el desastre y los "infiernos de dependencias" están asegurados.

Los repositorios están declarados en uno o más archivos del sistema [3]. Podemos editar estos archivos manualmente o bien podemos acceder a ellos desde Sistema -> Administración -> Orígenes del Software [4]. Veamos:



En esta imagen aparecen los repositorios "oficiales" de ubuntu. Main, Universe, Multiverse, y Restricted. Si no hemos tocado nada, tendremos estos repos activados, donde hay miles de paquetes, muchos de los cuales son programas y otros muchos (la mayoría) utilidades, bibliotecas, extensiones de programas, metapaquetes...



Aquí podemos habilitar los repositorios de actualizaciones y la configuración de las mismas. Mi consejo es mantener lo que viene por defecto, "karmic-secutiry" y "karmic-updates". De aquí vendrán las actualizaciones.

El gestor de actualizaciones es una herramienta más. Conseguimos exactamente lo mismo si vamos a Synaptic, recargamos, marcamos todas las actualizaciones y aplicamos, o también si hacemos desde la terminal:

sudo apt-get update (para actualizar las listas de repositorios, lo mismo que "recargar")
sudo apt-get upgrade (para actualizar las versiones de los paquetes instalados)

Dependencias

Muchas veces, cuando instalamos un paquete se marcan también otros para instalar, sin que, al menos de forma sencilla, podamos hacer nada para evitarlo. Son las llamadas "dependencias".


Metapaquetes


Un metapaquete no instala ningún "archivo de programa" (ejecutables o bibliotecas), simplemente marca paquetes para instalar como sus "dependencias". Por ejemplo, Ubuntu tiene un megapaquete llamado "ubuntustudio-audio-plugins" que marca como dependencias un montón de plugins de audio.

Esto nos instala decenas de programas con dos clicks de ratón (marcar para instalar, aplicar) o con una línea de terminal (sudo apt-get install ubuntustudio-audio-plugins).

Añadiendo repositorios

Puede que nos venga bien un paquete que no está en los repos oficiales. Las aplicaciones están en un proceso de desarrollo continuo. Especialmente en lo que ocupa a este blog, las distribuciones no están tan al día como algunos usuarios que prueban nuevas aplicaciones bajándose "las fuentes", es decir, el código del programa, que facilitan los propios programadores. Esto es sólo posible en un modelo de desarrollo público, de código abierto y que permite la libre distribución. Cualquier usuario que sepa cómo hacerlo puede "empaquetar" software y colocarlo en repositorio personal, por ejemplo en un PPA.

Podéis ver la entrada "PPA's, tesoros de ubuntu" donde se dan un par de PPA's para ubuntu karmic que pueden ser útiles. Allí se explica cómo añadir un PPA a la lista de repositorios. Aparecerá en la pestaña "otro software" de los "Orígenes del software". Hay otros repos que no son necesariamente PPA's, uno de los más populares, el de medibuntu, el cual aloja googleearth, bibliotecas necesarias para ver DVD's, códecs privativos, etc.

Lo más importante a la hora de añadir repositorios externos es que sean compatibles con la versión de nuestra distribución.

En general, si queréis evitar problemas, no tengáis normalmente habilitados repos no oficiales. Cuando añadáis uno porque sabéis que contiene paquetes interesantes, una vez instalados, deshabilitarlo. Es más fácil que se equivoque alguien que mantiene un repositorio personal, a que lo haga el equipo de mantenedores de ubuntu. Estos son mis repos "no oficiales" actualmente en ubuntu karmic, sólo tengo permanentemente habilitado el de medibuntu, que nunca me ha dado ningún problema.




Bloquear y forzar versiones

Aunque es recomendable estar al día con las actualizaciones, en algunos casos nos puede convenir que un paquete no se actualice nunca. Una forma de hacerlo es desmarcarlo cuando nos salte el gestor de actualizaciones, pero hay otra mejor, "clavar" el paquete o bloquear versión. Está en Synaptic, menú Paquete.

Ahora, imaginemos que hemos añadido un PPA y hemos actualizado un paquete que en este repo está con una versión más reciente que en el oficial. Por lo que sea, para nuestro disgusto, nos funciona peor. Podemos volver atrás, "forzando versión" (menú Paquete) pues tenemos dos versiones diferentes del mismo paquete en dos repos diferentes.




2. Instalar "paquetes sueltos" desde internet


En algunos sitios ofrecen paquetes deb. Nos debemos asegurar que el sitio es de confianza y que es compatible con nuestra versión de ubuntu, es decir, que sus dependencias, si existen, están en los repos oficiales de nuestra versión de ubuntu. Una vez descargado, lo podemos instalar muy fácilmente con GDebi (botón derecho sobre el paquete). Desde terminal, lo podemos hacer con:

sudo dpkg -i paquete.deb


[2] Una de las principales distribuciones GNU/Linux.

[3] El archivo /etc/apt/sources.list y otras listas que puedan existir dentro del directorio /etc/apt/sources.list.d/

[4] También desde el propio Synaptic, Configuración -> Repositorios

No hay comentarios:

Publicar un comentario