Capítulo 4. La interfaz

Tabla de contenidos

4.1. Arranque
4.2. El informe de estado
4.3. La pantalla de estado
4.4. Dpkg

El método dselect de APT y apt-get comparten la misma interfaz. Es un sencillo programa que le informa de lo que va a hacer, para después llevarlo a cabo. [2] Después de mostrar el resumen de lo que va a pasar APT mostrará mensajes de estado informativos para ofrecer una estimación de cuánto queda por hacer.

APT realiza un número de acciones para preparar su estado interno antes de cualquier operación, a excepción de «update». También realiza algunas revisiones del estado del sistema. Puede llevar a cabo estas acciones en cualquier momento ejecutando apt-get check.

# apt-get check
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho

La primera acción que ejecuta es pasar todos los ficheros de paquete a la memoria. APT usa un esquema de almacenado con lo cual esta operación será más rápida la segunda vez que la ejecute. De no encontrar algún fichero de paquete, éstos se ignorarán y verá una advertencia al finalizar apt-get.

La última acción realiza un detallado análisis de las dependencias del sistema. Revisa cada dependencia de cada paquete instalado o sin desempaquetar analiza su validación. En caso de error aparecerá un informe, y apt-get se negará a ejecutarse.

# apt-get check
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho
Tal vez quiera ejecutar 'apt --fix-broken install' para corregirlo.
Los siguientes paquetes tienen dependencias incumplidas:
  9fonts: Depende: xlib6g pero no está instalado
  uucp: Depende: mailx pero no está instalado
  blast: Depende: xlib6g (>= 3.3-5) pero no está instalado
  adduser: Depende: perl-base pero no está instalado
  aumix: Depende: libgpmg1 pero no está instalado
  debiandoc-sgml: Depende: sgml-base pero no está instalado
  bash-builtins: Depende: bash (>= 2.01) pero 2.0-3 está instalado
  cthugha: Depende: svgalibg1 pero no está instalado
           Depende: xlib6g (>= 3.3-5) pero no está instalado
  libreadlineg2: Entra en conflicto:libreadline2 (<< 2.1-2.1)

En este ejemplo el sistema tiene varios problemas, incluyendo un serio problema con libreadlineg2. Una línea aparecerá por cada paquete con dependencias no satisfechas indicando el paquete con el problema y las dependencias no satisfechas. También incluye una explicación de porqué el paquete tiene un problema de dependencias.

Hay dos formas de que el sistema tenga un estado roto como éste. El primero es causado por la omisión de dpkg de ciertas relaciones delicadas entre paquetes al realizar una actualización. [3]. El segundo ocurre se la instalación de un paquete falla durante la operación. En esta situación puede que un paquete se haya desempaquetado sin que sus dependencias estuviesen instaladas previamente.

La segunda situación es mucho menos grave que la primera ya que APT define ciertos límites en el orden de instalación de los paquetes. En ambos casos, introducir la opción -f a apt-get causará que APT deduzca una posible solución al problema para después continuar. El método dselect de APT siempre ofrece la opción -f para permitir una fácil continuación cuando existen scripts fallidos del mantenedor.

Aún así, de usar la opción -f para corregir un sistema gravemente roto por el primer caso cabe que la acción falle inmediatamente o que la secuencia de instalación se interrumpa. En cualquier caso es necesario usar dpkg manualmente (puede que con opciones de forzado) para corregir la situación lo suficiente como para que APT pueda continuar.

Antes de proceder apt-get presentará un informe de lo que va a ocurrir. Generalmente el informe refleja el tipo de operación a realizar, pero hay ciertos elementos comunes. La lista refleja el estado final de las cosas en todos los casos, teniendo en cuenta la opción -f y cualquier otra actividad relevante a la orden ejecutada.

APT muestra una serie de mensajes de estado en el transcurso de descargar ficheros de paquete y archivo.

# apt-get update
Des:1 http://ftp.de.debian.org/debian-non-US/ stable/non-US/ Packages
Des:2 http://llug.sep.bnl.gov/debian/ testing/contrib Packages
Obj http://llug.sep.bnl.gov/debian/ testing/main Packages
Des:4 http://ftp.de.debian.org/debian-non-US/ unstable/binary-i386/ Packages
es:5 http://llug.sep.bnl.gov/debian/ testing/non-free Packages
11% [5 testing/non-free Esperando las cabeceras 0/32.1k 0%] 2203b/s 1m52s

Las líneas comenzando con Des aparecen cuando APT inicia la obtención de un fichero, mientras que la última línea indica el progreso de la descarga. El primer valor porcentual en la barra de progreso indica el porcentaje total de los ficheros ya descargados. Desafortunadamente, apt-get update desconoce el tamaño de los ficheros de paquete y por ello genera una estimación que puede ser inexacta.

La siguiente sección de la línea de estado se repite por cada instancia de descarga e indica la operación realizada, así como información útil relativa a lo que está pasando. Puede que esta sección sólo muestre Forking, lo cual significa que el sistema operativo está cargando el módulo de descargas. La primera palabra después de «[» es el número de obtención tal y como se muestra en la línea del histórico. La siguiente palabra es la forma corta del nombre del objeto en descarga. Al conectarse con los archivos, contendrá el nombre del paquete obtenido.

Una cadena informativa aparecerá entre comillas simples indicando el progreso de la fase de negociación de la descarga. Generalmente progresa de Conectando a Esperando fichero, finalizando con Descargando o Continuando. El último valor es el número de bytes descargados desde el sitio remoto. Una vez que la descarga arranque se representará como 102/10.2k indicando que ya se han obtenido 102 bytes y que se esperan 10.2 kilobytes. El tamaño total siempre aparece con la notación de la figura 4 para conservar espacio. A continuación aparece un medidor porcentual del fichero. El penúltimo elemento es la media instantánea de velocidad. Estos valores se actualizan cada 5 segundos y reflejan la tasa de descarga de datos de ese periodo. Por último puede ver el tiempo estimado para la transferencia. Esto se actualiza regularmente y refleja el tiempo restante para completar todo tal y como se ve en la tasa de transferencia visible.

La pantalla de estado se actualiza cada medio segundo para ofrecer una constante información del progreso de la descarga, mientras que las líneas «Des» se desplazan hacia atrás cuando se inicia la descarga de otro fichero. Ya que la pantalla de estado se actualiza constantemente carece de utilidad para su registro en un fichero. Puede usar la opción -q para omitir la pantalla de estado.

APT usa dpkg para instalar ficheros, y pasará a interactuar con dpkg al finalizar la descarga. dpkg también planteará un número de preguntas a medida que procesa los paquetes, los cuales también pueden formular preguntas. A cada pregunta generalmente le precede una descripción de la pregunta en sí. Éstas son demasiado variadas como para poder tratarlas aquí en su totalidad.



[2] El método dselect es en realidad un conjunto de scripts en torno a apt-get. En realidad, el método ofrece más funcionalidad que la presente en apt-get por si mismo.

[3] APT, de todas formas, considera todas las dependencias conocidas e intenta prevenir paquetes rotos