La mayor comunidad de Debian en español

Apt-zip


Índice

1. Introducción.
2. Instalación.
3. Configuración.
4. Preparación del sistema.
5. Soportes removibles
6. Sintaxis y opciones.
7. Uso.
7.1. Actualizar el sistema.
7.1.1. Dselect-upgrade.
7.1.2. Upgrade.
7.1.3. Dist-upgrade.
7.2. Instalar paquetes faltantes.
7.2.1. Los scripts.
7.2.2. Instalación de paquetes.
7.3. Ninguna conexión a internet.
7.3.1. La idea.

1. Introducción

A veces nos encontramos en la situación de tener que actualizar una maquina con una conexión a internet lenta o inexistente...
Algunas veces nos viene sugerido crear un mirror Debian, otras nos viene sugerido la descarga del primer DVD o de los primeros 2 o 3 Cd's (como sabemos en sid no existe nada de esto).
Por esto es que haremos uso de una herramienta por demás cómoda para estos casos.

2. Instalación.

La instalación es muy simple:

# apt-get install apt-zip

3. Configuración.

El archivo de configuración es '''/etc/apt/apt-zip.conf''' el cual contiene algunos valores por defecto utilizados por los dos comandos de apt-zip.

Aquí el archivo por defecto:

# Configuration file for apt-zip.
# This is a /bin/sh code snippet.

# METHOD is taken from /usr/share/apt-zip/.
METHOD=wget

# MEDIUM should be defined in /etc/fstab with option `noauto'.
MEDIUM=/ZIP

# OPTIONS is a comma-separated list of options.
# Possible options include: tar[=posixtarprogram], gnutar[=gnutarprogram],
# solaristar[=solaristarprogram], restart
# Examples:
# OPTIONS=tar=gtar
# OPTIONS=solaristar,restart
# OPTIONS="gnutar, restart=1"
# Recommended for a Solaris download host when possible:
# OPTIONS=solaristar,gnutar=gtar,restart
OPTIONS=

# DEFAULT_APTGETACTION is the action taken by apt-get when neither
# the --aptgetaction nor the --packages options are given.
# Possible actions include: dselect-upgrade(default), upgrade and dist-upgrade
DEFAULT_APTGETACTION=dselect-upgrade

# The regexp applied to filter (with grep) the files to download.
# Examples:
# GREP=^http\|^ftp
# GREP="-v ^cdrom\|^file"
GREP="^http\|^ftp"

Las directivas que nos interesan son dos:
MEDIUM y DEFAULT_APTGETACTION

