<?xml version="1.0" encoding="UTF-8"?>
<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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>El blog de Rodrigo Rega</title>
	<atom:link href="http://blog.rodrigorega.es/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.rodrigorega.es</link>
	<description>blog personal de Rodrigo Rega</description>
	<lastBuildDate>Tue, 20 Jul 2010 10:19:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Instalar VMware Server 2.0.2 con kernel 2.6.32</title>
		<link>http://blog.rodrigorega.es/instalar-vmware-server-2-0-2-con-kernel-2-6-32/</link>
		<comments>http://blog.rodrigorega.es/instalar-vmware-server-2-0-2-con-kernel-2-6-32/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 17:54:39 +0000</pubDate>
		<dc:creator>Rodrigo Rega</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[cursores]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[gcc]]></category>
		<category><![CDATA[mount.ntfs-3g]]></category>
		<category><![CDATA[ntfs]]></category>
		<category><![CDATA[virtualizacion]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://blog.rodrigorega.es/?p=194</guid>
		<description><![CDATA[La instalación de VMware Server 2.0.2 en Debian SID con kernel 2.6.32 cuenta con varios impedimentos que dificultan su puesta en marcha. Tras leer diversas fuentes de información he conseguido solventar todos estos problemas. A continuación listo las dificultades con las que me topé y cómo las he solucionado: Versión de gcc no concuerda con [...]]]></description>
			<content:encoded><![CDATA[<p>La instalación de <strong>VMware Server</strong> 2.0.2 en <strong>Debian</strong> SID con <strong>kernel 2.6.32</strong> cuenta con varios impedimentos que dificultan su puesta en marcha. Tras leer diversas fuentes de información he conseguido solventar todos estos problemas. A continuación listo las dificultades con las que me topé y cómo las he solucionado:</p>
<p><span id="more-194"></span></p>
<h2>Versión de gcc no concuerda con el kernel</h2>
<p>A la hora de compilar los<strong> módulos del kernel</strong>, el instalador detecta que la versión de <strong>gcc</strong> por defecto no es la misma con la que se compiló el kernel que que se está ejecutando:</p>
<blockquote><p>Your kernel was built with &#8220;gcc&#8221; version &#8220;4.3.4&#8243;, while you are trying to use<br />
&#8220;/usr/bin/gcc&#8221; version &#8220;4.4.4&#8243;. This configuration is not recommended and<br />
VMware Server may crash if you&#8217;ll continue. Please try to use exactly same<br />
compiler as one used for building your kernel. Do you want to go with compiler<br />
&#8220;/usr/bin/gcc&#8221; version &#8220;4.4.4&#8243; anyway?</p></blockquote>
<p>Para solucionar esto, hemos de indicar que para compilar los módulos usaremos la versión 4.3 de gcc, ya que es la que más concuerda con nuestro kernel. Cancelar el instalador (ctrl+z) de VMware y en la misma terminal se introduce lo siguiente y se vuelve a iniciar el instalador:</p>
<pre style="padding-left: 30px;" class="brush:bash">export CC="/usr/bin/gcc-4.3"</pre>
<h2>Error de compilación de módulos VMware</h2>
<p>Una vez comenzada la compilación de módulos harán presencia varios <strong>errores de compilación</strong>. Para superarlos es necesario aplicar una serie de parches, éste sería el proceso:</p>
<p>- Descarga de los parches:</p>
<pre style="padding-left: 30px;" class="brush:bash">su root
mkdir /root/dev
cd /root/dev
wget http://nerdbynature.de/bits/2.6.32-22/00-vmware-2.6.32_functional.diff.txt -O vmware-2.6.32_functional.diff
wget http://nerdbynature.de/bits/2.6.32-22/02-vmnet-include.diff.txt.gz
wget http://nerdbynature.de/bits/2.6.32-22/01-vmware-2.6.32_cosmetic.diff.txt -O 01-vmware-2.6.32_cosmetic.diff
wget http://nerdbynature.de/bits/2.6.32-22/vmware-config.pl.diff.txt -O vmware-config.pl.diff
wget http://nerdbynature.de/bits/2.6.32-22/patch-vmware_2.6.3x.sh.txt -O patch-vmware_2.6.3x.sh
gunzip 02-vmnet-include.diff.txt.gz</pre>
<p>- Editar el script de parcheado: patch-vmware_2.6.3x.sh<br />
- Modificar en él la línea 53 eliminando el primer &#8220;../&#8221; de la línea, de modo que quede:</p>
<blockquote><p>$DEBUG cd ../../../bin || exit 2&#8242;</p></blockquote>
<p>- Ejecutar el script de parcheado:</p>
<pre style="padding-left: 30px;" class="brush:bash">chmod u+x patch-vmware_2.6.3x.sh
./patch-vmware_2.6.3x.sh /ruta/a/vmware-server-distrib/lib/modules/source</pre>
<h2>No funcionan las teclas de los cursores</h2>
<p>Una vez instalado todo correctamente y ya con una máquina virtual ejecutándose pude comprobar que algunas teclas <strong>no funcionaban</strong>, por ejemplo los <strong>cursores</strong>. Para arreglar esto se debe crear un archivo &#8220;<strong>config</strong>&#8221; (en caso de que existiese se debe sobreescribir) dentro del directorio $HOME/.vmware/ de cada usuario que vaya a usar <strong>VMware</strong> con el siguiente contenido:</p>
<pre style="padding-left: 30px;" class="brush:plain">xkeymap.keycode.108 = 0x138 # Alt_R
xkeymap.keycode.106 = 0x135 # KP_Divide
xkeymap.keycode.104 = 0x11c # KP_Enter
xkeymap.keycode.111 = 0x148 # Up
xkeymap.keycode.116 = 0x150 # Down
xkeymap.keycode.113 = 0x14b # Left
xkeymap.keycode.114 = 0x14d # Right
xkeymap.keycode.105 = 0x11d # Control_R
xkeymap.keycode.118 = 0x152 # Insert
xkeymap.keycode.119 = 0x153 # Delete
xkeymap.keycode.110 = 0x147 # Home
xkeymap.keycode.115 = 0x14f # End
xkeymap.keycode.112 = 0x149 # Prior
xkeymap.keycode.117 = 0x151 # Next
xkeymap.keycode.78 = 0x46 # Scroll_Lock
xkeymap.keycode.127 = 0x100 # Pause
xkeymap.keycode.133 = 0x15b # Meta_L
xkeymap.keycode.134 = 0x15c # Meta_R
xkeymap.keycode.135 = 0x15d # Menu</pre>
<p>Por último es recomendable reiniciar VMware:</p>
<pre style="padding-left: 30px;" class="brush:bash">/etc/init.d/vmware restart</pre>
<h2>mount.ntfs-3g usa el 100% de la CPU</h2>
<p>En caso de usar para nuestras máquinas virtuales una partición ntfs como medio de almacenamiento, nos encontraremos con que el proceso mount.ntfs-3g usa el 100% de la CPU haciendo que la máquina virutal VMware funcione exageradamente lenta. Para solucionarlo se debe añadir la siguiente línea al archivo de configuración general de VMware <strong>&#8220;/etc/vmware/config&#8221;</strong>:</p>
<pre style="padding-left: 30px;" class="brush:plain">mainMem.useNamedFile = "FALSE"</pre>
<p><span style="text-decoration: underline;">Fuentes</span>:</p>
<ul>
<li>http://communities.vmware.com/message/1568283#1568283</li>
<li>http://www.question-defense.com/2010/05/02/arrow-keys-not-working-in-vmware-server-2-0-guest</li>
<li>http://vmfaq.com/entry/25/</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.rodrigorega.es/instalar-vmware-server-2-0-2-con-kernel-2-6-32/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Comprimir rar multipart en Linux</title>
		<link>http://blog.rodrigorega.es/comprimir-rar-multipart-en-linux/</link>
		<comments>http://blog.rodrigorega.es/comprimir-rar-multipart-en-linux/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 19:04:45 +0000</pubDate>
		<dc:creator>Rodrigo Rega</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[comprimir]]></category>
		<category><![CDATA[multipart]]></category>
		<category><![CDATA[rar]]></category>

		<guid isPermaLink="false">http://blog.rodrigorega.es/?p=187</guid>
		<description><![CDATA[Una pequeña chuleta de cómo crear un archivo comprido rar multipart en una terminal Linux: rar a -r -s -v51200 mi_nuevo_archivo_multipart.rar "directorio_que_quiero_comprimir/" Los parámetros usados para comprimr el archivo rar en varias partes en Linux son los siguientes: a: Añadir archivos (comprimir). r: Añadir directorios recursivamente. s: Archivo sólido. Copia todos los archivos a uno [...]]]></description>
			<content:encoded><![CDATA[<p>Una pequeña chuleta de cómo crear un archivo comprido <strong>rar</strong> <strong>multipart</strong> en una terminal <strong>Linux</strong>:</p>
<pre class="brush:bash" style="padding-left: 30px;">rar a -r -s -v51200 mi_nuevo_archivo_multipart.rar "directorio_que_quiero_comprimir/"</pre>
<p>Los parámetros usados para <strong>comprimr el archivo rar en varias partes en Linux</strong> son los siguientes:</p>
<blockquote><p><strong>a:</strong> Añadir archivos (comprimir).</p>
<p><strong>r:</strong> Añadir directorios recursivamente.</p>
<p><strong>s:</strong> Archivo sólido. Copia todos los archivos a uno único antes de comprimir, aumentando así el ratio de compresión.</p>
<p><strong>v:</strong> Divide el archivo comprimido resultante en partes de 50 MB cada uno (expresado en KB).</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.rodrigorega.es/comprimir-rar-multipart-en-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Indentar XML con PHP</title>
		<link>http://blog.rodrigorega.es/indentar-xml-con-php/</link>
		<comments>http://blog.rodrigorega.es/indentar-xml-con-php/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 13:09:38 +0000</pubDate>
		<dc:creator>Rodrigo Rega</dc:creator>
				<category><![CDATA[Desarrollo web]]></category>
		<category><![CDATA[funcion]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programacion]]></category>
		<category><![CDATA[simplexml]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://blog.rodrigorega.es/?p=177</guid>
		<description><![CDATA[Trabajar con archivos XML en PHP es realmente cómodo gracias a SimpleXML. Por desgracia los archivos .xml que genera no son &#8220;human-readable&#8221;. En el caso de necesitar consultar algún dato manualmente en el archivo .xml, nos encontraremos con que no cuenta con saltos de línea y por extensión está sin indentar. Para solucionar este problema [...]]]></description>
			<content:encoded><![CDATA[<p>Trabajar con archivos <a title="xml" href="http://es.wikipedia.org/wiki/XML">XML</a> en <a title="php" href="http://es.wikipedia.org/wiki/Php">PHP</a> es realmente cómodo gracias a <a href="http://php.net/manual/en/book.simplexml.php">SimpleXML</a>. Por desgracia los archivos .xml que genera no son &#8220;human-readable&#8221;. En el caso de necesitar consultar algún dato manualmente en el archivo .xml, nos encontraremos con que no cuenta con saltos de línea y por extensión está sin <strong>indentar</strong>.</p>
<p>Para solucionar este problema he usado esta pequeña función que se encarga de <strong>formatear un archivo XML</strong>.</p>
<pre class="brush:php" style="padding-left: 30px;">function formatXml($archivoXml) {
    $doc = new DOMDocument();
    $doc-&gt;preserveWhiteSpace = false;
    $doc-&gt;formatOutput = true;
    $doc-&gt;load($archivoXml);
    $doc-&gt;save($archivoXml);
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.rodrigorega.es/indentar-xml-con-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Crackear captchas sencillos</title>
		<link>http://blog.rodrigorega.es/crackear-captchas-sencillos/</link>
		<comments>http://blog.rodrigorega.es/crackear-captchas-sencillos/#comments</comments>
		<pubDate>Wed, 26 May 2010 02:35:58 +0000</pubDate>
		<dc:creator>Rodrigo Rega</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Seguridad informática]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[captcha]]></category>
		<category><![CDATA[gocr]]></category>
		<category><![CDATA[ocr]]></category>
		<category><![CDATA[seguridad]]></category>

		<guid isPermaLink="false">http://blog.rodrigorega.es/?p=146</guid>
		<description><![CDATA[Los captchas ﻿(Completely Automated Public Turing test to tell Computers and Humans Apart) están ampliamente extendidos hoy en día. Cualquier aplicación web con cierto nivel de seguridad que permita entrada de datos a usuarios no autentificados debería contar con un captcha para dificultar ataques de fuerza bruta. La mayoría de los captchas suelen ser visuales, [...]]]></description>
			<content:encoded><![CDATA[<p>Los captchas ﻿(Completely Automated Public Turing test to tell Computers and Humans Apart) están ampliamente extendidos hoy en día. Cualquier aplicación web con cierto nivel de seguridad que permita entrada de datos a usuarios no autentificados debería contar con un captcha para dificultar ataques de fuerza bruta. La mayoría de los captchas suelen ser visuales, en ellos se ha de escribir en un campo de texto los caracteres mostrados en una imagen. Pero el hecho de tener un captcha en una aplicación no significa que automáticamente estemos a salvo de ataques de fuerza bruta.</p>
<p>Un captcha visual débil resulta sencillo de romper gracias a programas de reconocimiento óptico de caracteres (OCR). Un captcha visual que resulte difícil de crackear debe contar con diferentes fuentes tipográficas, tamaños, colores, caracteres distorsionados y ruido en el fondo.</p>
<div id="attachment_148" class="wp-caption aligncenter" style="width: 234px"><a href="http://blog.rodrigorega.es/wp-content/uploads/2010/05/6a0120a85dcdae970b012877702aa5970c.png"><img class="size-full wp-image-148 " title="Ejemplo de un buen captcha" src="http://blog.rodrigorega.es/wp-content/uploads/2010/05/6a0120a85dcdae970b012877702aa5970c.png" alt="Ejemplo de un buen captcha" width="224" height="57" /></a><p class="wp-caption-text">Ejemplo de un buen captcha</p></div>
<p>En esta entrada me gustaría mostrar lo sencillo que resulta el crackeo de un captcha débil. Para ello voy a exponer un caso real, omitiendo la dirección de la página web en cuestión. Se trata de una página que permite a sus usuarios hacer pública cierta información en forma de código. Este proceso se realiza anonimamente y sin ningún tipo de autentificación,  tan sólo cuenta con el siguiente captcha:</p>
<div id="attachment_151" class="wp-caption aligncenter" style="width: 292px"><a href="http://blog.rodrigorega.es/wp-content/uploads/2010/05/captchadebil1.png"><img class="size-full wp-image-151" title="captcha debil que romperemos" src="http://blog.rodrigorega.es/wp-content/uploads/2010/05/captchadebil1.png" alt="captcha debil que romperemos" width="282" height="99" /></a><p class="wp-caption-text">captcha debil que romperemos</p></div>
<p>A simple vista se aprecia que el captcha no aporta gran seguridad gracias a sus caracteres perfectamente definidos.</p>
<h2>Ejemplo práctico de crackeo de captcha débil</h2>
<p>Para crackearlo usaremos el programa <a href="http://jocr.sourceforge.net/">GOCR</a>, el cual es open souce y en Linux se puede instalar desde las fuentes habituales.</p>
<p>Este programa requiere un &#8220;entrenamiento&#8221; previo para reconocer los caracteres, por lo que será lo que hemos de hacer en primer lugar:</p>
<pre style="padding-left: 30px;" class="brush:bash">mkdir ocrdb
gocr -d 2 -p ./ocrdb/ -m 256 -m 130 captcha.png</pre>
<p>La ruta ./ocrdb/ será en dónde se guardarán los datos que genere gocr a partir de su &#8220;entrenamiento&#8221;, este directorio lo tenemos que crear manualmente. &#8216;captcha.png&#8217; es el captcha que crackearemos. Al ejecutar este comando, nos encontraremos con lo siguiente:</p>
<div id="attachment_150" class="wp-caption aligncenter" style="width: 554px"><a href="http://blog.rodrigorega.es/wp-content/uploads/2010/05/gocr-entrenamiento.png"><img class="size-full wp-image-150" title="Entrenamiento de gocr" src="http://blog.rodrigorega.es/wp-content/uploads/2010/05/gocr-entrenamiento.png" alt="Entrenamiento de gocr" width="544" height="434" /></a><p class="wp-caption-text">Entrenamiento de gocr</p></div>
<p>En esta captura vemos como gocr nos pregunta por la primera letra, en este caso una &#8220;V&#8221;. La letra por la que nos pregunte en cada momento estará pintada con corchetes &#8216;#&#8217;, las demás con &#8216;O&#8217;. Al introducir la letra &#8220;V&#8221; continuará con las siguientes letras del captcha. Este proceso lo tendremos que repetir cuantas más veces mejor, hasta que gocr sea capaz de entender el captcha sin nuestra ayuda. Por lo que tendremos que ejecutar el comando bastantes veces, para agilizar el proceso podemos usar el siguiente script:</p>
<pre style="padding-left: 30px;" class="brush:bash">#!/bin/bash
while [ 1 ]; do
        wget -O captcha.png http:/servidor-ejemplo.com/captcha_gen.php ;
        gocr -d 2 -p ./ocrdb/ -m 256 -m 130 captcha.png ;
done</pre>
<p>Cuando gocr sea capaz de descifrar la mayoría de captchas por si mismo pulsamos ctrl+c para detener el script. Lo siguiente sería poner a prueba el programa:</p>
<pre style="padding-left: 30px;" class="brush:bash">gocr -p ./ocrdb/ -m 256 -m 2 captcha.png</pre>
<p>Este sería el método general para usar gocr, pero en el ejemplo que he propuesto es poco útil. Vamos a crear un script que se encargue del crackeo del captcha y del envío de nuestros códigos a la página con wget:</p>
<pre style="padding-left: 30px;" class="brush:bash">#!/bin/bash
# este será el código que se le enviará a la web
miCodigo='XPEYWZA-002'

# urls de la página. La general y la que recibe los datos por POST
url='http:/servidor-ejemplo.com'
postUrl='http:/servidor-ejemplo.com/add-code.php'

# rutas temporales de trabajo
dirActual=`pwd`
dirTrabajo='/tmp/captcha'

# si existe el directorio temporal lo borramos
if [ -d "$dirTrabajo" ]; then
        rm -Rf $dirTrabajo
fi
mkdir $dirTrabajo
cd $dirTrabajo

# hacemos una primera petición a la web guardando cookies
wget --save-cookies $dirTrabajo/cookies.txt --keep-session-cookies \
        -r $url

# renombrarmos el captcha, realizamos el OCR y eliminamos los espacios en blanco
mv captcha.php captcha.png
captchaResuelto=`gocr -p $dirActual/ocrdb/ -m 256 -m 2 captcha.png`
captchaResuelto=${captchaResuelto/ /}
echo 'CAPTCHA RESUELTO:' $captchaResuelto

# envíamos por POST el código a añadir y el resultado del captcha,
# teniendo en cuenta las cookies y datos de sesión
wget --post-data="add=$miCodigo&amp;captcha_code=$captchaResuelto" \
                --keep-session-cookies --load-cookies $dirTrabajo/cookies.txt \
                $postUrl
cd $dirActual</pre>
<p>Este script lo guardaremos el el mismo directorio en el que tenemos &#8220;ocrdb/&#8221;. Le podríamos añadir algunas comprobaciones de respuesta de la web, algún bucle para repetir el envío, ejecutarlo cada X tiempo vía crontab, etc. Pero eso se sale de las pretensiones de esta entrada.</p>
<p><em>Nota: Las urls de los scripts están mal formadas intencionadamente (http:/) para que el resaltador de código no las incluya como enlaces.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rodrigorega.es/crackear-captchas-sencillos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Waiting for Xdebug session en Eclipse</title>
		<link>http://blog.rodrigorega.es/waiting-for-xdebug-session-en-eclipse/</link>
		<comments>http://blog.rodrigorega.es/waiting-for-xdebug-session-en-eclipse/#comments</comments>
		<pubDate>Mon, 24 May 2010 01:46:12 +0000</pubDate>
		<dc:creator>Rodrigo Rega</dc:creator>
				<category><![CDATA[Desarrollo web]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[xdebug]]></category>

		<guid isPermaLink="false">http://blog.rodrigorega.es/?p=136</guid>
		<description><![CDATA[Tras la instalación y configuración de Xdebug  para el IDE Eclipse PDT, me encontré que a la hora de lanzar el debug de una aplicación PHP el debug no se llevaba a cabo. El proceso permanecía en el 57% con el mensaje &#8220;﻿﻿Waiting for Xdebug session&#8220;. Dicho error es producido por la configuración por defecto [...]]]></description>
			<content:encoded><![CDATA[<p>Tras la instalación y configuración de Xdebug  para el IDE Eclipse PDT, me encontré que a la hora de lanzar el debug de una aplicación PHP el debug no se llevaba a cabo. El proceso permanecía en el 57% con el mensaje &#8220;<strong>﻿﻿Waiting for Xdebug session</strong>&#8220;.</p>
<p>Dicho error es producido por la configuración por defecto de java en Debian. Al comprobar los servicios a la escucha, el puerto 9000 (eclipse) está escuchando sobre ipv6:</p>
<pre class="brush:bash" style="padding-left: 30px;">netstat -anp -t tcp | grep 9000</pre>
<div>la salida de netstat nos devuelve:</div>
<blockquote><p><code><strong>tcp6</strong> 0 0 :::<strong>9000</strong> :::*  LISTEN  4390/java</code></p></blockquote>
<p>Para solucionar dicho problema será necesario  modificar el siguiente archivo:</p>
<blockquote><p><code>/etc/sysctl.d/bindv6only.conf</code></p></blockquote>
<p>Localizar la siguiente línea:</p>
<blockquote><p>﻿net.ipv6.bindv6only = 1</p></blockquote>
<p>sustituirla por esta que sigue:</p>
<blockquote><p>net.ipv6.bindv6only = 0</p></blockquote>
<p>a continuación ejecutar:</p>
<pre class="brush:bash" style="padding-left: 30px;">sysctl -p /etc/sysctl.d/bindv6only.conf</pre>
<p>por último reiniciar Eclipse. </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rodrigorega.es/waiting-for-xdebug-session-en-eclipse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows no aparece en Grub2 de Debian</title>
		<link>http://blog.rodrigorega.es/windows-no-aparece-en-grub2-de-debian/</link>
		<comments>http://blog.rodrigorega.es/windows-no-aparece-en-grub2-de-debian/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 17:13:31 +0000</pubDate>
		<dc:creator>Rodrigo Rega</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[grub]]></category>
		<category><![CDATA[os-prober]]></category>

		<guid isPermaLink="false">http://blog.rodrigorega.es/?p=127</guid>
		<description><![CDATA[Tal y como comentaba en la anterior entrada, hace poco que realicé una instalación de Debian con su posterior actualización a la rama Inestable &#8220;Sid&#8220;. Tras esto se instaló como gestor de arranque grub2, trayendo consigo la sorpresa de que no había detectado la instalación de Windows 7 que tengo en otra partición del disco [...]]]></description>
			<content:encoded><![CDATA[<p>Tal y como comentaba en la <a href="http://blog.rodrigorega.es/refusing-to-mount-device-en-kde-4-3-4/">anterior entrada</a>, hace poco que realicé una instalación de <strong>Debian </strong>con su posterior actualización a la rama <strong>Inestable </strong>&#8220;<strong>Sid</strong>&#8220;. Tras esto se instaló como gestor de arranque <strong>grub2</strong>, trayendo consigo la sorpresa de que no había detectado la instalación de<strong> Windows 7</strong> que tengo en otra partición del disco duro.</p>
<p>Para que <strong>grub2 </strong>nos detecte la partición de Windows (sea windows xp, vista ó windows 7) sencillamente hemos de hacer lo siguiente:</p>
<p>Abrimos una consola y como super-usuario hacemos lo siguiente:</p>
<pre class="brush:shell">
# apt-get install os-prober
# update-grub2
</pre>
<p><strong>os-prober</strong> se encargará de generar un archivo &#8220;/etc/grub.d/30_os-probe&#8221; mediante el cual se detectarán los sitemas operativos y que usará grub para su menu de arranque.</p>
<p>Sólo faltaría reiniciar el sistema y comprobar que grub ha añadido automáticamente nuestra partición de windows al menú de arranque.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rodrigorega.es/windows-no-aparece-en-grub2-de-debian/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Refusing to mount device en KDE 4.3.4</title>
		<link>http://blog.rodrigorega.es/refusing-to-mount-device-en-kde-4-3-4/</link>
		<comments>http://blog.rodrigorega.es/refusing-to-mount-device-en-kde-4-3-4/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 05:01:03 +0000</pubDate>
		<dc:creator>Rodrigo Rega</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[hal]]></category>
		<category><![CDATA[kde]]></category>
		<category><![CDATA[montar]]></category>
		<category><![CDATA[mount]]></category>
		<category><![CDATA[ntfs]]></category>
		<category><![CDATA[particion]]></category>

		<guid isPermaLink="false">http://blog.rodrigorega.es/?p=112</guid>
		<description><![CDATA[He sido usuario de Kubuntu durante varios años, lo he tenido como sistema operativo de uso diario en mi portátil. Con la llegada de Kubuntu 9.10 me encontré con que KDE4 funcionaba inexplicablemente lento, el simple hecho de cambiar de ventana se le hacía cuesta arriba. A raíz de ello estuve usando GNOME durante un par [...]]]></description>
			<content:encoded><![CDATA[<p>He sido usuario de <strong>Kubuntu</strong> durante varios años, lo he tenido como sistema operativo de uso diario en mi portátil. Con la llegada de Kubuntu 9.10 me encontré con que <strong>KDE4</strong> funcionaba inexplicablemente lento, el simple hecho de cambiar de ventana se le hacía cuesta arriba. A raíz de ello estuve usando <strong>GNOME</strong> durante un par de meses, resultando una experiencia agradable en cuanto a rendimiento general del sistema, pero seguía echando de menos la comodidad que da <strong>KDE</strong> en determinadas situaciones.</p>
<p>Antes de ser usuario de Ubuntu lo era de <strong>Debian</strong>, de la rama <strong>SID</strong> en concreto, así que decidí a volver a ella. La instalación es sencilla con algún problema sin demasiada repercusión al actualizar a inestable. El mayor problema con el que me encontré fue que el navegador de archivos de KDE, <strong>Dolphin</strong>, no era capaz de montar las unidades internas <strong>NTFS</strong> con un usuario estándar (no root). Al hacer click en el icono de uno de los discos duros daba el siguiente error:</p>
<blockquote><p><code>Se produjo un error mientras se accedía a "almacén", el sistema respondió: org.freedesktop.Hal.Device.Volume.PermissionDenied: Refusing to mount device /dev/sda1 for uid=1000.</code></p></blockquote>
<p><code>Después de rebuscar durante un buen rato en google, encontré que el problema es que es enecesario pasar al servicio <strong>HAL</strong> los parámetros que acepta <strong>ntfs-3g</strong>, en concreto necesita la opción "﻿locale=". Una forma de añadir este parámetro a la configuración de HAL sería editando el archivo "/usr/share/hal/fdi/policy/10osvendor/20-storage-methods.fdi" y añadir en el apartado de NTFS lo siguiente: ﻿&lt;append key="volume.mount.valid_options" type="strlist"&gt;locale=&lt;/append&gt;. Pero se puede hacer de una manera más visual:</code></p>
<p><code> </code></p>
<blockquote><p><code></code></p>
<p><code></code></p>
<p><code></p>
<li>Abrir una consola de super usuario e instalar ntfs-3g en caso de que no lo tengamos ya: # <strong>apt-get install ntfs-3g</strong></li>
<li>Instalar ntfs-config: # <strong>apt-get install ntfs-config</strong></li>
<li>Ejecutar ntfs-config como root vía alt+F2: <strong>kdesu ntfs-config</strong></li>
<li>Marcar las opciones de soporte de escritura en los dispositivos externos e internos, cerrar dicha ventana.</li>
<p></code></p></blockquote>
<p>Después de estos sencillos pasos es recomendable reiniciar el sistema y tendremos las unidades internas de nuestro PC habilitadas para ser montadas por un usuario sin privilegios de administrador desde <strong>Dolphin</strong>.</p>
<p><span style="text-decoration: underline;">Referencias:</span></p>
<ul>
<li><a href="http://kubuntuforums.net/forums/index.php?topic=3105669.0">http://kubuntuforums.net/forums/index.php?topic=3105669.0</a></li>
<li><a href="https://bugs.launchpad.net/ubuntu/+source/ntfs-3g/+bug/395079">https://bugs.launchpad.net/ubuntu/+source/ntfs-3g/+bug/395079</a></li>
<li><a href="https://bugs.launchpad.net/ubuntu/+source/hal/+bug/78370">https://bugs.launchpad.net/ubuntu/+source/hal/+bug/78370</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.rodrigorega.es/refusing-to-mount-device-en-kde-4-3-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reparar partición ntfs desde linux</title>
		<link>http://blog.rodrigorega.es/reparar-particion-ntfs-desde-linux/</link>
		<comments>http://blog.rodrigorega.es/reparar-particion-ntfs-desde-linux/#comments</comments>
		<pubDate>Thu, 26 Nov 2009 21:47:01 +0000</pubDate>
		<dc:creator>Rodrigo Rega</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.rodrigorega.es/?p=109</guid>
		<description><![CDATA[Recientemente he reinstalado los sistemas operativos de mi portátil, tanto Windows como Linux. Aproveché a su vez para reorganizar las particiones de disco. Tiempo atrás había tenido algunos problemas con una partición ntfs pero se habían subsanado en mayor o menor medida. A raiz de esto, a la hora de particionar con gparted el programa [...]]]></description>
			<content:encoded><![CDATA[<p>Recientemente he reinstalado los sistemas operativos de mi portátil, tanto Windows como Linux. Aproveché a su vez para reorganizar las particiones de disco. Tiempo atrás había tenido algunos problemas con una partición <strong>ntfs</strong> pero se habían subsanado en mayor o menor medida. A raiz de esto, a la hora de particionar con gparted el programa no detectaba la estructura del disco. Finalmente pude reparticionar con el <strong>Acronis</strong> incluído en Hiren&#8217;s Boot.</p>
<p>Una vez reinstalados los sistemas operativos, me encuentro con que no podía acceder desde Linux a la partición <strong>ntfs</strong> mencionada anteriormente. Después de una búsqueda en los repositorios, encontré el paquete <strong>ntfsprogs</strong>, que entre otras utilidades incluye una para <strong>reparar particiones</strong>.</p>
<blockquote><p># <strong>apt-cache show ntfsprogs</strong><br />
Herramientas para realizar cosas interesantes en particiones NTFS desde Linux<br />
El proyecto Linux-NTFS (http://www.linux-ntfs.org/) intenta conseguir<br />
poder usar completamente el sistema de archivos NTFS desde el sistema<br />
operativo Linux.</p></blockquote>
<p>Concretamente me interesa la utilidad ntfsfix:</p>
<blockquote><p><strong>ntfsfix</strong> &#8211; <strong>Arregla errores </strong>comunes en el sistema de archivos y fuerza a Windows a comprobar <strong>NTFS</strong></p></blockquote>
<p>La forma de utilizarlo es de lo más sencillo:</p>
<blockquote><p># <strong>ntfsfix /dev/sda1</strong></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.rodrigorega.es/reparar-particion-ntfs-desde-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cursores en vmware bajo Ubuntu</title>
		<link>http://blog.rodrigorega.es/cursores-en-vmware-bajo-ubuntu/</link>
		<comments>http://blog.rodrigorega.es/cursores-en-vmware-bajo-ubuntu/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 10:53:05 +0000</pubDate>
		<dc:creator>Rodrigo Rega</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://blog.rodrigorega.es/?p=101</guid>
		<description><![CDATA[En Ubuntu 9.04 no fucionan correctamente ni los cursores ni  avance y retroceso de página en vmware. Esto tiene una fácil solución: echo 'xkeymap.nokeycodeMap = true' &#62; ~/.vmware/config Tan solo faltaría reiniciar vmware.]]></description>
			<content:encoded><![CDATA[<p>En Ubuntu 9.04 no fucionan correctamente ni los cursores ni  avance y retroceso de página en vmware. Esto tiene una fácil solución:</p>
<pre class="brush:bash" style="padding-left: 30px;">echo 'xkeymap.nokeycodeMap = true' &gt; ~/.vmware/config</pre>
<p>Tan solo faltaría reiniciar vmware.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rodrigorega.es/cursores-en-vmware-bajo-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Proxy socks vía tunel SSH para navegar seguro</title>
		<link>http://blog.rodrigorega.es/proxy-socks-via-tunel-ssh-para-navegar-seguro/</link>
		<comments>http://blog.rodrigorega.es/proxy-socks-via-tunel-ssh-para-navegar-seguro/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 18:56:34 +0000</pubDate>
		<dc:creator>Rodrigo Rega</dc:creator>
				<category><![CDATA[Seguridad informática]]></category>
		<category><![CDATA[cifrado]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[seguridad]]></category>
		<category><![CDATA[socks]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://blog.rodrigorega.es/?p=95</guid>
		<description><![CDATA[Hoy en día no es raro que nos conectemos a Internet desde redes no seguras: cafeterías, universidades, etc. Esto puede conllevar que nuestros datos sean interceptados fácilmente por terceras personas. Un espía podría atacarnos desde varios frentes; por un lado, estando en nuestra red local y ejecutando un sniffer apoyado en un ataque man in [...]]]></description>
			<content:encoded><![CDATA[<p>Hoy en día no es raro que nos conectemos a Internet desde redes no seguras: cafeterías, universidades, etc. Esto puede conllevar que nuestros datos sean interceptados fácilmente por terceras personas. Un espía podría atacarnos desde varios frentes; por un lado, estando en nuestra red local y ejecutando un <strong>sniffer </strong>apoyado en un ataque man in the middle; y por otro lado podría estar fuera de nuestra red local capturando el tráfico <strong>wifi </strong>cifrado para a posteriori descifrarlo con la clave adecuada.</p>
<p>Ante estos dos ataques contra la privacidad se puede utilizar un <strong>proxy </strong>con cifrado para que nuestros datos viajen através de la red local no segura de forma segura. Una de las formas más rápidas de conseguir esto es utilizando conexiones <strong>SSH</strong>. Tan sólo deberemos tener un cuenta <strong>SSH </strong>en un servidor de confianza y lanzar la conexión de la siguiente manera:</p>
<pre style="padding-left: 30px;" class="brush:bash">ssh -N -C -D 9999 NOMBRE_USUARIO@IP_SERVIDODR_SSH -p PUERTO</pre>
<p>donde:</p>
<p style="padding-left: 30px;"><strong>-N</strong> no iniciar sesión de shell</p>
<p style="padding-left: 30px;"><strong>-C</strong> habilitar compresión</p>
<p style="padding-left: 30px;"><strong>-D</strong> puerto local para crear el tunel</p>
<p style="padding-left: 30px;"><strong>-p</strong> puerto remoto del servidor ssh (si no se indica este modificador asume el 22)</p>
<p>Después de realizar la conexión la dejaremos abierta mientras estemos usando el <strong>proxy</strong>. Sólo faltaría configurar en nuestro navegador web el <strong>proxy SOCKS</strong> como &#8220;localhost&#8221; por el puerto 9999.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rodrigorega.es/proxy-socks-via-tunel-ssh-para-navegar-seguro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
