Paquetes

De CURE - Informática
Ir a la navegación Ir a la búsqueda

Sistema de gestión de paquetes

Un sistema de gestión de paquetes, también conocido como gestor de paquetes,es un conjunto de herramientas que sirven para la instalación, actualización, configuración y eliminación de paquetes de software. El software se distribuye en formas de paquetes, encapsulado en un solo fichero. Estos paquetes ademas de tener el software, también pueden incluir la descripción de su funcionalidad, datos sobre la versión, información sobre quien lo distribuye, suma de verificación y también alguna lista de paquetes requeridos para poder hacerlo funcionar correctamente.

Principales Funciones de Sistemas de Gestión de Paquetes

Estos tienen la tarea de organizar todos los paquetes instalados en el sistema y se encargan de mantener su usabilidad, todo esto se hace combinando esto:

  • Comprueba suma de verificación para evitar que haya diferencias entre la versión local de un paquete y la versión oficial.
  • Comprobar legitimidad de software.
  • Instalación, actualización y eliminación simple de paquetes.
  • Resolución de dependencias para ciertos software, esto se verifica para que el software funcione correctamente.
  • Búsqueda de actualizaciones para proveer la ultima versión de un paquete.
  • Agrupamiento de los paquetes según la función que tenga, esto lo hace para evitar confusión al instalarlos o mantenerlos.

Paquetes

Un paquete de software es un archivo comprimido con una estructura determinada para ser usado por herramientas de gestión,los paquetes son el elemento básico para tratar las tareas de instalación, actualización del existente o eliminación del no utilizado. El uso de paquetes facilita añadir o quitar software al considerarlo una unidad y no tener que trabajar con los ficheros individuales.

Categoría de paquetes:

  • Base: paquetes indispensables para el funcionamiento del sistema (útiles, programas de inicio, bibliotecas de sistema).
  • Sistema: útiles de administración, comandos de utilidad.
  • Desarrollo (developement): útiles de programación: editores, compiladores, depuradores.
  • Gráficos: controladores e interfaces gráficas, escritorios, gestores de ventanas.
  • Otras categorías.

Gestión de paquetes:

  • Gráfica: aplicaciones Synaptic, Gestor de actualizaciones.
  • En terminal, modo curses: aptitude. Esta es la aplicación preferida para mantener paquetes en modo texto (en terminal). Usa la biblioteca "curses", que permite crear interfaces de usuario en texto, con recuadros, similares a las interfaces gráficas.
  • En terminal, para un paquete con resolución de dependencias: apt-get; admite muchas opciones, controla todo el sistema de paquetes.
  • En terminal, para instalar un paquete .deb: dpkg
  • Tasksel es una aplicación para instalar tareas; una tarea (task) es un conjunto de paquetes para un cierto tipo de trabajo o aplicación. OJO, examinar bien cómo funciona, puede instalar / desinstalar a su gusto.
  • Comando alien, del paquete alien: instala paquetes con otros formatos de empaquetamiento, e.g. rpm de RedHat. OJO, puede haber dependencias y no funcionar o romper algo; conviene usar sólo si es imprescindible, y para paquetes "stand-alone", que pueden funcionar por sí solos. Como siempre, "unless you know what you are doing".

Objetivos

  • Instalar, reinstalar y actualizar paquetes.
  • Buscar paquetes que contengan archivos o bibliotecas especificas, incluso si el paquete instalado no esta instalado.
  • Obtener información de los paquetes instalados(versión,contenido, dependencias,estado de instalación), incluso si el paquete no esta instalado.

Software

  • Synaptic: es una interfaz gráfica para apt. Synaptic se usa de forma parecida a como se usa apt-get. Normalmente se realiza una actualización de la lista de paquetes de los servidores del fichero sources.list.
  • Adept: Es un gestor de paquetes gráfico desarrollado para KDE, este también funciona bien en gnome, es muy fácil de usar y al igual que Synaptic, funciona en base a repositorios de donde extrae información sobre paquetes disponibles para instalar o actualizar.

Conceptos, comandos, archivos

Paquetes Debian (DEB)

