DebianRepositoryMirrorBackupHowto/es
Introduccion
El problema era instalar un paquete de debian-multimedia sin tener que preocuparme de sus dependencias. Mi ordenador no tiene conexión a internet. Me veia en la necesidad de recuperar el paquete y sus dependencias y las dependencias de los paquetes. Ya existe algo parecido para resolver este problema llamado apt-zip pero este necesitaria aunque fuera una conexión lenta desde el ordenador a actualizar para resolver las dependencias. Con esta solución nos evitamos conseguir a nuestro ordenador a actualizar una conexión a internet. La solución no es optima porque no bajaremos los paquetes necesitados sino algunos más porque... Haremos un mirror del sitio.
Añadiremos una dificultad más... el ordenador que sí tiene conexión no tiene debian, aunque, en la práctica, el apt-mirror que puede incluir no nos interesa porque ¡no lo podremos editar!
Una cosa que el ordenador que sí tiene conexión deberá tener será perl pero casi seguro que lo tiene.
Conseguir el paquete de apt-mirror
Nos vamos [1] y buscamos el paquete apt-mirror y nos lo bajamos para nuestra arquitectura.
Abrimos el paquete con un Administrador de archives
Y extraemos su contenido en directorio tal que /tmp/tmpaptmirror/ En ese directorio tendriamos que tener dos ficheros:
control.tar.gz
y
data.tar.gz
Abrimos data.tar.gz con un Administrador de archives
Extraemos su contenido en directorio tal que /tmp/miaptmirror/ (no confundir con el anterior) En ese directorio tendriamos que tener tres carpetas:
usr etc
y
var.
Configurar el path de apt-mirror
Antes de poder usar apt-mirror este ha de saber dónde encontrar todos sus archivos. Para ello modificaremos su path en su archivo de configuración. Editaremos el fichero: /tmp/miaptmirror/usr/bin/apt-mirror La linea:
"base_path" => '/var/spool/apt-mirror',
la sustituiremos por:
"base_path" => '/tmp/miaptmirror/var/spool/apt-mirror',
Es decir el path dónde hemos descomprimido todo más luego var/spool/apt-mirror todo junto.
Configurar el sources.list
En este paso no configuraremos el sources.list propio de la máquinas sino el de nuestro particular apt-mirror. En la carpeta: /tmp/miaptmirror/etc/apt deberámos encontrar el fichero: mirror.list que tiene la misma sintaxis que un apt-mirror convencional.
Borraremos todo lo que nos interese y nos quedaremos con algo como:
deb http://oktan.ls.fi.upm.es/debian-multimedia stable main
(Sustituir con la clase de paquetes y con el repositorio que nos interesa!)
Invocar a nuestro apt-mirror
Ahora necesitamos invocar a nuestro apt-mirror particular. Nos aseguramos de que tiene permisos de ejecución asi:
chmod +x /tmp/miaptmirror/usr/bin/apt-mirror
Y ejecutamos:
/tmp/miaptmirror/usr/bin/apt-mirror /tmp/miaptmirror/etc/apt/mirror.list
Si todo sale bien en:
/tmp/miaptmirror/var/spool/apt-mirror/mirror/
deberiamos tener los paquetes necesitados. Ahora yo recomendaria hacer un tar de todos esos paquetes, copiarlos a, digamos, un pendrive y llevarlos al ordenador sin internet.
Copia
Una posible copia mediante la linea de comandos podria ser:
tar cvf /media/disk/copia_debian_multimedia.tar /tmp/miaptmirror/var/spool/apt-mirror/mirror/
Instalar repositorio en pc destino.
Aqui vamos a suponer que hemos guardado el directorio: oktan.ls.fi.upm.es en el tar.gz. En mi caso lo he extraido en el raiz de sistema, es decir en: /oktan.ls.fi.upm.es puedo ver la carpeta:
debian-multimedia.
Configurar repositorio en pc destino
Editaremos nuestro /etc/apt/sources.list y añadiremos una linea tal que:
deb file:/oktan.ls.fi.upm.es/debian-multimedia/ stable main
Guardamos el fichero y ejecutamos:
apt-get update
Gestion de las firmas digitales
Después de esto es posible que los paquetes den problemas de firmas. Para no tener que confirmar cada paquete suele haber un paquete para instalar la firma del repositorio. En el caso de debian-multimedia es: debian-multimedia-keyring . Usaremos
apt-get install debian-multimedia-keyring
y ya tenemos nuestro repositorio listo para usar.
Por ultimo
Disfrutar de los nuevos paquetes.