jueves, septiembre 28, 2006

APT Advanced Packaging Tool

debianDesarrollada por debian para la gestión de paquetes .deb y más tarde modificada para .rpm, utilizada también por MacOSX (fink), las herramientas APT (apt-get, aptitude, synaptic), simplifican mucho las tareas de instalación de aplicaciones en GNU/Linux. Vamos a ver como funciona esta herramienta en en un sistema ubuntu, recordamos que este sistema está basado en debian.

El funcionamiento se basa en una lista de repositorios, /etc/sources.list, en este archivo se encuentran las direcciones de los repositorios donde apt buscará los paquetes. El archivo sources.list contiene información estructurada de la siguiente forma:

deb url [versión] [compatibilidad] [caracteristicas] ..

Donde "deb" indica que los paquetes que aquí se encuentran son .deb (debian), en el campo url tendremos la ubicación del repositorio de paquetes (http, ftp), los siguientes campos indican las características de los repositorios, por ejemplo:

deb ftp://ftp.um.es/mirror/ubuntu hoary-updates main restricted

aquí tenemos los repositorios de actualizaciones para software soportado oficialmente por ubuntu (versión hoary) pero cuyas licencias son restrictivas con respecto a la licencia de ubuntu.

Hay varios grupos de paquetes en ubuntu:

Main - Paquetes soportados completamente, licencia compatible
Restricted - Paquetes soportados con limitaciones, cuya licencia no es totalmente compatible
Universe - Paquetes sin soporte por parte de ubuntu, ya tengan una licencia compatible o no
Multiverse - Paquetes no libres

Funcionamiento: Tenemos varias herramientas que utilizan la función apt, vamos a ver el proceso básico para instalar algo con apt-get, también podríamos hacerlo con aptitude, o desde un entorno gráfico con synaptic.
Supongamos que queremos instalar mplayer, desde el terminal lo haríamos del siguiente modo (como usuario root):

$ apt-get install mplayer

con esto apt-get buscará el paquete en los repositorios indicados en sources.list, descargará las dependencias necesarias y el paquete gimp, y lo instalará en el equipo.
Otras funciones de apt-get:

$ apt-get update (actualiza la lista de repositorios en sources.list)
$ apt-get upgrade (busca e instala actualizaciones de los paquetes instalados en el sistema)
$ apt-get dist-upgrade (actualiza la distribución completa)

Para más información sobre todas las posibilidades de apt-get:

$ man apt-get

Ahora vamos a suponer que acabamos de instalar ubuntu, y queremos instalar no uno, sino varios paquetes, vamos a ver como lo haríamos desde synaptic, lo primero que haremos es incluir todos los repositorios que queramos en el archivo sources.list. Despues abrimos el gestor de paquetes synaptic y buscamos lo que queremos instalar, por ejemplo nvu...

Buscamos nvu:


debian

Marcamos para instalar:


debian

Y repetimos este proceso para todos los paquetes que vayamos a instalar...
Una vez marcados, aplicamos cambios e voilá.. synaptic descargará todos los paquetes, todas las dependencias necesarias, y lo instalará todo por nosotros.
__________

Sin duda apt realiza un función muy importante de automatización de las tareas de instalación.

Y ahora yo me pregunto: En un sistema como windows que se ha caracterizado siempre por su "sencillez de uso", ¿como es que no se ha desarrollado todavía una herramienta parecida a esta? Una cosa es evidente, la mayoría de compañías de software no liberan sus productos, lo que hacen es vender sus programas, así que como mucho lo que se puede descargar son las demos...
Pero a día de hoy existen una gran cantidad de aplicaciones libres alternativas, en la mayoría de los casos totalmente funcionales, que sí son libres... ¿que tal sería un "win-apt" con repositorios de software libre? ..

Supongo que Micro$ nunca incluiría una aplicación así en su SO... :P


 
Creative Commons License