Differences between revisions 3 and 5 (spanning 2 versions)
Revision 3 as of 2006-02-03 18:15:21
Size: 7236
Editor: ?ManuelParrilla
Comment:
Revision 5 as of 2006-03-12 02:02:41
Size: 7293
Editor: ?GonzaloRivero
Comment: un pequeño cambio de formato para que muestre fuente de ancho fijo
Deletions are marked like this. Additions are marked like this.
Line 17: Line 17:
== 1.1 Vista general == == 1.1 Visión general ==
Line 24: Line 24:
== 2.1 Vista general == == 2.1 Visión general ==
Line 26: Line 26:
{{{
Line 33: Line 33:
Line 35: Line 34:
Line 37: Line 35:
}}}
Line 40: Line 38:
El archivo de configuración debe decirle a APT que almacene sus archivos en el disco y que use los archivos de configuración también. El archivo sources.list debe contener los sitios apropiados de donde quiere bajar de la máquina remota, y el archivo de status debe ser una copia de /var/lib/dpkg/status. Por favor note, si está usando un archivo local, debe usar "copy URIs", la sintaxis es idéntica a los "file URIs". apt.conf debe contener la información necesaria para que APT use el disco: El archivo de configuración debe decirle a APT que almacene sus archivos en el disco y que use los archivos de configuración también. El archivo sources.list debe contener los sitios apropiados de donde quiere bajar de la máquina remota, y el archivo de status debe ser una copia de {{{/var/lib/dpkg/status}}}. Por favor note, si está usando un archivo local, debe usar "copy URIs", la sintaxis es idéntica a los "file URIs". apt.conf debe contener la información necesaria para que APT use el disco:
{{{
Line 46: Line 44:
Line 48: Line 45:
 
Get::Download-Only "true";
    Get::Download-Only "true";
Line 53: Line 49:
Line 56: Line 51:
Line 58: Line 52:
Line 64: Line 57:
Line 66: Line 58:
Line 69: Line 60:
Line 72: Line 62:
}}}
Line 75: Line 65:
En la máquina Debian remota lo primero que hay que hacer es montar el disco y copiar /var/lib/dpkg/status a él. También necesitará crear los directorios listados en Vista general: archives/partial/ y lists/partial/ . Entonces se puede llevar el disco a la máquina remota y configurar el sources.lists. En la máquina remota, ejecutar lo siguiente: En la máquina Debian remota lo primero que hay que hacer es montar el disco y copiar {{{/var/lib/dpkg/status}}} a él. También necesitará crear los directorios listados en Vista general: archives/partial/ y lists/partial/ . Entonces se puede llevar el disco a la máquina remota y configurar el sources.lists. En la máquina remota, ejecutar lo siguiente:
{{{
Line 78: Line 68:
Line 80: Line 69:
Line 84: Line 72:
Line 86: Line 73:
}}}
Line 89: Line 76:
{{{
Line 91: Line 78:
Line 93: Line 79:
Line 97: Line 82:
Line 99: Line 83:
}}}
Line 104: Line 88:
== 3.1 Vista general == == 3.1 Visión general ==
Line 111: Line 95:
{{{
Line 116: Line 100:
# awk '{print "wget -O " $2 " " $1}' < uris> /disc/wget-script
}}}
Line 117: Line 103:
# awk '{print "wget -O " $2 " " $1}' < uris> /disc/wget-script Se puede usar cualquier otro comando además de {{{dist-upgrade}}} aquí, incluyendo {{{dselect-upgrade}}}.
Line 119: Line 105:
El archivo {{{/disc/wget-script}}} ahora contiene una lista de comandos wget que se ejecutan para descargar los archivos necesarios. Este script debe ser ejecutado en el directorio actual del punto de montaje del disco para almacenar la salida en el disco.
En la máquina remota hacer algo como:
{{{
# cd /disc
# sh -x ./wget-script
''esperar . . .''
}}}
Line 120: Line 113:
Se puede usar cualquier otro comando además de dist-upgrade aquí, incluyendo dselect-upgrade.

El archivo /disc/wget-script ahora contiene una lista de comandos wget que se ejecutan para descargar los archivos necesarios. Este script debe ser ejecutado en el directorio actual del punto de montaje del disco para almacenar la salida en el disco.
En la máquina remota hacer algo como:

# cd /disc

# sh -x ./wget-script

''esperar . . .''


Cuando los archivos son descargados y el disco vuelve a la máquina: La idea básica es crear un disco que sólo tenga los archivos bajados de un sitio remoto. Esto es hecho usando la opción --print-uris y apt-get para preparar un script para que wget baje los paquetes.
Cuando los archivos son descargados y el disco vuelve a la máquina: La idea básica es crear un disco que sólo tenga los archivos bajados de un sitio remoto. Esto es hecho usando la opción {{{--print-uris }}} y {{{apt-get}}} para preparar un script para que wget baje los paquetes.
Line 136: Line 117:
{{{
Line 137: Line 119:
}}}

Usando Apt en modo Offline

Jason Gunthorpe <jgg@debian.org> "Traducido" Gonzalo Rivero <sfish@spymac.com>

Abstract

Este documento describe cómo usar APT en un ambiente no-red, específicamente una aproximación a "red-silenciosa" para ejecutar actualizaciones.

Copyright Copyright (C) Jason Gunthorpe, 1999. "APT" and this document are free software; you can redistribute them and/or modify them under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. For more details, on Debian GNU/Linux systems, see the file /usr/doc/copyright/GPL for the full license.

1. Introducción

1.1 Visión general

