<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/1.5.1-alpha" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
>

<channel>
	<title>BatU's Stack</title>
	<link>http://batu.blogsome.com</link>
	<description>Mi almacen de experiencias</description>
	<pubDate>Sun, 15 Oct 2006 12:36:28 +0000</pubDate>
	<generator>http://wordpress.org/?v=1.5.1-alpha</generator>
	<language>en</language>

		<item>
		<title>Creación de un repositorio Debian (2ª parte)</title>
		<link>http://batu.blogsome.com/2006/10/15/p26/</link>
		<comments>http://batu.blogsome.com/2006/10/15/p26/#comments</comments>
		<pubDate>Sun, 15 Oct 2006 12:35:42 +0000</pubDate>
		<dc:creator>BatU</dc:creator>
		
	<category>GNU/Linux</category>
	<category>Debian</category>
		<guid>http://batu.blogsome.com/2006/10/15/p26/</guid>
		<description><![CDATA[	Conforme terminamos lo explicado en la primera parte nuestro repositorio no utiliza firmas. Para ello deberemos firmar los Release con gpg, para lo cual necesitamos habernos creado una clave.
	Generación de una clave
	Simplemente hemos de ejecutar el siguiente comando:
	gpg --gen-key
	Nos hará una serie de preguntas, entre ellas nos pedira un passphrase, que sera la clave privada.
	Más [...]]]></description>
			<content:encoded><![CDATA[	<p>Conforme terminamos lo explicado en la primera parte nuestro repositorio no utiliza firmas. Para ello deberemos firmar los <tt>Release</tt> con gpg, para lo cual necesitamos habernos creado una clave.</p>
	<h2>Generación de una clave</h2>
	<p>Simplemente hemos de ejecutar el siguiente comando:</p>
	<p><code>gpg --gen-key</code></p>
	<p>Nos hará una serie de preguntas, entre ellas nos pedira un passphrase, que sera la clave privada.</p>
	<p>Más adelante necesitaremos importar la clave pública para usar el repositorio, la exportamos con el siguiente comando:</p>
	<p><code>gpg -a --export &gt; clave_publica.gpg</code></p>
	<h2>Firma de los Release</h2>
	<p>Ahora que ya poseemos una clave para firmar el repositorio tenemos que firmar todos los <tt>Release</tt> en cada uno de los directorios:</p>
	<p><code>gpg -bao Release.gpg Release</code></p>
	<p>Esto nos pide el passphrase que introdujimos al generar la clave, y nos genera un fichero <tt>Release.gpg</tt>. Pues bien una vez hemos firmado todos los ficheros <tt>Release</tt> ya tenemos firmado el repositorio. </p>
	<h2>Importando la clave pública</h2>
	<p>Ahora lo único que nos falta es importar la clave pública exportada anteriormente en cada una de las máquinas que utilizan el repositorio:</p>
	<p><code>apt-key add clave_publica.gpg</code></p>
	<p>Si no hacemos este último paso el apt de cada máquina no reconocerá como firmados los <tt>Release</tt></p>
]]></content:encoded>
			<wfw:commentRss>http://batu.blogsome.com/2006/10/15/p26/feed/</wfw:commentRss>
	</item>
		<item>
		<title>Creación de un repositorio Debian automático</title>
		<link>http://batu.blogsome.com/2006/10/14/creacion-de-un-repositorio-debian/</link>
		<comments>http://batu.blogsome.com/2006/10/14/creacion-de-un-repositorio-debian/#comments</comments>
		<pubDate>Sat, 14 Oct 2006 17:59:12 +0000</pubDate>
		<dc:creator>BatU</dc:creator>
		
	<category>GNU/Linux</category>
	<category>Debian</category>
		<guid>http://batu.blogsome.com/2006/10/14/creacion-de-un-repositorio-debian/</guid>
		<description><![CDATA[	En este post voy a explicar cómo crear un repositorio para alojar nuestros propios paquetes .deb . Para ello necesitaremos tener instalado el paquete apt-utils que seguramente ya lo estará.
	Preparando el repositorio
	Antes que nada deberemos crear un directorio raíz donde se hallará el resto de directorios y ficheros. Por ejemplo creamos el directorio /var/repo.
	Una vez [...]]]></description>
			<content:encoded><![CDATA[	<p>En este post voy a explicar cómo crear un repositorio para alojar nuestros propios paquetes .deb . Para ello necesitaremos tener instalado el paquete <tt>apt-utils</tt> que seguramente ya lo estará.</p>
	<h2>Preparando el repositorio</h2>
	<p>Antes que nada deberemos crear un directorio raíz donde se hallará el resto de directorios y ficheros. Por ejemplo creamos el directorio <tt>/var/repo</tt>.</p>
	<p>Una vez creado el raíz habrá que crear dentro de el la estructura de directorios, por ejemplo para la distribución sarge creamos la siguiente estructura:</p>
	<p><code><br />
/dists<br />
/dists/sarge<br />
/dists/sarge/contrib<br />
/dists/sarge/contrib/binary-i386<br />
/dists/sarge/contrib/source<br />
/dists/sarge/main<br />
/dists/sarge/main/binary-i386<br />
/dists/sarge/main/source<br />
/dists/sarge/non-free<br />
/dists/sarge/non-free/binary-i386<br />
/dists/sarge/non-free/source<br />
</code></p>
	<p>Donde vemos que primero se crea el directorio dists, donde luego habrá un directorio por cada distribución (en nuestro caso solo sarge). Dentro de la distribución (sarge) tendremos las diferentes secciones, <tt>main</tt> para paquetes libres, <tt>non-free</tt> para paquetes no libres, y <tt>contrib</tt> para paquetes libres que dependen de otros paquetes que no lo son.</p>
	<p>Una vez creadas las secciones creamos un directorio para los binarios, <tt>binary-&lt;arquitectura&gt;</tt> en este caso como serán exclusivamente para arquitectura i386 solo necesitaremos <tt>binary-i386</tt>, y un directorio para los fuentes, <tt>source</tt>.</p>
	<h2>Llenando el repositorio</h2>
	<p>Una vez creada la estructura ya podemos alojar nuestros paquetes. Para ello tenemos que copiar los .deb correspondientes a paquetes binarios en los directorios <tt>binary-i386</tt> de cada sección. Si además queremos distribuir los fuentes copiaremos los ficheros <tt>.dsc  -diff.tar.gz .orig.tar.bz</tt> en los directorios <tt>source</tt>.</p>
	<p>En cada directorio <tt>binary-i386</tt> y <tt>source</tt> necesitamos un fichero <tt>Release</tt> cuyo contenido sería el siguiente:</p>
	<p><code><br />
Archive: stable<br />
Component: main<br />
Origin: &lt;Tu nombre u organizacion&gt;<br />
Label: &lt;Una etiqueta descriptiva&gt;<br />
Architecture: &lt;Arquitectura de tu procesador o "source" para los directorios de fuentes&gt;<br />
</code></p>
	<h2>Ficheros de configuración</h2>
	<p>Necesitamos dos ficheros de configuración:<br />
<tt>
<ul>
	<li>apt-sarge-release.conf</li>
	<li>apt-ftparchive.conf</li>
	</ul>
</tt></p>
	<p>Ambos ficheros los pondremos en el directorio raíz del repositorio. Y su contenido sería el siguiente:</p>
	<h4>apt-sarge-release.conf</h4>
	<p><code><br />
APT::FTPArchive::Release::Origin "Tu nombre u organizacion";<br />
APT::FTPArchive::Release::Label "Etiqueta descriptiva";<br />
APT::FTPArchive::Release::Suite "stable";<br />
APT::FTPArchive::Release::Codename "sarge";<br />
APT::FTPArchive::Release::Architectures "i386 source";<br />
APT::FTPArchive::Release::Components "main contrib non-free";<br />
APT::FTPArchive::Release::Description "Descripcion detallada";<br />
</code></p>
	<h4>apt-ftparchive.conf</h4>
	<p><code>
<pre>
Dir {
  ArchiveDir \".\";
  CacheDir \".\";
};
	
Default {
  Packages::Compress \"gzip bzip2\";
  Sources::Compress \"gzip bzip2\";
  Contents::Compress \"gzip bzip2\";
};
	
BinDirectory \"dists/sarge/main/binary-i386\" {
  Packages \"dists/sarge/main/binary-i386/Packages\";
  Contents \"dists/sarge/Contents-i386\";
  SrcPackages \"dists/sarge/main/source/Sources\";
};
	
BinDirectory \"dists/sarge/contrib/binary-i386\" {
  Packages \"dists/sarge/contrib/binary-i386/Packages\";
  Contents \"dists/sarge/Contents-i386\";
  SrcPackages \"dists/sarge/contrib/source/Sources\";
};
	
