miércoles, 9 de enero de 2013

Gestores de Paquetes: APT

Con este post comenzaré una serie sobre los Gestores de Paquetes de GNU/Linux. La intención de la misma es mostrar el uso y mejores prácticas de los mismos a fin de tener una mejor experiencia al momento de manejarlos.
 
Este primer post está dedicado Advanced Packaging Tool o simplemente APT como le conocemos la mayoría, así que entremos en materia inmediatamente.
 
Con APT lo primero que nos llega a la mente es Debian, Ubuntu y otras distros derivadas. Y es que el fundamento principal de la administración de paquetes en Debian lo es el formato de paquetes .deb, el cual contiene información acerca de dónde debe ser instalado el paquete y cuáles otros son necesarios para su funcionamiento (dependencias). Pero esto es solo el comienzo, ya que esto no se queda en los paquetes en sí mismos, dado que APT es un conjunto de herramientas que trabajan con dpkg, el instalador de los paquetes, para mantener nuestro sistema actualizado.
 
Los repositorios APT

Los repositorios nos brindan facilidad para poder actualizar nuestro sistema. Estos no son más que directorios que contienen los archivos Packages.gz, que es una lista de todos los paquetes binarios instalables en el repositorio. De hecho podemos crear nuestro propio repositorio de paquetes que hemos creados nosotros mismos, haciendo uso del comando dpkg-scanpackages. Y el archivo Sources.gz, que es una lista de los archivos fuentes instalables y construibles en formato .deb. El comando dpkg-scansources puede generar este archivo.

Ya que muchos paquetes pueden existir en un repositorio indexados en un Packages.gz o el Sources.gz, como usuarios solo necesitamos configurar el fichero /etc/apt/sources.list para leer dichos índices y construir una lista de los paquetes disponibles en todos los repositorios. Para trabajar con el fichero  sources.list debemos tener en cuenta el siguiente formato.

[tipo de paquete] [ubicación del paquete] [nombre de la distribución] [nombre del componente] 
 
En donde:
  • tipo de paquete: Es decir, “deb” para los paquetes binarios y o “deb-src” para los paquetes fuentes, ambos ubicados en el repositorio. 
  • ubicación del paquete: Es la URI donde está ubicado el repositorio.
  • nombre de la distribucón: Es el nombre clave de la distribución. Si es Ubuntu sería “quantal”, si es  Linux Mint sería “nadia”
  • nombre del componente: Esto también depdende de la distribución, pero casi todas separan sus paquetes en componentes. Para Ubuntu son “main” (software libre y con soporte), “restricted” (software no libre con soporte), universe (libre pero no soportado), y “multiverse” (no libre y no soportado). Existen otros como “partner” en Ubuntu para software desarrollado por socios de  Canonical. Además más de un componente puede ser listado en una sola línea del fichero sources.list.
Una vez que una línea o varias como estas son añadidas al fichero sources.list, la actualización de la lista de paquetes tomará los siguientes pasos:
  1. Ir a cada una de las ubicaciones en sources.list
  2. Porfundizar en la distribución por esas ubicaciones
  3. Ir a cada uno de los componentes especificados
  4. Descargar cada Packages.gz o Sources.gz
 
Herramientas APT 
 
Generalmente para actualizar la base de datos de APT, se hace de la siguiente manera:

# apt-get update

El programa apt-get es parte de las herramientas APT para realizar aciones sobre paquetes. Los comandos más utilizados de estas herramientas son los siguientes:
  • apt-get upgrade: Instala la versión más reciente de cualquier paquete para el cual haya una nueva versión en el índice. Opcionalmente le podemos pasar la opción -y para que asuma el sí.
  • apt-get install [paquete]: Descarga e instala el o los paquetes especificados separados por espacio. De paso también resuelve e instala las dependencias del o de los mismos. Opcionalmente le podemos pasar la opción -y para que asuma el sí.
  • apt-get remove [paquete]: Este desinstala el o los paquetes especificados. No elimina archivos de configuración que hayan creado, para eliminarlos usaremos apt-get purge [paquete]. Opcionalmente le podemos pasar la opción -y para que asuma el sí.
  • apt-cache search [término]: Nos lista los paquetes cuyos nombres o descripciones coinciden con el patrón término.
  • apt-cache show [paquete]: Muestra información específica sobre el paquete.

Más recursos:
man dpkg
man apt-get





Artículos relacionados



Widget by Hoctro | Jack Book

0 comments:

Publicar un comentario en la entrada