COMO CREAR TUS PROPIOS REPOSITORIOS DE UBUNTU FEISTY

Que pasaría si tuviéramos que administrar una planta de 10 o mas equipos por supuesto todos corriendo ubuntu feisty fawn se imaginarían el ancho de banda que consumirían esta cantidad de equipos cuando vayamos a hacer las actualizaciones o a instalar nuevos programas desde los repositorios este es un problema que afecta a mas de uno y claro existen soluciones como descargar todos los repositorios de ubuntu o crear cd’s complementarios pero imaginense tener que estar yendo equipo por equipo con todos esos discos para hacer las actualizaciones no seria mejor tener nuestro propio repositorio en nuestra red interna que nos facilite las cosas pues de eso se trata este post les enseñare como crear su propio repositorio.

 

Que necesitamos:

 

– Un equipo con ubuntu feisty fawn instalado y con conexión a internet.

– Los scripts para crear cd’s complementarios.

– build-essential

– Apache web server.

 

Manos a la obra:

 

primero lo que haremos es desde nuestro equipo con ubuntu efectuar todas las actualizaciones e instalar los paquetes que necesitaremos como esto es un tema que se ha tocado muchas veces no voy a decirles como se hace.

 

después que hallamos hecho las actualizaciones e instalado los paquetes vamos a ir a la siguiente carpeta /var/cache/apt/archives/ aquí se encuentran todos los paquetes que instalamos (archivos .deb) además de las actualizaciones lo que vamos a hacer a continuación es copiar todo los archivos .deb a una nueva carpeta puede ser una carpeta creada en el directorio personal yo le pondré repositorio pero ustedes pueden colocar cualquier nombre esto quedaría así:

 

/home/alex/repositorio/

 

dentro de esta carpeta crearemos otra que se deberá llamar pool y quedaría así:

 

/home/alex/repositorio/pool/

 

y en esta carpeta copiaremos todos los archivos .deb existe un problemas que debemos arreglar manualmente, cuando hacemos actualizaciones o instalamos nuevos paquetes algunos de los archivos .deb que se descargan llegan con el símbolo % en sus nombres tenemos que encontrar los archivos con este defecto y remplazar el símbolo % con el símbolo _ si no lo hacemos estos archivos causaran problemas a la hora de crear el repositorio.

 

Una vez hallamos hecho esto deberemos copiar los scripts de creación de cd’s complementarios en la carpeta que nombramos repositorio (/home/alex/repositorio/)

 

Descarga los scripts aquí.

 

estos scripts los encontré en uno de los hilos de ubuntu-es estaban diseñados para dapper pero yo los modifique para usarlos en feisty

 

de aquí en adelante haremos todo desde la consola

 

instalamos el paquete build-essential

 

$ sudo aptitude install build-essential

 

nos ubicamos en la carpeta pool

 

$ cd /home/alex/repositorio/pool/

 

y ejecutamos el primer script

 

$ ../organizar.sh

 

este script se encargara de organizar todos los paquetes .deb que tenemos en la carpeta pool, una vez que finalice el script ejecutaremos el segundo script.

 

$ cd ..

$ ./crearcd.sh

 

el script nos hará una serie de preguntas que responderemos una de esas preguntas es si queremos firmar el cd si respondemos si debemos crear una llave y esa llave la deberemos agregar en todos los equipos en los que queremos utilizar nuestro repositorio.

 

Si por el contrario respondemos que no queremos firmar el cd lo único que sucederá es que nos aparecerá una advertencia de que los paquetes no están firmados cuando instalemos o actualicemos desde nuestro repositorio

 

una vez que el script haya terminado dentro de la carpeta repositorio quedara una estructura de varias carpetas.

 

por ultimo deberemos configurar nuestro servidor web apache.

 

instalamos apache

 

$ sudo aptitude install apache2

 