BinDirectory \"dists/sarge/non-free/binary-i386\" {
  Packages \"dists/sarge/non-free/binary-i386/Packages\";
  Contents \"dists/sarge/Contents-i386\";
  SrcPackages \"dists/sarge/non-free/source/Sources\";
};
	
Tree \"dists/sarge\" {
  Sections \"main contrib non-free\";
  Architectures \"i386 source\";
};
	
Default {
  Packages {
    Extensions \".deb\";
  };
};
</pre>
</code></p>
	<p>Una vez tenemos los ficheros de configuración adecuados a nuestras necesidades hemos de ejecutar un par de comandos, los cuales podemos meter en un script llamado por ejemplo <tt>update-archive.sh</tt>:</p>
	<p><code><br />
#!/bin/sh<br />
apt-ftparchive generate apt-ftparchive.conf<br />
apt-ftparchive -c apt-dapper-release.conf release dists/dapper/ >dists/dapper/Release<br />
</code></p>
	<h2>Actualizando el repositorio</h2>
	<p>Una vez hemos puesto los paquetes dentro de los directorios correspondientes de su sección ejecutamos el script <tt>update-archive.sh</tt>, obteniendo una salida como la siguiente:<br />
<code>
<pre>
$ ./update-archive.sh
 dists/sarge/main/binary-i386: 21 files 42.7MB 2s
 dists/sarge/contrib/binary-i386: 0 files 0B 0s
 dists/sarge/non-free/binary-i386: 4 files 114MB 5s
 dists/sarge/main/binary-i386/: 21 files 42.7MB 0s
 dists/sarge/contrib/binary-i386/: 0 files 0B 0s
 dists/sarge/non-free/binary-i386/: 4 files 114MB 0s
 dists/sarge/main/source/: 2 pkgs in 0s
 dists/sarge/contrib/source/: 0 pkgs in 0s
 dists/sarge/non-free/source/: 0 pkgs in 0s
