<?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>kix&#039;s notepad &#187; Linux</title>
	<atom:link href="http://www.kix.es/blog/category/espanol/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.kix.es/blog</link>
	<description>- x -</description>
	<lastBuildDate>Sat, 24 Dec 2011 00:18:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Renombrando mp3</title>
		<link>http://www.kix.es/blog/2010/12/09/renombrando-mp3/</link>
		<comments>http://www.kix.es/blog/2010/12/09/renombrando-mp3/#comments</comments>
		<pubDate>Thu, 09 Dec 2010 19:45:09 +0000</pubDate>
		<dc:creator>kix</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.kix.es/blog/?p=92</guid>
		<description><![CDATA[Hace mucho mucho tiempo, en un lejano servidor, a alguien se le ocurrió crear el formato mp3. Entonces, todo hijo de vecino se puso manos a la obra y empezó a tener cieeentos de ficheros de este tipo con toda la música que ya tenía en CD. El tema es que con el paso del [...]]]></description>
			<content:encoded><![CDATA[<p>Hace mucho mucho tiempo, en un lejano servidor, a alguien se le ocurrió crear el formato mp3. Entonces, todo hijo de vecino se puso manos a la obra y empezó a tener cieeentos de ficheros de este tipo con toda la música que ya tenía en CD.</p>
<p>El tema es que con el paso del tiempo aparecieron las aplicaciones informáticas que permitían, además de reproducir los ficheros mp3, gestionarlos. Para ello utilizaban la información de la cabecera ID3 de los ficheros mp3. Por ello fue necesario editar estas cabeceras y ponerlas correctamente.</p>
<p>Bien, el caso que nos ocupa es, <strong>como cambiar el nombre del fichero mp3, en base a la información ID3,</strong> por ejemplo para reproducirla en dispositivos que utilizan el nombre del fichero y no la información ID3. La solución es muy sencilla. Una vez que la información ID3 está correcta, se utilizará (en Linux) el comando <code>mp3rename</code></p>
<p>Para ello, primero guardamos el formato que queremos utilizar, por ejemplo &#8220;Autor&#8221;-&#8221;Album&#8221;-Título de la Canción&#8221;:</p>
<p><code>mp3rename -s \&#038;a-\&#038;b-\&#038;t</code></p>
<p>Una vez fijado el formato, se puede aplicar (en un directorio con ficheros mp3, de la siguiente forma:</p>
<p><code>mp3rename *.mp3</code></p>
<p>En mi caso, sólo necesito &#8220;Número de pista&#8221;-&#8221;Título&#8221;:</p>
<p><code>mp3rename -s \&#038;k-\&#038;t</code><br />
<code>mp3rename *.mp3</code></p>
<p>Puedes ver que los números de las canciones no quedan bien ordenadas, porque si hay 12 canciones, aparecerán como:</p>
<p><code>1-bla.mp3<br />
10-ble.mp3<br />
11-bli.mp3<br />
12-blo.mp3<br />
2-blu.mp3<br />
...<br />
</code></p>
<p>Siendo lo correcto:</p>
<p><code>01-bla.mp3<br />
02-blu.mp3<br />
...<br />
10-ble.mp3<br />
11-bli.mp3<br />
12-blo.mp3<br />
</code></p>
<p>Para ello, es necesario utilizar la opción &#8220;-p&#8221; (padding) al ejecutar <code>mp3rename -p *.mp3</code></p>
<p>Si por último usas debian, verás que la opción &#8220;-p&#8221; no funciona. La solución pasa por aplicar el simple parche siguiente:</p>
<p>En el fichero mp3rename.c:</p>
<p><code>47c47<br />
<   while ((ch = getopt(argc, argv, "vfhsbia")) != -1)<br />
---<br />
>   while ((ch = getopt(argc, argv, "vfhsbiap")) != -1)<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kix.es/blog/2010/12/09/renombrando-mp3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Problemas con grub y kernel 2.6.32-5 en debian</title>
		<link>http://www.kix.es/blog/2010/06/19/problemas-con-grub-y-kernel-2-6-32-5-en-debian/</link>
		<comments>http://www.kix.es/blog/2010/06/19/problemas-con-grub-y-kernel-2-6-32-5-en-debian/#comments</comments>
		<pubDate>Sat, 19 Jun 2010 09:59:29 +0000</pubDate>
		<dc:creator>kix</dc:creator>
				<category><![CDATA[Español]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.kix.es/blog/?p=86</guid>
		<description><![CDATA[Nuevos problemas &#8230; Cuando actualizas a esta versión del kernel (supongo que a otras también), el grub no hace bien su trabajo y dice algo maravilloso: # dpkg-reconfigure grub-pc Installation finished. No error reported. /usr/sbin/grub-probe: error: cannot find a device for / (is /dev mounted?). A veces nos brinda otras lindezas del tipo: Running update-grub. [...]]]></description>
			<content:encoded><![CDATA[<p>Nuevos problemas &#8230;</p>
<p>Cuando actualizas a esta versión del kernel (supongo que a otras también), el grub no hace bien su trabajo y dice algo maravilloso:</p>
<p><code># dpkg-reconfigure grub-pc<br />
Installation finished. No error reported.<br />
/usr/sbin/grub-probe: error: cannot find a device for / (is /dev mounted?).</code></p>
<p>A veces nos brinda otras lindezas del tipo:</p>
<p><code>Running update-grub.<br />
/usr/sbin/grub-probe: error: cannot find a device for / (is /dev mounted?).</code></p>
<p>Después de leer bastantes cosas, parece que lo más sencillo es que tengas instalado la versión del kernel <code>linux-image-2.6.32-trunk-amd64</code>, que parece la culpable de la historia. Para ello:</p>
<ol>
<li>Se arranca el sistema con otro kernel que no sea la versión trunk</li>
<li>Se desinstala la versión trunk: <code>dpkg --purge  linux-image-2.6.32-trunk-amd64</code></li>
<li>Se ejecuta el upgrade de grub, por ejemplo: <code>update-grub2</code> o bien con <code>dpkg-reconfigure grub-pc</code></li>
</ol>
<p> <img src='http://www.kix.es/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.kix.es/blog/2010/06/19/problemas-con-grub-y-kernel-2-6-32-5-en-debian/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>vmware y kernel upgrade</title>
		<link>http://www.kix.es/blog/2010/06/19/vmware-y-kernel-upgrade/</link>
		<comments>http://www.kix.es/blog/2010/06/19/vmware-y-kernel-upgrade/#comments</comments>
		<pubDate>Sat, 19 Jun 2010 09:51:15 +0000</pubDate>
		<dc:creator>kix</dc:creator>
				<category><![CDATA[Español]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.kix.es/blog/?p=82</guid>
		<description><![CDATA[Cuando cambias de kernel, vmware necesita generar nuevos módulos. Para hacerlo: Primero se instala una nueva versión de los ficheros &#8220;header&#8221; del kernel, por ejemplo: apt-get install linux-headers-2.6.32-5-amd64 Luego, se ejecuta la actualización de los módulos de vmware: vmware-modconfig --console --install-all A correr.]]></description>
			<content:encoded><![CDATA[<p>Cuando cambias de kernel, vmware necesita generar nuevos módulos. Para hacerlo:</p>
<p>Primero se instala una nueva versión de los ficheros &#8220;header&#8221; del kernel, por ejemplo:</p>
<p><code>apt-get install linux-headers-2.6.32-5-amd64</code></p>
<p>Luego, se ejecuta la actualización de los módulos de vmware:</p>
<p><code>vmware-modconfig --console --install-all</code></p>
<p>A correr.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kix.es/blog/2010/06/19/vmware-y-kernel-upgrade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Copiar ficheros y directorios recursivamente</title>
		<link>http://www.kix.es/blog/2010/06/16/copiar-ficheros-y-directorios-recursivamente/</link>
		<comments>http://www.kix.es/blog/2010/06/16/copiar-ficheros-y-directorios-recursivamente/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 22:10:45 +0000</pubDate>
		<dc:creator>kix</dc:creator>
				<category><![CDATA[Español]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.kix.es/blog/?p=79</guid>
		<description><![CDATA[¿Qué hacer cuando queremos copiar gran cantidad de ficheros y directorios recursivamente, a veces entre sistemas de ficheros diferentes, por ejemplo al mover de un disco duro a otro? En estos casos yo he utilizado muchas veces &#8220;mc&#8220;, el comandante de medianoche que está inspirado en el mítico &#8220;Comandante Norton&#8221; de las utilidades Norton de [...]]]></description>
			<content:encoded><![CDATA[<p>¿Qué hacer cuando queremos copiar gran cantidad de ficheros y directorios recursivamente, a veces entre sistemas de ficheros diferentes, por ejemplo al mover de un disco duro a otro? En estos casos yo he utilizado muchas veces &#8220;<a href="http://www.midnight-commander.org/">mc</a>&#8220;, el comandante de medianoche que está inspirado en el mítico &#8220;Comandante Norton&#8221; de las utilidades Norton de MS-DOS.</p>
<p>Otra opción es utilizar &#8220;<em>tar</em>&#8220;, una de las formas es la siguiente:</p>
<p><code>tar cf - * | ( cd /destino; tar xfp -)</code></p>
<p>Donde &#8220;destino&#8221; es el directorio destino. Pero, ¿porqué copiar con &#8220;<em>tar</em>&#8221; y no directamente con el comando &#8220;<em>cp</em>&#8220;? La razón es mantener la información del fichero, como las fechas, permisos de usuario, usuario, grupo, etc.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kix.es/blog/2010/06/16/copiar-ficheros-y-directorios-recursivamente/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Historias de Qt &#8230; por la niñera</title>
		<link>http://www.kix.es/blog/2010/02/05/historias-de-qt-por-la-ninera/</link>
		<comments>http://www.kix.es/blog/2010/02/05/historias-de-qt-por-la-ninera/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 20:57:47 +0000</pubDate>
		<dc:creator>kix</dc:creator>
				<category><![CDATA[Español]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.kix.es/blog/?p=62</guid>
		<description><![CDATA[A días que uno piensa si debe tirarse al tren o a la taquillera, hoy tengo uno de ellos: Important: Widgets in a layout are children of the widget on which the layout is installed, not of the layout itself. Widgets can only have other widgets as parent, not layouts. Entre el cálculo de relaciones [...]]]></description>
			<content:encoded><![CDATA[<p>A días que uno piensa si debe tirarse al tren o a la taquillera, hoy tengo uno de ellos:</p>
<blockquote><p>Important: Widgets in a layout are children of the widget on which the layout is installed, not of the layout itself. Widgets can only have other widgets as parent, not layouts.</p></blockquote>
<p>Entre el cálculo de relaciones entre redes y sus subredes en el trabajo y el cálculo de widgets y sus hijos en casa &#8230; estoy de padres e hijos hasta el gorro.</p>
<p>&#8230; en fin &#8230; continuemos.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kix.es/blog/2010/02/05/historias-de-qt-por-la-ninera/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How 2 debug usb @ linux kernel</title>
		<link>http://www.kix.es/blog/2010/01/10/how-2-debug-usb-linux-kernel/</link>
		<comments>http://www.kix.es/blog/2010/01/10/how-2-debug-usb-linux-kernel/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 15:12:24 +0000</pubDate>
		<dc:creator>kix</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Español]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.kix.es/blog/?p=56</guid>
		<description><![CDATA[#!/bin/bash mount -t debugfs none_debugs /sys/kernel/debug modprobe usbmon ls /sys/kernel/debug/usbmon cat /proc/bus/usb/devices cat /sys/kernel/debug/usbmon/1t 1t is my device]]></description>
			<content:encoded><![CDATA[<p><code><br />
#!/bin/bash<br />
mount -t debugfs none_debugs /sys/kernel/debug<br />
modprobe usbmon<br />
ls /sys/kernel/debug/usbmon<br />
cat /proc/bus/usb/devices<br />
cat /sys/kernel/debug/usbmon/1t<br />
</code></p>
<p><code>1t</code> is my device <img src='http://www.kix.es/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.kix.es/blog/2010/01/10/how-2-debug-usb-linux-kernel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Empezar a usar el repositorio</title>
		<link>http://www.kix.es/blog/2010/01/01/empezar-a-usar-el-repositorio/</link>
		<comments>http://www.kix.es/blog/2010/01/01/empezar-a-usar-el-repositorio/#comments</comments>
		<pubDate>Fri, 01 Jan 2010 16:42:28 +0000</pubDate>
		<dc:creator>kix</dc:creator>
				<category><![CDATA[Español]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.kix.es/blog/?p=31</guid>
		<description><![CDATA[Para terminar, es momento de empezar a utilizar el repositorio. Para ello, lo primero que haremos es crear la información del usuario. Se edita el fichero /home/usuario/.hgrc y se añade algo de configuración mínima, en mi caso: &#160;[ui]&#160;username = Rodolfo &#60;kix@spam.es&#62;&#160;verbose = true &#160;[defaults]&#160;commit = -v Una vez creado el fichero, el comando hg conocerá [...]]]></description>
			<content:encoded><![CDATA[<p>Para terminar, es momento de empezar a utilizar el repositorio.</p>
<p>Para ello, lo primero que haremos es crear la información del usuario. Se edita el fichero <tt>/home/usuario/.hgrc</tt> y se añade algo de configuración mínima, en mi caso:</p>
<p><tt>&nbsp;[ui]<br />&nbsp;username = Rodolfo &lt;kix@spam.es&gt;<br />&nbsp;verbose = true</p>
<p>&nbsp;[defaults]<br />&nbsp;commit = -v<br /></tt></p>
<p>Una vez creado el fichero, el comando <tt>hg</tt> conocerá nuestro nombre de usuario y podrá subir cambios.</p>
<p>Lo primero que podemos hacer es bajar el repositorio a un directorio local si no lo hemos hecho antes. Se hace mediante:</p>
<p><tt>&nbsp;hg clone ssh://usuario@host//home/hg/repo micopialocaldelrepo</tt></p>
<p>Una vez descargado, en principio estará vacio si lo hemos creado nosotros anteriormente, por lo que será necesario añadir ficheros. Para ello lo mejor es editar un nuevo fichero o copiarlo desde donde estemos escribiendo código o texto en el directorio del repositorio, en este caso en <tt>micopialocaldelrepo</tt>.</p>
<p>Una vez que el nuevo fichero está creado, es necesario añadirlo a los ficheros del repositorio, para ello ejecutaremos dentro del directorio<tt>micopialocaldelrepo</tt>:</p>
<p><tt>&nbsp;hg add</tt></p>
<p>Una vez añadidos los ficheros, es momento de subir los cambios al repositorio, para ello se ejecuta:</p>
<p><tt>&nbsp;hg commit -m "Versión 1.0 - Creación del fichero pepe.txt<br />&nbsp;hg push<br />&nbsp;hg update</tt></p>
<p>El resto de la información sobre la gestión de repositorios de Mercurial es su <a href="http://mercurial.selenic.com/wiki/SpanishTutorial">tutorial en castellano</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kix.es/blog/2010/01/01/empezar-a-usar-el-repositorio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Primer repositorio</title>
		<link>http://www.kix.es/blog/2010/01/01/primer-repositorio/</link>
		<comments>http://www.kix.es/blog/2010/01/01/primer-repositorio/#comments</comments>
		<pubDate>Fri, 01 Jan 2010 12:39:44 +0000</pubDate>
		<dc:creator>kix</dc:creator>
				<category><![CDATA[Español]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.kix.es/blog/?p=20</guid>
		<description><![CDATA[Si queremos crear un repositorio de Mercurial, lo mejor es seguir estos pasos: 1. Crear el árbol donde irán los repositorios &#160;&#160;mkdir /home/hg &#160;&#160;El árbol puede ir en cualquier directorio, normalmente /var, sin embargo debido a mi instalación (y que no tengo usuarios) lo creo en /home. En realidad no hace falta hacerlo así, ya [...]]]></description>
			<content:encoded><![CDATA[<p>Si queremos crear un repositorio de Mercurial, lo mejor es seguir estos pasos:</p>
<p>1. Crear el árbol donde irán los repositorios<br />
&nbsp;&nbsp;<tt>mkdir /home/hg</tt><br />
&nbsp;&nbsp;El árbol puede ir en cualquier directorio, normalmente <tt>/var</tt>, sin embargo debido a mi instalación (y que no tengo usuarios) lo creo en <tt>/home</tt>. En realidad no hace falta hacerlo así, ya que cada repositorio puede estar en un árbol diferente, pero yo prefiero tenerlos todos juntos en el mismo directorio.<br />
2. Crear el directorio del repositorio<br />
&nbsp;&nbsp;<tt>mkdir /home/hg/repo</tt><br />
3. Ahora es necesario inicializar el repositorio<br />
&nbsp;&nbsp;<tt>cd /home/hg/repo<br />&nbsp;hg init</tt><br />
4. Ahora el repositorio está creado, pero sólo es accesible por el usuario que lo ha creado (yo he hecho todo como root). Ahora es necesario hacer que el resto de usuarios puedan acceder a él, para ello, se crea un nuevo grupo, se añaden los usuarios al grupo y se cambian los permisos del directorio. Primero creo el grupo y añado el usuario:<br />
&nbsp;&nbsp;<tt>addgroup hg<br />&nbsp;adduser usuario hg</tt><br />
Ahora, cambio el grupo y los permisos del directorio de información del repositorio:<br />
&nbsp;&nbsp;<tt>chgrp -R hg /home/hg/repo/.hg<br />&nbsp;chmod -R g+w /home/hg/repo/.hg<br />&nbsp;chmod -R g+s /home/hg/repo/.hg</tt><br />
4. Ahora tenemos el repositorio terminado, sin ficheros, así que vamos a probarlo:<br />
&nbsp;&nbsp;<tt>hg clone ssh://usuario@host//home/hg/repo micopialocaldelrepo</tt><br />
Si todo ha ido bien, ahora tendremos el directorio local <tt>micopialocaldelrepo</tt> con la información del repositorio.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kix.es/blog/2010/01/01/primer-repositorio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalar hg en debian</title>
		<link>http://www.kix.es/blog/2009/12/31/instalar-hg-en-debian/</link>
		<comments>http://www.kix.es/blog/2009/12/31/instalar-hg-en-debian/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 19:57:44 +0000</pubDate>
		<dc:creator>kix</dc:creator>
				<category><![CDATA[Español]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.kix.es/blog/?p=16</guid>
		<description><![CDATA[Normalmente no escribiré posts, pero hoy &#8230; Para instalar Mercurial (hg) en debian hay que hacer lo siguiente (como root o con sudo): apt-get install mercurial openssh-server Con el paquete mercurial tendremos el software de gestión de respositorios. Con el paquete openssh-server podremos acceder a los respositorios de forma remota.]]></description>
			<content:encoded><![CDATA[<p>Normalmente no escribiré posts, pero hoy &#8230;</p>
<p>Para instalar Mercurial (hg) en debian hay que hacer lo siguiente (como root o con sudo):</p>
<p>apt-get install mercurial openssh-server</p>
<p>Con el paquete mercurial tendremos el software de gestión de respositorios. Con el paquete openssh-server podremos acceder a los respositorios de forma remota.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kix.es/blog/2009/12/31/instalar-hg-en-debian/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

