[HOW TO] Como crear un repositorio local usando los ISO's de Ubuntu

Hasta hace poco tenia a mi disposición los repositorios en DVD's para la instalación de los paquetes que necesitaba la distribución GNU Linux que estoy usando, actualmente Ubuntu 7.04 (Feisty). Pero a veces resulta muy incómodo cambiar de un DVD a otro al momento de instalar un paquete determinado con sus respectivas dependencias. Es así que me decidí a copiar los DVD's a mi disco duro para hacer mucho más dinámico el mantenimiento de mi sistema.

El único inconveniente -quizás- sea el espacio que llegan a ocupar los DVD's, que llegan a ser 16 Gb para los paquetes .deb del repositorio.

Puede que ésta pequeña guía sirva también para quienes no disponen de acceso a Internet (o sea relativamente lento) y necesiten instalar/actualizar ciertos paquetes del sistema, así como tambien puedan ahorrarse el tiempo que toma cambiar de DVD en DVD al momento de instalar un paquete con múltiples dependencias.

He aquí los pasos realizados:

1) Grabar los DVD's como imágenes ISO en el disco duro.

Es muy conveniente copiar cada uno de los DVD's del repositorio como imágenes, ya que por algún motivo -quizás por falta de espacio en disco en un futuro- querramos borrar el repositorio local y/o necesitemos crear copias nuevas del mismo en sus correspondientes DVD's, incluso para poder copiarlos para algún amigo tuyo.

1.1. Ingresamos el DVD en el correspondiente lector y ejecutamos:

$ dd if=/dev/dvd of=/home/usuario/ubuntu7.04/ubuntu_0.iso

Este comando creará el archivo "ubuntu_0.iso" (el primer DVD) en la carpeta /home/usuario/ubuntu7.04/. Repetimos el proceso para cada uno de los DVD's

Hasta éste punto tendremos los siguientes archivos:
ubuntu_0.iso
ubuntu_1.iso
ubuntu_2.iso
ubuntu_3.iso

2) Crear los puntos de montaje.

Ahora necesitamos crear las carpetas en las que vamos a montar posteriormente los archivos .iso

$ sudo mkdir -p /mnt/ubuntu7.04/CD0
$ sudo mkdir /mnt/ubuntu7.04/CD1
$ sudo mkdir /mnt/ubuntu7.04/CD2
$ sudo mkdir /mnt/ubuntu7.04/CD3

Listo, ya tenemos las carpetas listas.

3) Montar los archivos .iso en los puntos de montaje habilitados.

Este paso es sencillo, bastará con ejecutar:

$ sudo mount /home/usuario/ubuntu7.04/ubuntu_0.iso -r -t iso9660 -o loop /mnt/ubuntu7.04/CD0
$ sudo mount /home/usuario/ubuntu7.04/ubuntu_1.iso -r -t iso9660 -o loop /mnt/ubuntu7.04/CD1
$ sudo mount /home/usuario/ubuntu7.04/ubuntu_2.iso -r -t iso9660 -o loop /mnt/ubuntu7.04/CD2
$ sudo mount /home/usuario/ubuntu7.04/ubuntu_3.iso -r -t iso9660 -o loop /mnt/ubuntu7.04/CD3

O si prefieren, podrían copiarse el siguiente script que hará todo eso por nosotros, el nombre adecuado del archivo podría ser montar_repositorio

#!/bin/bash
set -x
mount /home/usuario/ubuntu7.04/ubuntu_0.iso -r -t iso9660 -o loop /mnt/ubuntu7.04/CD0
mount /home/usuario/ubuntu7.04/ubuntu_1.iso -r -t iso9660 -o loop /mnt/ubuntu7.04/CD1
mount /home/usuario/ubuntu7.04/ubuntu_2.iso -r -t iso9660 -o loop /mnt/ubuntu7.04/CD2
mount /home/usuario/ubuntu7.04/ubuntu_3.iso -r -t iso9660 -o loop /mnt/ubuntu7.04/CD3
exit

Seguidamente procedemos a darle permisos de ejecución:

$ chmod +x montar_repositorio

Copiamos el archivo a la carpeta de ejecutables del root.

$ sudo cp montar_repositorio /sbin/

Listo, con ese pequeño script, cada vez que iniciemos nuestro sistema, bastará con ejecutar el siguiente comando para tener el repositorio habilitado.

$ sudo montar_repositorio

4) Modificar el sources.list

Ahora que tenemos nuestro repositorio habilitado, necesitamos editar el archivo /etc/apt/sources.list para actualizar nuestra lista de paquetes disponibles.

$ sudo gedit /etc/apt/sources.list

Abrirá el fichero mencionado y, en seguida, procedemos a comentar con el caracter # todas las líneas que no lo estén (de preferencia), para evitarnos de problemas con los repositorios habilitados por defecto, que como verán, hacen referencia a algún sitio web en particular.

Una vez hecho esto, incluimos lo siguiente al final del archivo:

#Repositorio local en disco duro
deb file:/mnt/ubuntu7.04/CD0/ feisty main multiverse restricted universe
deb file:/mnt/ubuntu7.04/CD1/ feisty main multiverse restricted universe
deb file:/mnt/ubuntu7.04/CD2/ feisty main multiverse restricted universe
deb file:/mnt/ubuntu7.04/CD3/ feisty main multiverse restricted universe

Guardamos los cambios y cerramos el archivo.

5) Actualizar la lista de paquetes disponibles.

Ahora que ya está habilitado el repositorio, y que también hicimos las modificaciones necesarias a nuestro sources.list, queda por actualizar simplemente la lista de los paquetes disponibles:

$ sudo apt-get update

Y, si es posible, actualizar los paquetes del sistema:

$ sudo apt-get upgrade
$ sudo apt-get dist-upgrade

Como ven, no es tan complicado crear nuestro repositorio local, sólo necesitamos los archivos .iso de los paquetes .deb de la versión que necesitemos para nuestra distro Ubuntu.

Espero que ésta guía sea de utilidad.

1 comentario:

Víctor Romero dijo...

Hola amigo muy bueno tu HOw to

Tengo una duda:

¿Como podría acceder yo a esos repositorios locales dentro de una LAN para usar los mismos repos con diferentes PC?

Gracias de antemano..