Capítulo 2. Uso de APT en ambas máquinas

Tabla de contenidos

2.1. Resumen
2.2. El fichero de configuración

La configuración más sencilla es posible si APT está instalado en ambas máquinas. La idea básica es guardar una copia del fichero de estado en el disco, después usar el sistema remoto para obtener los últimos ficheros de paquete y decidir qué paquetes descargar. La estructura de directorios del disco debería tener este aspecto:

  /disc/
    archives/
       partial/
    lists/
       partial/
    status
    sources.list
    apt.conf

El fichero de configuración debería indicar a APT que guarde los ficheros en el disco, y también utilizar los ficheros de configuración en el disco. El fichero «sources.list» debería contener los sitios apropiados que desea utilizar desde el sistema remoto, y el fichero de estado debería ser una copia de /var/lib/dpkg/status del sistema destino. Tenga en cuenta que si usa un archivo local debe usar el URI «copy», de idéntica sintaxis al URI «file».

apt-conf debe contener toda la información necesaria para que APT use el disco:

 APT
 {
   /* Esto no es necesario si ambos sistemas tienen la misma arquitectura,
      informa al APT remoto la arquitectura del sistema destino */
   Architecture "i386";

   Get::Download-Only "true";
 };

 Dir
 {
   /* Use el disco para información de estado y redireccionar el fichero de
    estado desde el valor predeterminado «/var/lib/dpkg» */
   State "/disc/";
   State::status "status";

   // Los cachés binarios se guardan localmente
   Cache::archives "/disc/archives/";
   Cache "/tmp/";

   // Ubicación del fichero de fuentes.
   Etc "/disc/";
 };

Para más detalles consulte la página de manual y el fichero de configuración de ejemplo en /usr/share/doc/apt/examples/apt.conf.

Lo primero que debe hacer en el sistema destino es montar el disco y guardar en él una copia de /var/lib/dpkg/status. También debe crear los directorios definidos en el Resumen, archives/partial/ y lists/partial/. Después, lleve el disco hasta el sistema remoto y configure «sources.list». Ejecute lo siguiente en el sistema remoto:

 # export APT_CONFIG="/disc/apt.conf"
 # apt-get update
 [ APT obtiene los ficheros de paquete ]
 # apt-get dist-upgrade
 [ APT obtiene todos los paquetes necesarios para actualizar el sistema
 destino ]

Puede reemplazar la orden «dist-upgrade» con cualquiera otra orden estándar de APT, en especial «dselect-upgrade». Incluso puede usar una interfaz de APT como dselect. Sin embargo, esto presenta un problema al informar después de sus selecciones al sistema remoto.

Ahora el disco contiene todos los ficheros de índice y archivo necesarios para actualizar el sistema destino. Inserte el disco otra vez y ejecute:

  # export APT_CONFIG="/disc/apt.conf"
  # apt-get check
  [ APT genera una copia local de los ficheros de caché ]
  # apt-get --no-d -o dir::state::status=/var/lib/dpkg/status dist-upgrade
  [ O cualquiera otra orden de APT ]

Para un correcto funcionamiento debe definir nuevamente el fichero de estado local. Tiene una importancia crucial.

Si está usando dselect puede realizar la arriesgada operación de copiar «disc/status» a «/var/lib/dpkg/status» para actualizar todas las selecciones hecha en el sistema remoto. Recomiendo seriamente hacer las selecciones sólo en el sistema local, aunque puede que no sea posible. NO copie el fichero de estado si dpkg o APT se han ejecutado mientras tanto.