Done Packages, Starting contents.
Done. 314MB in 50 archives. Took 7s
</pre>
</code></p>
	<h2>Usando el repositorio</h2>
	<p>Después de los pasos anteriores ya podemos utilizar el repositorio modificando el fichero <tt>/etc/apt/sources.list</tt>:</p>
	<ul>
	<li>Para acceso local
<p><tt>deb file:///var/repo sarge main contrib non-free</tt></p>
</li>
	<li>Para acceso remoto (si por ejemplo hacemos un enlace simbólico a /var/svn dentro del direcorio de un servidor http):
<p><tt>deb http://nuestro.servidor/repositorio sarge main contrib non-free</tt></p>
</li>
	</ul>
	<h2>Nota</h2>
	<p>Este post es prácticamente una traducción de un howto cuyo link es <a href="http://batu.blogsome.com/go.php?u=http%3A%2F%2Fpeople.connexer.com%2F%7Eroberto%2Fhowtos%2Fdebrepository&amp;i=0&amp;c=e7524c6abc60364fdc2212e5f61ba8f36151c8ea">este</a></p>
	<p>En un próximo post pondré como añadir nuestra firma al repositorio con gpg.
</p>
]]></content:encoded>
			<wfw:commentRss>http://batu.blogsome.com/2006/10/14/creacion-de-un-repositorio-debian/feed/</wfw:commentRss>
	</item>
		<item>
		<title>Probando con Flock</title>
		<link>http://batu.blogsome.com/2006/06/14/probando-con-flock/</link>
		<comments>http://batu.blogsome.com/2006/06/14/probando-con-flock/#comments</comments>
		<pubDate>Wed, 14 Jun 2006 21:26:03 +0000</pubDate>
		<dc:creator>BatU</dc:creator>
		
	<category>Software Libre</category>
		<guid>http://batu.blogsome.com/2006/06/14/probando-con-flock/</guid>
		<description><![CDATA[	Pues estoy probando el nuevo navegador este. Es un firefox (calcado) con algunas funcionalidades interesantes. Como esta que estoy gastando ahora mismo, posteando en el blog directamente desde el navegador (File -&gt; New Blog post&#8230;), también se pueden subir fotos a Flickr y Photobucket, compartir los marcadores con del.icio.us, notificaciones de technorati, y un agregador [...]]]></description>
			<content:encoded><![CDATA[	<p>Pues estoy probando el nuevo navegador este. Es un firefox (calcado) con algunas funcionalidades interesantes. Como esta que estoy gastando ahora mismo, posteando en el blog directamente desde el navegador (File -&gt; New Blog post&#8230;), también se pueden subir fotos a Flickr y Photobucket, compartir los marcadores con del.icio.us, notificaciones de technorati, y un agregador de feeds. Muy chulo la verdad.</p>
	<p>Como curiosidad, lleva como buscador por defecto Yahoo! en lugar de Google.</p>
	<p><!-- technorati tags begin --><br />
<p style="font-size:10px;text-align:right;">technorati tags:<a href="http://batu.blogsome.com/go.php?u=http%3A%2F%2Ftechnorati.com%2Ftag%2FFlock&amp;i=0&amp;c=0de58db4625793dce9c8990485828b71a64def7c" rel="tag">Flock</a>, <a href="http://batu.blogsome.com/go.php?u=http%3A%2F%2Ftechnorati.com%2Ftag%2FBrowser&amp;i=0&amp;c=dbdb50aea588450e8bdd443c9091900cbd74b4ea" rel="tag">Browser</a>, <a href="http://batu.blogsome.com/go.php?u=http%3A%2F%2Ftechnorati.com%2Ftag%2FFirefox&amp;i=0&amp;c=9ade6bad573525caeda832179e3bb49d28c61ccd" rel="tag">Firefox</a>, <a href="http://batu.blogsome.com/go.php?u=http%3A%2F%2Ftechnorati.com%2Ftag%2FMozilla&amp;i=0&amp;c=55e00f753c6c8ce8876de5bd0d3d1d3516473ad9" rel="tag">Mozilla</a><!-- technorati tags end --></p>
	<p style="text-align: right; font-size: 8px">Blogged with <a href="http://batu.blogsome.com/go.php?u=http%3A%2F%2Fwww.flock.com&amp;i=0&amp;c=00634b6daf4d564730b09ae46c184e1ba4aea781" title="Flock" target="_new">Flock</a></p>
]]></content:encoded>
			<wfw:commentRss>http://batu.blogsome.com/2006/06/14/probando-con-flock/feed/</wfw:commentRss>
	</item>
		<item>
		<title>Probando con Swing</title>
		<link>http://batu.blogsome.com/2006/04/24/probando-con-swing/</link>
		<comments>http://batu.blogsome.com/2006/04/24/probando-con-swing/#comments</comments>
		<pubDate>Mon, 24 Apr 2006 16:05:35 +0000</pubDate>
		<dc:creator>BatU</dc:creator>
		
	<category>Programación</category>
	<category>Java</category>
		<guid>http://batu.blogsome.com/2006/04/24/probando-con-swing/</guid>
		<description><![CDATA[	Pues ya que lo estoy dando en clase, me ha dado por probar un poco con swing. El resultado es un pequeño, sencillo y poco usable programa que me he hecho para gestionar libros, mediante una base de datos mysql.
	En concreto usando JDBC con el driver de mysql. Tiene muchos fallos y no funciona demasiado [...]]]></description>
			<content:encoded><![CDATA[	<p>Pues ya que lo estoy dando en clase, me ha dado por probar un poco con swing. El resultado es un pequeño, sencillo y poco usable programa que me he hecho para gestionar libros, mediante una base de datos mysql.</p>
	<p>En concreto usando JDBC con el driver de mysql. Tiene muchos fallos y no funciona demasiado bien, pero ahi esta. </p>
	<p><a href="http://batu.blogsome.com/go.php?u=http%3A%2F%2Fwww.megaupload.com%2F%3Fd%3DIT67D8L1&amp;i=0&amp;c=2f3ed65eac755251a5513aaf8eebc1f8ec1b39e8" target="_blank">Código fuente</a>
</p>
]]></content:encoded>
			<wfw:commentRss>http://batu.blogsome.com/2006/04/24/probando-con-swing/feed/</wfw:commentRss>
	</item>
		<item>
		<title>Por fin tengo un portátil</title>
		<link>http://batu.blogsome.com/2006/04/24/por-fin-tengo-un-portatil/</link>
		<comments>http://batu.blogsome.com/2006/04/24/por-fin-tengo-un-portatil/#comments</comments>
		<pubDate>Mon, 24 Apr 2006 15:50:36 +0000</pubDate>
		<dc:creator>BatU</dc:creator>
		
	<category>Personal</category>
		<guid>http://batu.blogsome.com/2006/04/24/por-fin-tengo-un-portatil/</guid>
		<description><![CDATA[	Pues sí, me salio una oferta y no la pude dejar pasar. El cacharro en cuestión es un HP Pavilion ze4930ea (1.5Ghz, 512 RAM, 40 Gb de disco, tarjeta wireless Intel PRO Wireless 2200&#8230;).
	Empecé poniendole una Ubuntu Breezy, pero la tarjeta inalámbrica me daba muchos fallos (kernel panic), despues probé una fedora core 5 y [...]]]></description>
			<content:encoded><![CDATA[	<p>Pues sí, me salio una oferta y no la pude dejar pasar. El cacharro en cuestión es un HP Pavilion ze4930ea (1.5Ghz, 512 RAM, 40 Gb de disco, tarjeta wireless Intel PRO Wireless 2200&#8230;).</p>
	<p>Empecé poniendole una Ubuntu Breezy, pero la tarjeta inalámbrica me daba muchos fallos (kernel panic), despues probé una fedora core 5 y más de lo mismo. Compilando el driver a mano, con ndiswrapper y nada. Al final he puesto una Ubuntu Dapper y va a las mil maravillas.
</p>
]]></content:encoded>
			<wfw:commentRss>http://batu.blogsome.com/2006/04/24/por-fin-tengo-un-portatil/feed/</wfw:commentRss>
	</item>
		<item>
		<title>Encontrar procesos zombi</title>
		<link>http://batu.blogsome.com/2005/11/23/encontrar-procesos-zombi/</link>
		<comments>http://batu.blogsome.com/2005/11/23/encontrar-procesos-zombi/#comments</comments>
		<pubDate>Wed, 23 Nov 2005 19:33:32 +0000</pubDate>
		<dc:creator>BatU</dc:creator>
		
	<category>GNU/Linux</category>
		<guid>http://batu.blogsome.com/2005/11/23/encontrar-procesos-zombi/</guid>
		<description><![CDATA[	Cuando tenemos una máquina que no funciona correctamente es posible que los procesos estén en estado zombi. Para poder ver los procesos en este estado usamos el comando siguiente:
	ps -el | grep 'Z'
	Con el comando ps -el se puede obtener una salida en la que la segunda columna indica el estado del proceso. Existen varios [...]]]></description>
			<content:encoded><![CDATA[	<p>Cuando tenemos una máquina que no funciona correctamente es posible que los procesos estén en estado zombi. Para poder ver los procesos en este estado usamos el comando siguiente:</p>
	<pre>ps -el | grep 'Z'</pre>
	<p>Con el comando <tt>ps -el</tt> se puede obtener una salida en la que la segunda columna indica el estado del proceso. Existen varios estados:</p>
	<pre>S : sleeping
R : running
D : waiting
T : gestopt (suspended)
Z : zombie (defunct)
</pre>
	<p>Un ejemplo podría ser el siguiente:</p>
	<pre># ps -el | grep 'Z'
F S   UID   PID  PPID  C PRI  NI ADDR    SZ WCHAN  TTY          TIME CMD
1 Z     0  1213   589  0  75   0    -     0 funct&gt; ?        00:00:00 dovecot-auth </pre>
	<p>Donde vemos que el proceso <tt>dovecot-auth</tt> está en estado zombi.</p>
]]></content:encoded>
			<wfw:commentRss>http://batu.blogsome.com/2005/11/23/encontrar-procesos-zombi/feed/</wfw:commentRss>
	</item>
		<item>
		<title>Creación de paquetes</title>
		<link>http://batu.blogsome.com/2005/11/21/creacion-de-paquetes/</link>
		<comments>http://batu.blogsome.com/2005/11/21/creacion-de-paquetes/#comments</comments>
		<pubDate>Mon, 21 Nov 2005 21:32:22 +0000</pubDate>
		<dc:creator>BatU</dc:creator>
		
	<category>Debian</category>
		<guid>http://batu.blogsome.com/2005/11/21/creacion-de-paquetes/</guid>
		<description><![CDATA[	Hoy he descubierto un programa bastante interesante para generar paquetes para las distribuciones más usadas, entre ellas como no Debian. El programa en cuestión es Checkinstall. Nos permite generarnos debs a partir del código fuente  de forma tan fácil como:
	./configure
	make
	checkinstall
	Al ejecutar el checkinstall este nos pregunta acerca de la descripción que queremos poner al [...]]]></description>
			<content:encoded><![CDATA[	<p>Hoy he descubierto un programa bastante interesante para generar paquetes para las distribuciones más usadas, entre ellas como no Debian. El programa en cuestión es Checkinstall. Nos permite generarnos debs a partir del código fuente  de forma tan fácil como:</p>
	<p><tt>./configure</p>
	<p>make</p>
	<p>checkinstall</tt></p>
	<p>Al ejecutar el checkinstall este nos pregunta acerca de la descripción que queremos poner al paquete, el tipo de paquete(RPM, DEB o SLACKWARE TGZ), así como el maintainer, version, licencia&#8230; Y después de indicárselo tendremos en el directorio nuestro programa en forma de paquete deb/rpm/tgz. Además el programa nos permite poner documentación que luego se instalará en /usr/share/doc, también podemos ejecutar scripts preinstall/postinstall y preremove/postremove y puede que más cosas que no he mirado.</p>
]]></content:encoded>
			<wfw:commentRss>http://batu.blogsome.com/2005/11/21/creacion-de-paquetes/feed/</wfw:commentRss>
	</item>
		<item>
		<title>Crear debs de Java</title>
		<link>http://batu.blogsome.com/2005/10/27/crear-debs-de-java/</link>
		<comments>http://batu.blogsome.com/2005/10/27/crear-debs-de-java/#comments</comments>
		<pubDate>Thu, 27 Oct 2005 11:19:42 +0000</pubDate>
		<dc:creator>BatU</dc:creator>
		
	<category>Debian</category>
		<guid>http://batu.blogsome.com/2005/10/27/crear-debs-de-java/</guid>
		<description><![CDATA[	Existe una forma cómoda, fácil y rápida de tener java (ya sea jre o jsdk) en un deb, mediante el paquete java-package de debian. Los pasos son los siguientes:
	
Instalar java-package (apt-get install java-package)
	Bajar de la web de sun el jsdk por ejemplo el jdk 5.0
	Ejecutar make-jpkg jdk-1_5_0-linux-i586.bin (lo que nos generará el .deb)
	
	Ahora ya podremos [...]]]></description>
			<content:encoded><![CDATA[	<p>Existe una forma cómoda, fácil y rápida de tener java (ya sea jre o jsdk) en un deb, mediante el paquete java-package de debian. Los pasos son los siguientes:</p>
	<ol>
<li>Instalar <i>java-package</i> (apt-get install java-package)</li>
	<li>Bajar de la web de sun el jsdk por ejemplo el <a href="http://batu.blogsome.com/go.php?u=http%3A%2F%2Fjava.sun.com%2Fj2se%2F1.5.0%2Fdownload.jsp&amp;i=0&amp;c=df0008afe5796687088fe904f9c8cdcaed1187be">jdk 5.0</a></li>
	<li>Ejecutar <i>make-jpkg jdk-1_5_0-linux-i586.bin</i> (lo que nos generará el .deb)</li>
	</ol>
	<p>Ahora ya podremos hacer <i>dpkg -i sun-j2sdk1.5_1.5.0_i386.deb</i> , lo que nos instalará el entorno  en /usr/lib/j2sdk1.5-sun.</p>
]]></content:encoded>
			<wfw:commentRss>http://batu.blogsome.com/2005/10/27/crear-debs-de-java/feed/</wfw:commentRss>
	</item>
		<item>
		<title>Configurar Gateway</title>
		<link>http://batu.blogsome.com/2005/09/20/configurar-gateway/</link>
		<comments>http://batu.blogsome.com/2005/09/20/configurar-gateway/#comments</comments>
		<pubDate>Tue, 20 Sep 2005 12:47:09 +0000</pubDate>
		<dc:creator>BatU</dc:creator>
		
	<category>GNU/Linux</category>
		<guid>http://batu.blogsome.com/2005/09/20/configurar-gateway/</guid>
		<description><![CDATA[	Lo que voy a explicar es una forma de hacer que una máquina (servidor) actúe como pasarela a internet, es decir compartir la conexión a internet entre varios equipos. Para ello nuestro servidor deberá constar de dos tarjetas de red. Una de ellas conectada a &#8220;internet&#8221; (modem) y la otra a otro equipo ya sea [...]]]></description>
			<content:encoded><![CDATA[	<p>Lo que voy a explicar es una forma de hacer que una máquina (servidor) actúe como pasarela a internet, es decir compartir la conexión a internet entre varios equipos. Para ello nuestro servidor deberá constar de dos tarjetas de red. Una de ellas conectada a &#8220;internet&#8221; (modem) y la otra a otro equipo ya sea otro pc o un switch.</p>
	<p>
Bueno pues lo primero que necesitaremos que nuestro kernel debe soportar iptables (versiones 2.4 en adelante) así como realizar nat mediante este. Para ello tenemos que tener activados los modulos<br />
ip_tables e iptable_nat. </p>
	<p>Una vez nos aseguramos de ello deberemos ejecutar lo siguiente: </p>
	<p>
<tt>iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE</tt></p>
	<p>
Donde 192.168.0.0/24 indica que redireccionaremos a toda la subred 192.168.0.0 (con máscara 255.255.255.0) y eth0 es la interfaz de red conectada a internet.</p>
	<p>Después debemos activar el ip forwarding de la ejecutando lo siguiente:</p>
	<p>
<tt>echo &#8220;1&#8243; &gt; /proc/sys/net/ipv4/ip_forward</tt></p>
	<p>
Con esto ya tenemos a nuestra máquina haciendo funciones de pasarela. Pero en este punto si reiniciamos el ordenador se perderá la configuración y tendremos que volver a ejecutar los dos comandos anteriores. Para solucionar esto los metemos en un script, algo así como:</p>
	<p>
<tt>#! /bin/sh<br />
echo -n &#8220;Iniciando Gateway&#8230; &#8220;<br />
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE</p>
	<p>echo &#8220;1&#8243; &gt; /proc/sys/net/ipv4/ip_forward<br />
echo &#8220;Iniciado.&#8221;<br />
</tt></p>
	<p>Guardamos este script como /etc/init.d/gateway, por ejemplo, le damos permisos de ejecución y creamos enlaces simbólicos a él para los runlevels que nos interesen, p. ej para el 2, como sigue:</p>
	<p><tt>ln -s /etc/init.d/gateway /etc/rc2.d/S99gateway</tt></p>
	<p>Solo resta configurar los clientes, utilizando como puerta de enlace la ip de nuestro servidor (p. ej. 192.168.0.1 en caso de que hayamos configurado esa ip en la segunda tarjeta de red de nuestro servidor) y para las DNS tenemos dos posibilidades:</p>
	<ul>
<li>Poner directamente las DNS de nuestro proveedor de servicios.</li>
	<li>Instalar bind en nuestra máquina servidor (lo que se escapa de esta explicación).</li>
	</ul>
]]></content:encoded>
			<wfw:commentRss>http://batu.blogsome.com/2005/09/20/configurar-gateway/feed/</wfw:commentRss>
	</item>
		<item>
		<title>Probando subversion</title>
		<link>http://batu.blogsome.com/2005/09/15/probando-subversion/</link>
		<comments>http://batu.blogsome.com/2005/09/15/probando-subversion/#comments</comments>
		<pubDate>Thu, 15 Sep 2005 02:07:05 +0000</pubDate>
		<dc:creator>BatU</dc:creator>
		
	<category>Varios</category>
		<guid>http://batu.blogsome.com/2005/09/15/probando-subversion/</guid>
		<description><![CDATA[	He estado trasteando un poco (bastante poco la verdad) con el tan resonado software de control de versiones Subversion y la verdad, creía que no me serviría hasta que fuera a hacer algo serio y tal, pero es muy útil y fácil de utilizar.
	Según he entendido, básicamente es un sistema de ficheros (o algo parecido) [...]]]></description>
			<content:encoded><![CDATA[	<p>He estado trasteando un poco (bastante poco la verdad) con el tan resonado software de control de versiones Subversion y la verdad, creía que no me serviría hasta que fuera a hacer algo serio y tal, pero es muy útil y fácil de utilizar.</p>
	<p>Según he entendido, básicamente es un sistema de ficheros (o algo parecido) que guarda información en una base de datos acerca de todos los cambios que se realizan sobre los ficheros añadidos a los diferentes repositorios. Un repositorio (se pueden tener todos los que se quiera) no es más, a mi entender, que un contenedor de directorios y ficheros, en el que los usuarios van guardando archivos nuevos, actualizando existentes, eliminando&#8230; dando para cada una de estas acciones comentarios sobre lo que y porque lo hacen. De esta manera el sistema subversion guarda un historial de todos esos cambios referentes a cada acción, teniendo así un alto control del proyecto. Todos estos cambios se pueden extraer en un ChangeLog.</p>
	<p>Bueno esa es la visión global que he tenido en un ratito. Dejo aquí algunos comandos para ilustrar la facilidad de este sistema:</p>
	<ul>
	<li>Crear un repositorio:
	<p><i>svnadmin create /directorio/directorio</i></li>
	<li>Importar un proyecto ya existente en un repositorio:
	<p><i>svn import /directorio/dir http://server/dir -m &#8220;Comentario&#8221;</i></p>
	<p>Los repositorios se indican con URLs (file://, http://&#8230;)
</li>
</p>
	<li>Añadir un fichero al proyecto:
	<p><i>svn add fichero<br />svn commit fichero -m &#8220;comentario&#8221;</i></p>
	<p>Con add indicamos a subversion que vamos a controlar ese fichero y con commit subimos los cambios (la primera vez pues subimos el original)</li>
	<li>Actualizar nuestra copia local de trabajo:
	<p><i>svn update</i></p>
	<p>Desde el directorio que queremos actualizar.
</li>
</ul>
	<p>Y bueno muchas más cosas interesantes. Será cuestión de intentar darle uso durante este curso, de hecho un amigo y yo ya hemos pensado usarlo para pasar a LaTeX los apuntes de matemáticas. Todo se andará.</p>
	<p>Salu2
</p>
]]></content:encoded>
			<wfw:commentRss>http://batu.blogsome.com/2005/09/15/probando-subversion/feed/</wfw:commentRss>
	</item>
	</channel>
</rss>
