Logo de Linux Debian

Trabajando con APT: Obtener Información de los paquetes en Debian

publicado en: Debian, Linux, Sist. Operativos, Software, Ubuntu | 0
 
 

Índice General

  1. Introducción
  2. Cómo descubrir nombres de paquetes
  3. Utilizar dpkg para conocer los nombres de paquetes
  4. Instalar programas en demanda
  5. Descubrir a que paquete pertenece un archivo
  6. Mantenerse informado de los cambios en los paquetes/a>

Enlaces externos
 

  1. Introducción (Volver al índice General)
    En este artículo aprenderemos a obtener información de los paquetes instalados y no instalados en sistemas que utilizan paquetes .deb (Debian y distribuciones basadas en Debian como Ubuntu), y sus dependencias con otros paquetes.

    Aprenderemos a obtener información de los paquetes a partir de información parcial del mismo, como el nombre de un archivo, parte del nombre del programa, descripción, etc.

    También, y muy interesante, aprenderemos a instalar programas en demanda, es decir, programas de los que dependen otros que estemos compilando.

    De todo esto y más, hablamos a continuación.

  2.  

  3. Cómo descubrir nombres de paquetes (Volver al índice General)
    • Encontrar paquetes relacionados con lo que estamos buscando
      En este ejemplo buscaremos información sobre el editor de texto plano para KDE kate:

      $ sudo apt-cache search kate
    • Obtener información más detallada sobre un paquete
      Para obtener información más detallada sobre un paquete, por ejemplo libkate-tools ejecutamos lo siguiente:

      $ sudo apt-cache show libkate-tools

      Si el paquete estuviera instalado y existiese una actualización para el mismo, el comando anterior presentaría los datos de la versión instalada y los de la actualización. Primero presenta los datos de la actualización y después los de la versión instalada.

    • Obtener mayor información sobre un paquete
      $ sudo apt-cache showpkg john
    • Conocer las dependencias de los paquetes
      # apt-cache depends john
  4.  

  5. Utilizar dpkg para conocer los nombres de paquetes (Volver al índice General)

    • Conocer el nombre de un paquete por el nombre de un archivo contenido en el paquete
      Si conocemos el nombre de algún archivo que contiene el paquete, podemos obtener el nombre del paquete o paquetes que lo contienen:

      $ sudo dpkg -S stdio.h
    • Conocer el nombre de un paquete instalados en sus sistema por el nombre del programa
      Simplemente introducimos el nombre del programa o parte de él:

      $ sudo dpkg -l |grep konqueror
    • Conocer el nombre de un paquete instalados en el sistema por la descripción del paquete
      Podemos utilizar la descripción del paquete o parte de ella:

      $ sudo apt-cache search "advanced file manager"
  6.  

  7. Instalar programas en demanda (Volver al índice General)
    Cuando compilamos un programa y nos da error porque depende de cierto archivo que necesita, con el comando auto-apt podemos solventarlo. Este preguntará si debe instalar ciertos programas que son requeridos, deteniendo el proceso de compilación hasta que los paquetes necesarios hayan sido instalados y continuando con la compilación una vez instalados.

    El paquete auto-apt no se instala por defecto en Debian, habrá que instalarlo previamente. Para instalarlo, ejecutaremos el siguiente comando:

    $ sudo apt-get install auto-apt

    La sintaxis para realizar una instalación en demanda sería la siguiente:

    $ sudo auto-apt run comando

    Dónde comando es el comando que al ser ejecutado, necesita ciertos archivos, como por ejemplo:

    $ sudo auto-apt run ./configure
    • auto-apt le preguntará al comando si desea instalar los paquetes necesarios y llamará automáticamente a apt-get.
    • auto-apt mantiene las bases de datos que necesitan estar al día para lograr que esto funcione. Esto se realiza con los comandos auto-apt update, auto-apt updatedb y auto-apt update-local.
  8.  

  9. Descubrir a que paquete pertenece un archivo (Volver al índice General)
    Si queremos instalar un paquete, y no sabemos como se llama para buscarlo con apt-cache, pero sabemos el nombre de un archivo que pertenece al paquete, entonces podemos utilizar apt-file para encontrar el nombre del paquete que queremos instalar.

    Al igual que ocurre con auto-apt, el paquete apt-file no se instala por defecto en Debian, habrá que instalarlo previamente. Para instalarlo, ejecutaremos el siguiente comando:

    $ sudo apt-get install apt-file

    Tras la instalación lo primero que deberemos hacer será generar la cache ejecutando el siguiente comando:

    $ sudo apt-file update

    generará una salida similar a la siguiente:

    Downloading complete file http://ftp.de.debian.org/debian/dists/jessie/main/Contents-amd64.gz
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100 26.0M  100 26.0M    0     0   172k      0  0:02:34  0:02:34 --:--:--  184k
     
    [...]
     
    00 16143  100 16143    0     0  80607      0 --:--:-- --:--:-- --:--:-- 80715
    Downloading complete file http://ftp.de.debian.org/debian/dists/jessie-backports/non-free/Contents-amd64.gz
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100 64022  100 64022    0     0   103k      0 --:--:-- --:--:-- --:--:--  103k

    Una vez hechas estas operaciones ya podemos hacer la búsqueda ejecutando el siguiente comando:

    $ apt-file search nombrefichero

    Trabaja de manera similar a dpkg -S, con la salvedad de que muestra paquetes sin instalar que contengan ese archivo. También puede ser utilizado para saber que paquetes contienen los archivos necesarios para la compilación de ciertos programas, aunque auto-apt es una mejor solución para estos casos.

    apt-file también puede listar el contenido de un paquete ejecutando el siguiente comando:

    $ apt-file list packagename
  10.  

  11. Mantenerse informado de los cambios en los paquetes (Volver al índice General)
    Tras su instalación, cada paquete instala en su directorio de documentación /usr/share/doc/packagename un archivo llamado changelog.Debian.gz el cual, contiene una lista de cambios realizados al paquete desde la última versión. Podemos leer estos archivos, por ejemplo, con el comando zless, pero no es muy fácil estar buscando estos archivos después de la instalación de un sistema completo.

    Existe una forma de automatizar esta tarea por medio de la herramienta llamada apt-listchanges.

    El paquete apt-listchangesno se instala por defecto en Debian, habrá que instalarlo previamente. Para instalarlo, ejecutaremos el siguiente comando:

    $ sudo apt-get install apt-listchanges

    Durante la instalación del paquete, Debconf lo configurará, pero habrá que contestar a una serie de preguntas sobre la configuración deseada.

    • La opción «apt-listchanges deberá ser ejecutada automáticamente por APT»: mostrará los cambios realizados al paquete que está siendo instalado por APT durante una actualización, y permitirá analizarlos antes de continuar.
    • La opción «Debe apt-listchanges preguntar por autorización después de mostrar los cambios»: pregunta si deseamos continuar la instalación después de leer los cambios. Si decidimos no continuar con la instalación apt-listchanges presentará un error y APT abortará la instalación.

    Después de que apt-listchanges sea instalado, tan pronto como los paquetes sean descargados por APT, se mostrarán las listas de los cambios realizados a estos paquetes antes de instalarlos.

 
Enlaces externos (Volver al índice General)

 

Espero que este artículo os haya sido de utilidad. Si pensáis que podéis colaborar para mejorar este artículo, que hay algo erróneo en él o simplemente deseáis comentarlo, por favor, dejad vuestra opinión más abajo.
 
Seguir J. Carlos:

Técnico Informático - Desarrollo Web - Administración de Redes

Técnico Informático. Desarrollo Web. Administración de redes.

Últimas publicaciones de

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.