Herramientas interactivas:

  • tasksel: permiten escoger unos subconjuntos de paquetes agrupados por tipo de tareas.
  • dselect: permite navegar por toda la lista de paquetes disponibles, y escoger aquellos que queramos instalar o desinstalar.

A nivel de línea de comando:

  • dpkg: comando de más bajo nivel, para gestionar directamente los paquetes DEB de software, típicamente dpkg -i paquete.deb para realizar la instalación. Pueden realizarse todo tipo de tareas, de información, instalación, borrado o cambios internos a los paquetes de software.

Para instalar un paquete .deb descargado a través de la línea de comandos: sudo dpkg -i nombrepaquete Para listar paquetes instalados: dpkg -l buscar de qué paquete proviene un elemento (fichero por ejemplo): dpkg -S fichero

A nivel intermedio:

  • apt: permite gestionar los paquetes a través de una lista de paquetes actuales y disponibles a partir de varias fuentes de software. La configuración del sistema APT se efectúa desde los archivos disponibles en /etc/apt, donde /etc/apt/sources.list es la lista de fuentes disponibles.
  • apt-get: permite instalar, actualizar o borrar desde el paquete individual, hasta actualizar la distribución entera. Existe también un front-end a apt-get, llamado aptitude, cuya interfaz de opciones es prácticamente igual; ; como ventaja aporta una mejor gestión de dependencias de los paquetes y permite una interfaz interactiva.

La herramienta apt-cache dispone de comandos que nos permiten buscar información sobre los paquetes, como por ejemplo:

  • Buscar paquetes sobre la base de un nombre incompleto: apt-cache search nombre
  • Mostrar la descripción del paquete: apt-cache show paquete
  • De qué paquetes depende: apt-cache depends paquete

Actualizar fuentes

Para la actualizactualizacionacion de las fuentes el comando que se usa es:

apt-get update

Instalar un Programa

Se puede instalar un paquete con el comando:

apt-get install [nombre del paquete]

Desinstalar un programa

Se puede desinstalar un paquete con el comando:

apt-get remove [nombre del paquete]

Borrar paquetes descargados

Para borrar totalmente el repositorio local que contiene los ficheros de los paquetes descargados se usa el comando:

apt-get clean

Borra todo excepto el fichero de bloqueo de los directorios /var/cache/apt/archives/ y /var/cache/apt/archives/partial/.

Actualización de la distribución

apt-get update --> Actualiza la base de datos de los programas disponibles.
apt-get upgrade --> Actualiza todo el sistema, con las nuevas versiones de los programas.
apt-get dist-upgrade --> Cambia de una versión a otra.


Otros comandos interesantes

  • apt-get source --> Descarga los paquetes fuente, este los guarda en el directorio /var/cache/apt/archives/.
  • apt-get -s install nombre_paquete --> Simula instalación.
  • apt-get purge [nombre de paquete] --> Borra paquetes instalados incluyendo los archivos de configuración.
  • apt-get -f install --> Acaba instalaciones anteriores.
  • apt-get --compile source nombre_paquete --> Se baja las fuentes del paquete, lo compila y crea un deb recompilado obtimizado para tu máquina.
  • apt-cache show nombre_paquete --> Información del programa.
  • apt-cache search [nombre de comando] --> Busca paquetes sobre la base de un nombre incompleto.

Procedimiento

Lo que haremos ahora es describir el típico flujo de información en el sistema de gestión de paquetes, desde que el usuario hace un requerimiento de instalación de software hasta que finalmente lo puede utilizar.

  1. Usuario solicita instalación de paquetes.
  2. El sistema de gestión de paquetes encuentra los paquetes necesarios.
  3. El sistema de gestión de paquetes descarga los paquetes necesarios desde el repositorio.
  4. El sistema de gestión de paquetes configura y hace recomendaciones.
  5. Usuario usa el software.

Repositorio

El software normalmente se pone a disposicion de los usuarios en los repositorios, con el fin de proporcionar a los usuarios de un sencillo control sobre los diferentes tipos de software que van a instalar en el sitema. El archivo que maneja los repositorios en linux es /etc/sources.list.

Verificación

Notas adicionales

Referencias

Adminitración Avanzada de GNU/Linux

http://doc.ubuntu-es.org/Formatos_de_paquetes#Paquetes_Deb