Normalmente APT requiere acceso directo a un archivo Debian, de un medio local o a través de la red. Otra demanda común es una máquina Debian en un enlace lento, como un módem y otra máquina con una conexión rápida, pero físicamente distantes. La solución a esto es usar un medio extraíble grande como un disco Zip o un ?SuperDisc. Estos discos no son lo suficientemente grandes para almacenar el archivo Debian completo, pero pueden guardar un subconjunto lo suficiemente largo para la mayoría de los usuarios. La idea es usar APT para generar una lista de los paquetes requeridos y descargarlos en el disco usando otra máquina con buena conectividad. Es aún posible usar otra máquina Debian con APT o usar un SO completamente diferente y una herramienta de descargas como wget.

Esto es realizado manipulando creativamente el archivo de configuración de APT. La premisa esencial es decirle a APT que mire en un disco para su 'archivo de archivos'. Note que el disco debe estar formateado con un sistema de archivos que pueda manejar nombres largos, como ext2, fat32 o vfat.

2. Usando APT en ambas máquinas

2.1 Visión general

Con APT disponible en ambas máquinas se tiene la configuración más simple. La idea básica es poner una copia del archivo de status en el disco y usar la máquina remota para obtener los últimos archivos de paquetes y decidir qué paquetes bajar. La estructura de directorios del disco debe verse como:

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

2.2 El archivo de configuración

El archivo de configuración debe decirle a APT que almacene sus archivos en el disco y que use los archivos de configuración también. El archivo sources.list debe contener los sitios apropiados de donde quiere bajar de la máquina remota, y el archivo de status debe ser una copia de /var/lib/dpkg/status. Por favor note, si está usando un archivo local, debe usar "copy URIs", la sintaxis es idéntica a los "file URIs". apt.conf debe contener la información necesaria para que APT use el disco:

 APT
 {
   /* Indica a APT qué arquitectura tiene la máquina Debian, no es
   necesario si tienen la misma arquitectura */
   Architecture "i386";
    Get::Download-Only "true";
 };

 Dir {
   /*usar el disco para información de estado y redirigir el archivo de
   status desde /var/lib/dpkg */
   State "/disc";
   Status::status "status; 


   //Caché binario es almacenado localmente
   Cache::archives "/disc/archives";
   Cache "/tmp/";
 
   //Localización de la lista de fuentes.
   Etc "/disc/";
 }

Se pueden encontrar más detalles viendo y examinando la página de manual de apt.conf y el archivo de configuración de ejemplo en /usr/doc/apt/examples/apt.conf .

En la máquina Debian remota lo primero que hay que hacer es montar el disco y copiar /var/lib/dpkg/status a él. También necesitará crear los directorios listados en Vista general: archives/partial/ y lists/partial/ . Entonces se puede llevar el disco a la máquina remota y configurar el sources.lists. En la máquina remota, ejecutar lo siguiente:

root@cccp# export APT_CONFIG="/disc/apt.conf"
root@cccp# apt-get update
''APT trae los archivos de paquetes''

root@cccp# apt-get dist-upgrade
''APT trae todos los paquetes necesarios para actualizar la computadora''

El comando dist-upgrade puede ser reemplazado por cualquier comando estándar de APT, particularmente dselect-upgrade. También puede usar un front-end de APT como dselect. Como sea, esto presenta un problema al comunicar las selecciones de nuevo a la computadora local. Ahora el disco contiene todo el índice de archivos y los archivos necesarios para actualizar la máquina Debian. Traiga el disco de nuevo y ejecute:

# export APT_CONFIG="/disc/apt.conf"
# apt-get check
''APT genera una copia local de los archivos cache''

# apt-get --no-d -o dir::etc::status=/var/lib/dpkg/status dist-upgrade
''o cualquier otro comando de apt''

Es necesario que funcione apropiadamente la re-especificación del archivo status para ser el local. ¡Muy importante! Si está usando dselect, puede hacer la muy arriesgada operación de copiar disc/status a /var/lib/dpkg/status para que cada selección hecha en la máquina remota sea actualizada. Es altamente recomendable que la persona sólo haga las selecciones en la máquina local - pero esto no siempre es posible. ¡¡NO copie el archivo status si dpkg o APT se ejecutaron mientras tanto!!

3. Usando APT y wget

3.1 Visión general

wget es una herramienta de descargas popular y portable que puede correr en prácticamente cualquier máquina. Distinto del método anterior, requiere que la máquina Debian ya tenga una lista de paquetes disponibles.

La idea básica es crear un disco que sólo tenga los archivos bajados de un sitio remoto. Esto es hecho usando la opción --print-uris y apt-get para prepar un script para que wget baje los paquetes.

3.2 Operación

Distinto de la técnica anterior, no se requieren archivos de configuración especiales. Simplemente usamos comandos APT estándar para generar la lista de archivos.

# apt-get dist-upgrade
''presione no cuando pregunte, asegurese que es feliz con las acciones''

# apt-get -qq --print-uris dist-upgrade > uris
# awk '{print "wget -O " $2 " " $1}' < uris> /disc/wget-script

Se puede usar cualquier otro comando además de dist-upgrade aquí, incluyendo dselect-upgrade.

El archivo /disc/wget-script ahora contiene una lista de comandos wget que se ejecutan para descargar los archivos necesarios. Este script debe ser ejecutado en el directorio actual del punto de montaje del disco para almacenar la salida en el disco. En la máquina remota hacer algo como:

# cd /disc
# sh -x ./wget-script
''esperar . . .''

Cuando los archivos son descargados y el disco vuelve a la máquina: La idea básica es crear un disco que sólo tenga los archivos bajados de un sitio remoto. Esto es hecho usando la opción --print-uris  y apt-get para preparar un script para que wget baje los paquetes.

Cuando los archivos son descargados y el disco vuelve a la máquina Debian, la instalación puede proceder usando:

# apt-get -o dir::cache::archives="/disc" dist-upgrade

Que usará los archivos ya descargados en el disco.