aquí podemos escoger entre 2 opciones podemos configurar el servidor web para que funcione solo con nuestro repositorio o si ya estamos usando apache para otras funciones podemos configurar nuestro repositorio como un servidor virtual yo lo haré como en la primera opción lo configurare para que trabaje solo con nuestro repositorio si alguien esta interesado en configurarlo como un servidor virtual hay mucha información en la red sobre servidores virtuales en apache.

 

abriremos el siguiente archivo para editarlo

 

$ sudo gedit /etc/apache2/sites-available/default

 

lo editamos y debería quedar así:

 

NameVirtualHost *

<VirtualHost *>

ServerAdmin webmaster@localhost

 

DocumentRoot /home/alex/repositorio/

<Directory />

Options FollowSymLinks

AllowOverride None

</Directory>

<Directory /home/alex/repositorio/>

Options Indexes FollowSymLinks MultiViews

AllowOverride None

Order allow,deny

allow from all

# This directive allows us to have apache2’s default start page

# in /apache2-default/, but still have / go to the right place

#RedirectMatch ^/$ /apache2-default/

</Directory>

 

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

<Directory “/usr/lib/cgi-bin”>

AllowOverride None

Options ExecCGI -MultiViews +SymLinksIfOwnerMatch

Order allow,deny

Allow from all

</Directory>

 

ErrorLog /var/log/apache2/error.log

 

# Possible values include: debug, info, notice, warn, error, crit,

# alert, emerg.

LogLevel warn

 

CustomLog /var/log/apache2/access.log combined

ServerSignature On

 

Alias /doc/ “/usr/share/doc/”

<Directory “/usr/share/doc/”>

Options Indexes MultiViews FollowSymLinks

AllowOverride None

Order deny,allow

Deny from all

Allow from 127.0.0.0/255.0.0.0 ::1/128

</Directory>

 

</VirtualHost>

 

guardamos el archivo y reiniciamos apache

 

$ sudo /etc/init.d/apache2 restart

 

y listo ya configuramos nuestro servidor y nuestro repositorio ya se encuentra listo

 

Configuración de los clientes:

 

Ahora lo único que queda por hacer es configurar los equipos que se actualizaran en nuestro repositorio para esto deberemos abrir el archivo sources.list en los clientes y agregar nuestro servidor además de comentar los demás servidores para que no interfieran.

 

deb http://(direccion ip o url de nuestro servidor)/ubuntu feisty contrib main non-free restricted

 

actualizamos los repositorios

 

$ sudo aptitude update

 

y listo a usarlo con nuestro programa favorito (apt-get, aptitude, synaptic, adept)

Anuncios

5 comentarios en “COMO CREAR TUS PROPIOS REPOSITORIOS DE UBUNTU FEISTY

  1. Muy interesante tu articulo!!!

    Pero tengo una duda, para que es necesario el servidor apache???

    No podría realizarse compartiendo la carpeta mediante samba, y que los clientes se conectasen a esa carpeta remota???

  2. memojoelojo pues el apache no es necesario y se puede hacer con samba como tu dices pero pues para que sea transparente para el usuario te tocaria configurar otras cosas, tendrias que crear un script para que cada vez que inicie ubuntu monte automaticamente la carpeta compartida pero si es posible en soorces.list se pondria una linea parecida a esta:

    deb file:///carpetamontada/ubuntu feisty contrib main non-free restricted

    y lo de los ficheros no es que traigan el % por defecto solo es que como los paquetes se descargan de los repositorios por via web algunos caracteres no se representan bien y se reemplazan con % por ejemplo muchos paquetes traen el simbolo : en su nombre y al bajarlos se reemplaza con % pero a nosotros este simbolo nos trae problemas entonces tenemos que eliminarlo.

  3. Hola

    Buscando en el inet, encontré este sitio. Soy quien ha creado los archivos originalmente. Claro que tomé algo de inet también, aunque no sé quien fue el primero. Deberias visitar el sitio http://hereveri.cl/ (aún no está disponible) ahí pondré las actualizaciones de los archivos. Ya habia hecho algo parecido mediante nfs. Que bien que alguien se interese y experimente con los scripts.

    Atte. Nelson Hereveri San Martín

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s