MEDIUM''' indica la ruta del periférico removible que vendrá utilizado (a modo de ejemplo lo he hecho en /mnt/pen, el punto de montaje de mi memoria flash usb).
DEFAULT_APTGETACTION la acción por defecto de apt-get (a menos que no sea indicada una lista de paquetes u otra acción), por defecto ejecuta una actualización tramite dselect.

Normalmente solo MEDIUM viene modificado , esto es porque las opciones que trae por defecto son las mas correctas para cualquier uso.

4. Preparación del sistema.

Antes de pasar al análisis del programa y su utilización , prepararemos el sistema para usar apt-zip.
Normalmente es necesario un disco removible (flash usb, disco usb, un ZIP u otro) pero es posible ,con algunas modificaciones, exportar los dos archivos creados por apt-zip a un floppy o enviarlos por mail , y después crear en otra sede un cd o dvd con los paquetes descargados.

5. Soportes removibles.

En el caso en que dispongamos un soporte externo removible es aconsejable modificar el archivo /etc/fstab agregando la siguiente linea (que refiere al dispositivo):

mountpoint device filesystem options 0 0

por ejemplo (en el caso de una memoria flash)

/dev/sdb1 /mnt/pen vfat rw,users,umask=000,quiet 0 0

para las opciones y los sistemas de archivos disponibles , invito a leer la documentación dada por:

$ aman montuno

6. Sintaxis y opciones.

Apt-zip esta compuesto por dos ejecutables:
apt-zip-list y apt-zip-inst

apt-zip-list : su tarea es generar un script (y un archivo que contiene las opciones para la instalación de los paquetes que vendrán descargados) para la descarga de los paquetes en cualquier sistema Linux (con un "truco" es posible descargar los paquetes en un sistema operativo diferente , con la condición que este wget instalado).
apt-zip-inst : tiene la tarea de instalar los paquetes descargados.

La sintaxis es la siguiente:

apt-zip-list [--help] [--version] [--medium=mountpoint]
             [--aptgetaction=action] [--packages=package[,package...]]
             [--fix-broken] [--skip-montuno] [--method=method] [--options=opt[,opt...]]
             [ --accept=accept[,accept...]] [ --reject=reject[,reject...]]

apt-zip-inst [--help] [--version] [--medium=mountpoint] [--aptgetaction=action]
             [--packages=package[,package...]] [--fix-broken] [--skip-montuno]

Donde el significado de las opciones es el siguiente:

En común :
; --help, -h : Muestra una pequeña ayuda.
; --medium, -m : Indica el punto de montaje diferente al indicado en el archivo de configuracion.
; --aptgetaction, -a : Indica la acción que deberá ser llevada a cabo por apt-get ,las opciones posibles son : dselect-upgrade, upgrade y dist-upgrade.
Si no viene especificada la opción --packages, viene ejecutada la acción por defecto.
; --packages, -p : Indica la lista de los paquetes a instalar.(separados por coma)
; --fix-broken, -f : Ejecuta apt-get con la opción --fix-broken (man apt-get).
; --skip-mount : No ejecuta el montaje ni el desmontaje del periférico (útil si no se quiere usar un periférico extraíble).

Solo para apt-get-list
; --accept , -A / --reject , -R : Lista (separada por comas) de los protocolos utilizados para la descarga (por defecto http y ftp).

7. Uso

Trataremos de la misma manera tanto el caso en que venga utilizado un soporte extraíble , o aquel en que sea usado un directorio local...

Antes de lanzar apt-zip debemos decidir que hacer:
## Actualizar el sistema.
## usar dselect.
## hacer un upgrade.
## hacer un dist-upgrade.
## instalar paquetes faltantes.

7.1. Actualizar el sistema.

Seguramente es la practica mas difundida...tenemos a disposición tres opciones:

7.1.1. Dselect-upgrade.

Ejecutando:

# dselect

y lanzando la actualización , vendrán descargados los archivos con la lista de paquetes actualizados, que serán procesados por dselect... además se podrán seleccionar los paquetes que se quieren instalar (en practica se usa normalmente la herramienta dselect , teniendo cuidado de no seleccionar la opción de instalar los paquetes , sino salir del programa)...
Una vez hecho esto , es suficiente ejecutar el siguiente comando para crear los dos scripts necesarios para descargar los paquetes desde otro pc:

# apt-zip-list --aptgetaction=dselect-upgrade --medium=/mnt/point

donde /mnt/point representa el punto de montaje del dispositivo extraible , si se trata de un directorio normal , el comando a ejecutar sera ;

# apt-zip-list --aptgetaction=dselect-upgrade --skip-mount --medium=/mnt/point

7.1.2. Upgrade.

Vendrá generada la lista de paquetes a descargar para luego ejecutar un

# apt-get upgrade

el comando para hacer esto es;

# apt-zip-list --aptgetaction=upgrade --medium=/mnt/point

en el caso de un soporte extraible , o

# apt-zip-list --aptgetaction=upgrade --skip-mount --medium=/mnt/point

en el caso de un directorio local.

7.1.3. Dist-upgrade.

En este caso , vendrá generada la lista de paquetes a descargar para completar el comando

# apt-get dist-upgrade

el comando para hacerlo es:

# apt-zip-list --aptgetaction=dist-upgrade --medium/mnt/point

siempre en el caso de soporte extraible , o

# apt-zip-list --aptgetaction=dist-upgrade --skip-mount --medium=/mnt/point

para directorio local.

7.2. Instalar los paquetes faltantes.

En este caso , es posible crear la lista de paquetes necesarios para la instalación de un programa/paquete resolviendo sus dependencias...

el comando es:

# apt-zip-list --packages=paquete,paquete1,paquete2 --medium=/mnt/point

en el caso de soporte extraible , o

# apt-zip-list --packages=paquete,paquete1,paquete2 --skip-mount --medium=/mnt/point

en el caso de un directorio...
donde paquete,paquete1,paquete2 es la lista de los paquetes a instalar (separados por comas).

Como podemos ver , el uso es verdaderamente bastante fácil e intuitivo.

7.2.1 Los scripts.

Después de la ejecución de los comandos explicados anteriormente , vendrán generados dos scripts:

apt-zip.options contiene las opciones pasadas a apt-zip-list , que serán utilizadas por apt-zip-inst para instalar correctamente los paquetes descargados.

fetch-script-wget-nombremaquina
que se encargara de descargar los paquetes , de controlar el md5 (y así evitar problemas).

En pocas palabras , sera fácil , en el pc desde el cual se pueden descargar los paquetes , ejecutar el segundo script:

$ ./fetch-script-wget-nombremáquina

así vendrán descargados los paquetes contenidos en la lista...

Si no disponemos de una shell donde ejecutar el script (si el pc tiene windows , por ejemplo , aunque es posible [2]), es posible descargar igualmente los paquetes...
Sera suficiente , con ejecutar el siguiente comando:

$ cat fetch-script-wget-nombremaquina | egrep "://" | cut -d " " -f 1 > lista.txt

para obtener una lista en un archivo "normal" , utilizable con wget o con otro programa para la descarga de archivos desde la red...
Si usamos wget (Disponible también para otros sistemas operativos [1]) es suficiente un

$ wget -i lista.txt

¡Importante! Nota


los archivos descargados , para proceder con la instalación , deben estar en el mismo directorio que contiene el archivo apt-zip.options.

7.2.2. Instalación de paquetes.

Una vez terminado , podemos instalar los paquetes con el comando:

# apt-zip-int --medium=/mnt/point

(la directiva --medium puede ser omitida si esta presenten el archivo de configuración de apt-zip)
agregando , eventualmente --skip-mount si se trata de un directorio local.

7.3. Ninguna conexión a internet.

En esta sección veremos como usar apt-zip en ausencia casi total de conexión a internet.

7.3.1. La idea.

La idea es , fundamentalmente , simple: "engañaremos" apt creando en nuestra pc un mirror de repositorios. El mirror sera parcial , pues tendrá solamente los archivos relativos a los paquetes contenidos en el repositorio. Para esta operación nos valdremos de Apache , porque apt-zip no agrega en la lista los paquetes no leídos tramite una conexión internet (por ejemplo aquellos en disco).
Lamentablemente esta parte quedara para una segunda entrega.

[1] Bash & Windows - http://www.steve.org.uk/Software/bash/
[2] WGET for Windows - http://www.interlog.com/~tcharron/wgetwin.html

Fuente:man apt-zip

Relacionado con Apt-zip



Buscador

Búsqueda avanzada

Inicio de sesión

Encuesta

¿Que haces cuando tienes un problema?
Utilizo google hasta para encontrar la hora
70%
Leo los manuales hasta hartarme
8%
Utilizo esDebian que para algo está
15%
Esto con windows no pasaba
3%
Formateo
0%
Mirar en las listas de correo y bug tracker
0%
Ninguna de las anteriores
5%
Total de votos: 66

En línea

En este momento hay 13 usuarios y 20 invitados en línea.