<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Shakaran</title>
	
	<link>http://shakaran.es/blog</link>
	<description>Blog de un estudiante de ingeniería informática</description>
	<lastBuildDate>Wed, 11 Nov 2009 22:31:02 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/Shakaran" type="application/rss+xml" /><feedburner:emailServiceId>Shakaran</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Obtener url de streaming de Play Cuatro</title>
		<link>http://feedproxy.google.com/~r/Shakaran/~3/4n-Sx_F3VOw/</link>
		<comments>http://shakaran.es/blog/2009/11/obtener-url-de-streaming-de-play-cuatro/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 22:25:47 +0000</pubDate>
		<dc:creator>shakaran</dc:creator>
				<category><![CDATA[Tivion]]></category>
		<category><![CDATA[acceso]]></category>
		<category><![CDATA[cadena]]></category>
		<category><![CDATA[cuatro]]></category>
		<category><![CDATA[decodificacion]]></category>
		<category><![CDATA[directo]]></category>
		<category><![CDATA[enlace]]></category>
		<category><![CDATA[libre]]></category>
		<category><![CDATA[obtener]]></category>
		<category><![CDATA[play]]></category>
		<category><![CDATA[play cuatro]]></category>
		<category><![CDATA[publico]]></category>
		<category><![CDATA[streaming]]></category>
		<category><![CDATA[television]]></category>
		<category><![CDATA[url]]></category>
		<category><![CDATA[version]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://shakaran.es/blog/?p=711</guid>
		<description><![CDATA[




Hace unos días, la cadena de televisión Cuatro de España, publicó un nuevo servicio web de streaming llamado &#8220;Play Cuatro&#8221; que utiliza el streaming proporcionado por la empresa Flumotion.
Para la nueva salida de Tivion 0.0.3 (que espero que salga en unas semanas, ya os contare porque tanto retraso en sacar otra versión) me gustaría incorporar [...]<br /><div><img src="http://shakaran.es/blog/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>10</strong> (0 votes cast)</div><br />


No hay entradas relacionadas.]]></description>
			<content:encoded><![CDATA[<div class="mceTemp mceIEcenter">
<dl id="attachment_713" class="wp-caption aligncenter" style="margin: auto; width: 306px;">
<dt class="wp-caption-dt"><a href="http://shakaran.es/blog/wp-content/uploads/2009/11/cuatro.jpg"><img class="size-full wp-image-713" title="Cuatro" src="http://shakaran.es/blog/wp-content/uploads/2009/11/cuatro.jpg" alt="Cuatro" width="296" height="149" /></a></dt>
</dl>
</div>
<p>Hace unos días, la cadena de televisión<a title="Cuatro España" href="http://www.cuatro.com" target="_blank"> Cuatro de España</a>, publicó un nuevo servicio web de streaming llamado &#8220;<a title="Play cuatro" href="http://www.play.cuatro.com" target="_blank">Play Cuatro</a>&#8221; que utiliza el <strong>streaming</strong> proporcionado por la empresa <a title="Flumotion" href="http://www.flumotion.net/" target="_blank">Flumotion</a>.</p>
<p>Para la nueva salida de <strong>Tivion 0.0.3</strong> (que espero que salga en unas semanas, ya os contare porque tanto retraso en sacar otra versión) me gustaría incorporar dicho canal, pero me esta siendo muy difícil conseguir la url de streaming ya que no se si apropósito o por desconocimiento no esta muy accesible.</p>
<p>Por tanto escribo este artículo, para reflejar <strong>mis progresos</strong> de la &#8220;decodificación&#8221; y por si alguien tiene alguna sugerencia para ayudarme en el punto donde me he quedado atascado.</p>
<p><strong>Play Cuatro</strong> proporciona acceso a dos canales de streaming, <strong>Cuatro y CNN</strong>, para acceder a las url desde su página web estos son los enlaces:</p>
<p>Cuatro:</p>
<p><a href="http://play.cuatro.com/play/#/portada/ver/cuatro-en-directo">http://play.cuatro.com/play/#/portada/ver/cuatro-en-directo</a></p>
<p>CNN;</p>
<p><a href="http://play.cuatro.com/play/#/portada/ver/cnn-en-directo">http://play.cuatro.com/play/#/portada/ver/cnn-en-directo</a></p>
<p>Por ejemplo, me centrare en la de Cuatro, ya que una vez obtenga su <strong>url de streaming</strong>, para CNN será similar.</p>
<p>En el código fuente podemos ver este fragmento de código:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=711&amp;download=codigo.txt">codigo.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p7112"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code" id="p711code2"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span>
<span style="color: #006600; font-style: italic;">//&lt; ![CDATA[</span>
<span style="color: #006600; font-style: italic;">/*var wmode=&quot;transparent&quot;;
if (navigator.appVersion.indexOf(&quot;Linux&quot;)!=-1) wmode =&quot;opaque&quot;;
var params = { qualitiy:&quot;high&quot;,menu: &quot;false&quot;, allowFullScreen:'true', wMode:wmode, allowScriptAccess: &quot;always&quot;, base: &quot;&quot;};
var attributes = { id:&quot;mediaplayer&quot; };
var flashvars = { };
swfobject.embedSWF(&quot;player.swf&quot;, &quot;player-rpl&quot;, &quot;640px&quot;, &quot;480px&quot;, &quot;10.0.0&quot;, false, flashvars, params, attributes);
SWFAddress.onChange = function () { navigateTo(SWFAddress.getValue());  }; */</span>
<span style="color: #006600; font-style: italic;">//]]&gt;</span>
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p>Parece ser que el archivo Flash del reproductor se embebe mediante Javascript con la biblioteca <a title="Biblioteca SWFObject" href="http://code.google.com/p/swfobject/ " target="_blank">SWFObject</a>.</p>
<p>Pero por ningún lado, podemos ver el <strong>parámetro de url</strong> que se le pasa al reproductor, luego deduzco que la url la carga el reproductor flash.<br />
Como vemos es el archivo player.swf que esta en la dirección:<br />
<a href="http://play.cuatro.com/play/player.swf"><br />
http://play.cuatro.com/play/player.swf</a></p>
<p>El problema es que si accedemos a la url del reproductor directamente, este <strong>no cargará nada</strong>, únicamente el archivo flash, pero sin flujo de información. Por lo que será necesario indicarle algunos parámetros. Y he aquí el<strong> misterio</strong>.</p>
<p>He conseguido descifrar que se pasan los siguientes argumentos:<br />
<a href="http://play.cuatro.com/play/player.swf?xmlurl=../assets/playlist/content.xml&#038;livestream=1&#038;quality=high&#038;menu=false&#038;wMode=opaque&#038;allowScriptAccess=always&#038;base=&#038;"><br />
http://play.cuatro.com/play/player.swf?xmlurl=../assets/playlist/content.xml&#038;livestream=1&#038;quality=high&#038;menu=false&#038;wMode=opaque&#038;allowScriptAccess=always&#038;base=&#038;</a></p>
<p>Con esa dirección, el player hace una llamada a una url:</p>
<p><a href="http://cms.webtv.flumotion.com/gateway/cuVNaAhY5EssGNawJZSlXnEuVHMfsgFR">http://cms.webtv.flumotion.com/gateway/cuVNaAhY5EssGNawJZSlXnEuVHMfsgFR</a></p>
<p>Esta cadena &#8220;cuVNaAhY5EssGNawJZSlXnEuVHMfsgFR&#8221; es el gatewayToken que esta definido como variable en el archivo <a href="http://play.cuatro.com/js/config.js">http://play.cuatro.com/js/config.js</a> junto con otras variables.</p>
<p>Además <strong>con Firebug</strong>, he conseguido averiguar otros parámetros, con los que llega a hacer otra petición más a la misma url:</p>
<p><a href="http://play.cuatro.com/play/player.swf?config-xml=http://play.cuatro.com/assets/playlist/config.xml&#038;amf-config-xml=http://play.cuatro.com/assets/playlist/amf_config.xml&#038;xmlurl=../assets/playlist/content.xml&#038;livestream=1&#038;quality=high&#038;menu=false&#038;wMode=opaque&#038;allowScriptAccess=always&#038;base=&#038;">http://play.cuatro.com/play/player.swf?config-xml=http://play.cuatro.com/assets/playlist/config.xml&#038;amf-config-xml=http://play.cuatro.com/assets/playlist/amf_config.xml&#038;xmlurl=../assets/playlist/content.xml&#038;livestream=1&#038;quality=high&#038;menu=false&#038;wMode=opaque&#038;allowScriptAccess=always&#038;base=&#038;</a></p>
<p>El problema es que Firebug muestra <strong>hasta 5 peticiones</strong> en el sitio normal, por lo que me deben faltar más parametros y con eso el player cargaría.</p>
<p>Pero este no es el problema. Con Firebug, se ve que se <strong>hacen peticiones</strong> a las siguientes url:</p>
<p><a href="http://cuatro.cuatro.stream.flumotion.com/cuatro/cuatrohigh.flv.m3u?token=8042b39788e4404e55a8383840ab69a74afb15d64afb1a86">http://cuatro.cuatro.stream.flumotion.com/cuatro/cuatrohigh.flv.m3u?token=8042b39788e4404e55a8383840ab69a74afb15d64afb1a86</a></p>
<p>Que en realidad cargaría:</p>
<p><a href="http://195.10.10.207:80/cuatro/cuatrohigh.flv?token=8042b39788e4404e55a8383840ab69a74afb15d64afb1a86">http://195.10.10.207:80/cuatro/cuatrohigh.flv?token=8042b39788e4404e55a8383840ab69a74afb15d64afb1a86</a></p>
<p>Si pones esas url <strong>en mplayer</strong>, funciona de perlas y carga el reproductor perfectamente. Pero&#8230;(siempre hay peros), resulta que el token expira y cambia cada vez. Luego <strong>no puedo meterlo en Tivion</strong>, ya que este cambiaría cada vez. Tampoco tengo forma de sacarlo automáticamente ya que no se como el player genera este token ya que no tengo la manera de cargar el player (aún).</p>
<p>El token <strong>no es algo nuevo</strong>, otros canales de Tivion lo tienen, pero siempre había alguna otra url desde donde sacarlo o generarlo. Pero aquí los amigos de Cuatro se han superado&#8230;y en realidad es algo que les perjudica. Porque si ponen su canal de<strong> libre acceso</strong>, mucha más gente podrá verlo o integrarlo en otros reproductores como intento yo (sin necesidad de acceder a la página) porque simplemente les interesa ver las noticias o una serie o un programa y no necesitan entrar en la web.</p>
<p>Ese token, es algo que hace Flumotion de Fluendo para especificar un <strong>usuario y contraseña</strong>. Es decir, pasando un token válido, se autentifica en el sistema y se reconoce el usuario y la contraseña, porque obviamente seria un fallo de seguridad, proporcionar un usuario y contraseña públicamente en una url.</p>
<p>He<strong> descompilado el player.swf </strong>con Flash Decompiler, pero no tengo mucho conocimiento de Action Script y realmente sólo veo código que hace cosas, pero no lo sigo muy en profundidad. De todas maneras, parece que con los argumentos que se pasan simplemente se genera la url. La cuestión es que hace generarlos o que linea los genera para poder invocar exactamente la petición a la url de streaming.</p>
<p>Y eso es todo, espero que <strong>alguien le de un ojo</strong> y pueda ayudarme a sacar algo más en claro (sobre todo alguien que entienda más que yo de Flash, que es bien fácil) o espero que los <strong>señores de Cuatro</strong> recapaciten un poco y pongan la url de forma más amistosa ya en que realidad los que ganaran audiciencia serán ellos. Con suerte podremos <strong>tener un Tivion con el canal Cuatro</strong>. También estoy intentando lo mismo para la Sexta, pero esa ya es otra historia.</p>
<br /><div><img src="http://shakaran.es/blog/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>10</strong> (0 votes cast)</div><br />


Comparte, descargalo en pdf, imprimelo o enviaselo a un amigo!


	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fobtener-url-de-streaming-de-play-cuatro%2F&amp;partner=sociable" title="Print"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fobtener-url-de-streaming-de-play-cuatro%2F&amp;title=Obtener%20url%20de%20streaming%20de%20Play%20Cuatro&amp;bodytext=%20%20%0D%0AHace%20unos%20d%C3%ADas%2C%20la%20cadena%20de%20televisi%C3%B3n%20Cuatro%20de%20Espa%C3%B1a%2C%20public%C3%B3%20un%20nuevo%20servicio%20web%20de%20streaming%20llamado%20%22Play%20Cuatro%22%20que%20utiliza%20el%20streaming%20proporcionado%20por%20la%20empresa%20Flumotion.%0D%0A%0D%0APara%20la%20nueva%20salida%20de%20Tivion%200.0.3%20%28que%20espero%20qu" title="Digg"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fobtener-url-de-streaming-de-play-cuatro%2F&amp;title=Obtener%20url%20de%20streaming%20de%20Play%20Cuatro&amp;notes=%20%20%0D%0AHace%20unos%20d%C3%ADas%2C%20la%20cadena%20de%20televisi%C3%B3n%20Cuatro%20de%20Espa%C3%B1a%2C%20public%C3%B3%20un%20nuevo%20servicio%20web%20de%20streaming%20llamado%20%22Play%20Cuatro%22%20que%20utiliza%20el%20streaming%20proporcionado%20por%20la%20empresa%20Flumotion.%0D%0A%0D%0APara%20la%20nueva%20salida%20de%20Tivion%200.0.3%20%28que%20espero%20qu" title="del.icio.us"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fobtener-url-de-streaming-de-play-cuatro%2F&amp;t=Obtener%20url%20de%20streaming%20de%20Play%20Cuatro" title="Facebook"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fobtener-url-de-streaming-de-play-cuatro%2F&amp;title=Obtener%20url%20de%20streaming%20de%20Play%20Cuatro&amp;annotation=%20%20%0D%0AHace%20unos%20d%C3%ADas%2C%20la%20cadena%20de%20televisi%C3%B3n%20Cuatro%20de%20Espa%C3%B1a%2C%20public%C3%B3%20un%20nuevo%20servicio%20web%20de%20streaming%20llamado%20%22Play%20Cuatro%22%20que%20utiliza%20el%20streaming%20proporcionado%20por%20la%20empresa%20Flumotion.%0D%0A%0D%0APara%20la%20nueva%20salida%20de%20Tivion%200.0.3%20%28que%20espero%20qu" title="Google Bookmarks"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://barrapunto.com/submit.pl?subj=Obtener%20url%20de%20streaming%20de%20Play%20Cuatro&amp;story=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fobtener-url-de-streaming-de-play-cuatro%2F" title="BarraPunto"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/barrapunto.png" title="BarraPunto" alt="BarraPunto" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://bitacoras.com/anotaciones/http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fobtener-url-de-streaming-de-play-cuatro%2F" title="Bitacoras.com"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/bitacoras.png" title="Bitacoras.com" alt="Bitacoras.com" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://meneame.net/submit.php?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fobtener-url-de-streaming-de-play-cuatro%2F" title="Meneame"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/meneame.png" title="Meneame" alt="Meneame" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fobtener-url-de-streaming-de-play-cuatro%2F&amp;partner=sociable" title="PDF"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://shakaran.es/blog/feed/" title="RSS"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fobtener-url-de-streaming-de-play-cuatro%2F&amp;title=Obtener%20url%20de%20streaming%20de%20Play%20Cuatro" title="StumbleUpon"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fobtener-url-de-streaming-de-play-cuatro%2F" title="Technorati"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>


<br/><br/>

<p>No hay entradas relacionadas.</p>]]></content:encoded>
			<wfw:commentRss>http://shakaran.es/blog/2009/11/obtener-url-de-streaming-de-play-cuatro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>

		<feedburner:origLink>http://shakaran.es/blog/2009/11/obtener-url-de-streaming-de-play-cuatro/</feedburner:origLink><enclosure url="http://feedproxy.google.com/~r/Shakaran/~5/uWbiuw6V3QI/cuatrohigh.flv.m3u" length="136" type="audio/x-mpegurl" /><feedburner:origEnclosureLink>http://cuatro.cuatro.stream.flumotion.com/cuatro/cuatrohigh.flv.m3u?token=8042b39788e4404e55a8383840ab69a74afb15d64afb1a86</feedburner:origEnclosureLink></item>
		<item>
		<title>Como montar una memoria usb en el terminal</title>
		<link>http://feedproxy.google.com/~r/Shakaran/~3/UJXA81NF8gg/</link>
		<comments>http://shakaran.es/blog/2009/11/como-montar-una-memoria-usb-en-el-terminal/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 14:24:30 +0000</pubDate>
		<dc:creator>shakaran</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Universidad]]></category>
		<category><![CDATA[consola]]></category>
		<category><![CDATA[directorio]]></category>
		<category><![CDATA[key]]></category>
		<category><![CDATA[llave]]></category>
		<category><![CDATA[memoria]]></category>
		<category><![CDATA[montar]]></category>
		<category><![CDATA[mount]]></category>
		<category><![CDATA[permisos]]></category>
		<category><![CDATA[practicas]]></category>
		<category><![CDATA[resumen]]></category>
		<category><![CDATA[sesion]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[usb]]></category>

		<guid isPermaLink="false">http://shakaran.es/blog/?p=705</guid>
		<description><![CDATA[





Normalmente suelo llevar conmigo una memoria USB y para determinadas prácticas en las que sólo nos dejan arrancar un ordenador en modo consola y es útil montar una memoria USB para guardar el código que se escribe en la sesión de prácticas.
Por tanto, esta es una pequeña nota a modo resumen:

Crear el directorio de montaje

?Descargar [...]<br /><div><img src="http://shakaran.es/blog/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>10</strong> (0 votes cast)</div><br />


Entradas relacionadas:<ol><li><a href='http://shakaran.es/blog/2009/09/como-recuperar-o-restaurar-un-arranque-estropeado-en-ubuntu/' rel='bookmark' title='Permanent Link: Como recuperar o restaurar un arranque estropeado en Ubuntu'>Como recuperar o restaurar un arranque estropeado en Ubuntu</a></li><li><a href='http://shakaran.es/blog/2009/09/como-editar-graficamente-el-archivo-xorg-conf/' rel='bookmark' title='Permanent Link: Como editar gráficamente el archivo xorg.conf'>Como editar gráficamente el archivo xorg.conf</a></li><li><a href='http://shakaran.es/blog/2009/05/solucionar-problema-de-llaves-con-virtualbox/' rel='bookmark' title='Permanent Link: Solucionar problema de llaves con VirtualBox'>Solucionar problema de llaves con VirtualBox</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">
<div class="mceTemp mceIEcenter">
<dl id="attachment_706" class="wp-caption aligncenter" style="width: 410px; margin: auto;">
<dt class="wp-caption-dt"><a href="http://shakaran.es/blog/wp-content/uploads/2009/11/usb.jpg"><img class="size-full wp-image-706" title="Memoria usb" src="http://shakaran.es/blog/wp-content/uploads/2009/11/usb.jpg" alt="Memoria usb" width="400" height="300" /></a></dt>
</dl>
</div>
<p style="text-align: justify;">Normalmente suelo llevar conmigo una <strong>memoria USB</strong> y para determinadas prácticas en las que sólo nos dejan arrancar un ordenador en modo consola y es útil montar una memoria USB para <strong>guardar el código</strong> que se escribe en la sesión de prácticas.</p>
<p style="text-align: justify;">Por tanto, esta es una<strong> pequeña nota</strong> a modo resumen:</p>
<ol>
<li>Crear el directorio de montaje

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=705&amp;download=directorio.txt">directorio.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p7056"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p705code6"><pre class="shell" style="font-family:monospace;">mkdir /mnt/Flash</pre></td></tr></table></div>

</li>
<li>Dar permisos al directorio de montaje

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=705&amp;download=permisos.txt">permisos.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p7057"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p705code7"><pre class="shell" style="font-family:monospace;">chmod 777 /mnt/Flash</pre></td></tr></table></div>

</li>
<li>Montar la memoria USB en el directorio

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=705&amp;download=montar.txt">montar.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p7058"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p705code8"><pre class="shell" style="font-family:monospace;">mount -t vfat /dev/sda /mnt/Flash</pre></td></tr></table></div>

</li>
</ol>
<br /><div><img src="http://shakaran.es/blog/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>10</strong> (0 votes cast)</div><br />


Comparte, descargalo en pdf, imprimelo o enviaselo a un amigo!


	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fcomo-montar-una-memoria-usb-en-el-terminal%2F&amp;partner=sociable" title="Print"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fcomo-montar-una-memoria-usb-en-el-terminal%2F&amp;title=Como%20montar%20una%20memoria%20usb%20en%20el%20terminal&amp;bodytext=%0D%0A%0D%0A%20%20%0D%0ANormalmente%20suelo%20llevar%20conmigo%20una%20memoria%20USB%20y%20para%20determinadas%20pr%C3%A1cticas%20en%20las%20que%20s%C3%B3lo%20nos%20dejan%20arrancar%20un%20ordenador%20en%20modo%20consola%20y%20es%20%C3%BAtil%20montar%20una%20memoria%20USB%20para%20guardar%20el%20c%C3%B3digo%20que%20se%20escribe%20en%20la%20sesi%C3%B3n%20de%20pr%C3%A1cti" title="Digg"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fcomo-montar-una-memoria-usb-en-el-terminal%2F&amp;title=Como%20montar%20una%20memoria%20usb%20en%20el%20terminal&amp;notes=%0D%0A%0D%0A%20%20%0D%0ANormalmente%20suelo%20llevar%20conmigo%20una%20memoria%20USB%20y%20para%20determinadas%20pr%C3%A1cticas%20en%20las%20que%20s%C3%B3lo%20nos%20dejan%20arrancar%20un%20ordenador%20en%20modo%20consola%20y%20es%20%C3%BAtil%20montar%20una%20memoria%20USB%20para%20guardar%20el%20c%C3%B3digo%20que%20se%20escribe%20en%20la%20sesi%C3%B3n%20de%20pr%C3%A1cti" title="del.icio.us"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fcomo-montar-una-memoria-usb-en-el-terminal%2F&amp;t=Como%20montar%20una%20memoria%20usb%20en%20el%20terminal" title="Facebook"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fcomo-montar-una-memoria-usb-en-el-terminal%2F&amp;title=Como%20montar%20una%20memoria%20usb%20en%20el%20terminal&amp;annotation=%0D%0A%0D%0A%20%20%0D%0ANormalmente%20suelo%20llevar%20conmigo%20una%20memoria%20USB%20y%20para%20determinadas%20pr%C3%A1cticas%20en%20las%20que%20s%C3%B3lo%20nos%20dejan%20arrancar%20un%20ordenador%20en%20modo%20consola%20y%20es%20%C3%BAtil%20montar%20una%20memoria%20USB%20para%20guardar%20el%20c%C3%B3digo%20que%20se%20escribe%20en%20la%20sesi%C3%B3n%20de%20pr%C3%A1cti" title="Google Bookmarks"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://barrapunto.com/submit.pl?subj=Como%20montar%20una%20memoria%20usb%20en%20el%20terminal&amp;story=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fcomo-montar-una-memoria-usb-en-el-terminal%2F" title="BarraPunto"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/barrapunto.png" title="BarraPunto" alt="BarraPunto" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://bitacoras.com/anotaciones/http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fcomo-montar-una-memoria-usb-en-el-terminal%2F" title="Bitacoras.com"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/bitacoras.png" title="Bitacoras.com" alt="Bitacoras.com" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://meneame.net/submit.php?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fcomo-montar-una-memoria-usb-en-el-terminal%2F" title="Meneame"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/meneame.png" title="Meneame" alt="Meneame" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fcomo-montar-una-memoria-usb-en-el-terminal%2F&amp;partner=sociable" title="PDF"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://shakaran.es/blog/feed/" title="RSS"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fcomo-montar-una-memoria-usb-en-el-terminal%2F&amp;title=Como%20montar%20una%20memoria%20usb%20en%20el%20terminal" title="StumbleUpon"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fcomo-montar-una-memoria-usb-en-el-terminal%2F" title="Technorati"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>


<br/><br/>

<p>Entradas relacionadas:<ol><li><a href='http://shakaran.es/blog/2009/09/como-recuperar-o-restaurar-un-arranque-estropeado-en-ubuntu/' rel='bookmark' title='Permanent Link: Como recuperar o restaurar un arranque estropeado en Ubuntu'>Como recuperar o restaurar un arranque estropeado en Ubuntu</a></li><li><a href='http://shakaran.es/blog/2009/09/como-editar-graficamente-el-archivo-xorg-conf/' rel='bookmark' title='Permanent Link: Como editar gráficamente el archivo xorg.conf'>Como editar gráficamente el archivo xorg.conf</a></li><li><a href='http://shakaran.es/blog/2009/05/solucionar-problema-de-llaves-con-virtualbox/' rel='bookmark' title='Permanent Link: Solucionar problema de llaves con VirtualBox'>Solucionar problema de llaves con VirtualBox</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://shakaran.es/blog/2009/11/como-montar-una-memoria-usb-en-el-terminal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://shakaran.es/blog/2009/11/como-montar-una-memoria-usb-en-el-terminal/</feedburner:origLink></item>
		<item>
		<title>Comandos útiles para IRC en Pidgin</title>
		<link>http://feedproxy.google.com/~r/Shakaran/~3/MjmAv_0-khA/</link>
		<comments>http://shakaran.es/blog/2009/11/comandos-utiles-para-irc-en-pidgin/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 01:00:23 +0000</pubDate>
		<dc:creator>shakaran</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Pidgin]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[abreviado]]></category>
		<category><![CDATA[ausente]]></category>
		<category><![CDATA[canal]]></category>
		<category><![CDATA[comandos]]></category>
		<category><![CDATA[completa]]></category>
		<category><![CDATA[intérprete]]></category>
		<category><![CDATA[irc]]></category>
		<category><![CDATA[lista]]></category>
		<category><![CDATA[mensaje]]></category>
		<category><![CDATA[pantalla]]></category>
		<category><![CDATA[pidgin]]></category>
		<category><![CDATA[utiles]]></category>

		<guid isPermaLink="false">http://shakaran.es/blog/?p=646</guid>
		<description><![CDATA[<!-- pb255 --><div class="pagebar">Páginas:&nbsp;<span class="inactive">Anterior</span>
<span class="this-page">1</span>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">2</a>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">Siguiente</a>
</div><!-- pb255 --><div class="pagebar">Páginas:&nbsp;<span class="inactive">Anterior</span>
<span class="this-page">1</span>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">2</a>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">Siguiente</a>
</div><!-- pb255 --><div class="pagebar">Páginas:&nbsp;<span class="inactive">Anterior</span>
<span class="this-page">1</span>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">2</a>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">Siguiente</a>
</div><!-- pb255 --><div class="pagebar">Páginas:&nbsp;<span class="inactive">Anterior</span>
<span class="this-page">1</span>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">2</a>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">Siguiente</a>
</div>




Si eres usuario frecuente de canales IRC y te gusta Pidgin, he recopilado una pequeña lista de comandos útiles segun mi experiencia de uso para utilizar en Pidgin. Son los siguientes:

Unirse a un canal de nombre #canal

?Descargar join.txt1
/join #canal



Igual que el anterior, pero de forma abreviada.

?Descargar join-short.txt1
/j #canal



Poner un mensaje global, a modo de pensamiento.

?Descargar [...]<br /><div><img src="http://shakaran.es/blog/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>10</strong> (0 votes cast)</div><br />


Entradas relacionadas:<ol><li><a href='http://shakaran.es/blog/2009/09/tivion-un-reproductor-streaming-para-tv-online-en-ubuntu/' rel='bookmark' title='Permanent Link: Tivion: un reproductor streaming para TV online en Ubuntu'>Tivion: un reproductor streaming para TV online en Ubuntu</a></li><li><a href='http://shakaran.es/blog/2009/07/arreglo-de-firefox-3-5-x-branding-para-ubuntu-jaunty-karmic/' rel='bookmark' title='Permanent Link: Arreglo de Firefox 3.5.x Branding para Ubuntu Jaunty &#038; Karmic'>Arreglo de Firefox 3.5.x Branding para Ubuntu Jaunty &#038; Karmic</a></li><li><a href='http://shakaran.es/blog/2008/10/paginas-del-manual-de-ubuntu-en-espanol/' rel='bookmark' title='Permanent Link: Páginas del manual de ubuntu en Español'>Páginas del manual de ubuntu en Español</a></li></ol>]]></description>
			<content:encoded><![CDATA[<!-- pb255 --><div class="pagebar">Páginas:&nbsp;<span class="inactive">Anterior</span>
<span class="this-page">1</span>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">2</a>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">Siguiente</a>
</div><!-- pb255 --><div class="pagebar">Páginas:&nbsp;<span class="inactive">Anterior</span>
<span class="this-page">1</span>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">2</a>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">Siguiente</a>
</div><div class="mceTemp mceIEcenter">
<dl id="attachment_698" class="wp-caption aligncenter" style="width: 425px;margin:auto">
<dt class="wp-caption-dt"><a href="http://shakaran.es/blog/wp-content/uploads/2009/09/pidgin_logo.png"><img class="size-full wp-image-698" title="pidgin-logo" src="http://shakaran.es/blog/wp-content/uploads/2009/09/pidgin_logo.png" alt="pidgin-logo" width="415" height="191" /></a></dt>
</dl>
</div>
<p>Si eres usuario frecuente de <strong>canales IRC</strong> y te gusta <a title="Pidgin web" href="http://www.pidgin.im/" target="_blank"><strong>Pidgin</strong></a>, he recopilado una pequeña lista de comandos útiles segun mi experiencia de uso para utilizar en Pidgin. Son los siguientes:</p>
<ul>
<li>Unirse a un canal de nombre #canal</li>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=646&amp;download=join.txt">join.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p64616"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p646code16"><pre class="text" style="font-family:monospace;">/join #canal</pre></td></tr></table></div>

</ul>
<ul>
<li>Igual que el anterior, pero de forma abreviada.</li>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=646&amp;download=join-short.txt">join-short.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p64617"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p646code17"><pre class="text" style="font-family:monospace;">/j #canal</pre></td></tr></table></div>

</ul>
<ul>
<li>Poner un mensaje global, a modo de pensamiento.</li>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=646&amp;download=me.txt">me.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p64618"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p646code18"><pre class="text" style="font-family:monospace;">/me mensaje</pre></td></tr></table></div>

</ul>
<ul>
<li>Cambiar tu estado en el IRC, por ejemplo &#8220;comiendo&#8221;, &#8220;en la piscina&#8221;, etc.</li>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=646&amp;download=away.txt">away.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p64619"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p646code19"><pre class="text" style="font-family:monospace;">/away estado</pre></td></tr></table></div>

</ul>
<ul>
<li>Quitar el estado y ponerlo vacío.</li>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=646&amp;download=back.txt">back.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p64620"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p646code20"><pre class="text" style="font-family:monospace;">/back</pre></td></tr></table></div>

</ul>
<ul>
<li>Escribir algún comando para que salga en la pantalla y no se interprete (por ejemplo que se escriba /away comiendo si que se interprete)

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=646&amp;download=say.txt">say.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p64621"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p646code21"><pre class="text" style="font-family:monospace;">/say /away estado</pre></td></tr></table></div>

</li>
</ul>
<ul>
<li>Ayuda sobre algún comando y lista completa de otros comandos no listados aquí

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=646&amp;download=help.txt">help.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p64622"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p646code22"><pre class="text" style="font-family:monospace;">/help algo</pre></td></tr></table></div>

</li>
</ul>
<br /><div><img src="http://shakaran.es/blog/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>10</strong> (0 votes cast)</div><br />


Comparte, descargalo en pdf, imprimelo o enviaselo a un amigo!


	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fcomandos-utiles-para-irc-en-pidgin%2F&amp;partner=sociable" title="Print"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fcomandos-utiles-para-irc-en-pidgin%2F&amp;title=Comandos%20%C3%BAtiles%20para%20IRC%20en%20Pidgin&amp;bodytext=%20%20%0D%0ASi%20eres%20usuario%20frecuente%20de%20canales%20IRC%20y%20te%20gusta%20Pidgin%2C%20he%20recopilado%20una%20peque%C3%B1a%20lista%20de%20comandos%20%C3%BAtiles%20segun%20mi%20experiencia%20de%20uso%20para%20utilizar%20en%20Pidgin.%20Son%20los%20siguientes%3A%0D%0A%0D%0A%09Unirse%20a%20un%20canal%20de%20nombre%20%23canal%0D%0A%2Fjoin%20%23canal%0D%0A%0D%0A%0D%0A%09I" title="Digg"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fcomandos-utiles-para-irc-en-pidgin%2F&amp;title=Comandos%20%C3%BAtiles%20para%20IRC%20en%20Pidgin&amp;notes=%20%20%0D%0ASi%20eres%20usuario%20frecuente%20de%20canales%20IRC%20y%20te%20gusta%20Pidgin%2C%20he%20recopilado%20una%20peque%C3%B1a%20lista%20de%20comandos%20%C3%BAtiles%20segun%20mi%20experiencia%20de%20uso%20para%20utilizar%20en%20Pidgin.%20Son%20los%20siguientes%3A%0D%0A%0D%0A%09Unirse%20a%20un%20canal%20de%20nombre%20%23canal%0D%0A%2Fjoin%20%23canal%0D%0A%0D%0A%0D%0A%09I" title="del.icio.us"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fcomandos-utiles-para-irc-en-pidgin%2F&amp;t=Comandos%20%C3%BAtiles%20para%20IRC%20en%20Pidgin" title="Facebook"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fcomandos-utiles-para-irc-en-pidgin%2F&amp;title=Comandos%20%C3%BAtiles%20para%20IRC%20en%20Pidgin&amp;annotation=%20%20%0D%0ASi%20eres%20usuario%20frecuente%20de%20canales%20IRC%20y%20te%20gusta%20Pidgin%2C%20he%20recopilado%20una%20peque%C3%B1a%20lista%20de%20comandos%20%C3%BAtiles%20segun%20mi%20experiencia%20de%20uso%20para%20utilizar%20en%20Pidgin.%20Son%20los%20siguientes%3A%0D%0A%0D%0A%09Unirse%20a%20un%20canal%20de%20nombre%20%23canal%0D%0A%2Fjoin%20%23canal%0D%0A%0D%0A%0D%0A%09I" title="Google Bookmarks"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://barrapunto.com/submit.pl?subj=Comandos%20%C3%BAtiles%20para%20IRC%20en%20Pidgin&amp;story=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fcomandos-utiles-para-irc-en-pidgin%2F" title="BarraPunto"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/barrapunto.png" title="BarraPunto" alt="BarraPunto" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://bitacoras.com/anotaciones/http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fcomandos-utiles-para-irc-en-pidgin%2F" title="Bitacoras.com"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/bitacoras.png" title="Bitacoras.com" alt="Bitacoras.com" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://meneame.net/submit.php?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fcomandos-utiles-para-irc-en-pidgin%2F" title="Meneame"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/meneame.png" title="Meneame" alt="Meneame" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fcomandos-utiles-para-irc-en-pidgin%2F&amp;partner=sociable" title="PDF"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://shakaran.es/blog/feed/" title="RSS"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fcomandos-utiles-para-irc-en-pidgin%2F&amp;title=Comandos%20%C3%BAtiles%20para%20IRC%20en%20Pidgin" title="StumbleUpon"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fcomandos-utiles-para-irc-en-pidgin%2F" title="Technorati"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>


<br/><br/>

<p>Entradas relacionadas:<ol><li><a href='http://shakaran.es/blog/2009/09/tivion-un-reproductor-streaming-para-tv-online-en-ubuntu/' rel='bookmark' title='Permanent Link: Tivion: un reproductor streaming para TV online en Ubuntu'>Tivion: un reproductor streaming para TV online en Ubuntu</a></li><li><a href='http://shakaran.es/blog/2009/07/arreglo-de-firefox-3-5-x-branding-para-ubuntu-jaunty-karmic/' rel='bookmark' title='Permanent Link: Arreglo de Firefox 3.5.x Branding para Ubuntu Jaunty &#038; Karmic'>Arreglo de Firefox 3.5.x Branding para Ubuntu Jaunty &#038; Karmic</a></li><li><a href='http://shakaran.es/blog/2008/10/paginas-del-manual-de-ubuntu-en-espanol/' rel='bookmark' title='Permanent Link: Páginas del manual de ubuntu en Español'>Páginas del manual de ubuntu en Español</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://shakaran.es/blog/2009/11/comandos-utiles-para-irc-en-pidgin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://shakaran.es/blog/2009/11/comandos-utiles-para-irc-en-pidgin/</feedburner:origLink></item>
		<item>
		<title>Solución Cpanel/WHM – clamd failed. A restart was attempted automagically.</title>
		<link>http://feedproxy.google.com/~r/Shakaran/~3/nLwYGDExhw0/</link>
		<comments>http://shakaran.es/blog/2009/11/solucion-cpanelwhm-clamd-failed-a-restart-was-attempted-automagically/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 17:31:35 +0000</pubDate>
		<dc:creator>shakaran</dc:creator>
				<category><![CDATA[Cpanel]]></category>
		<category><![CDATA[Servidores]]></category>
		<category><![CDATA[WHM]]></category>
		<category><![CDATA[automagically]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[check]]></category>
		<category><![CDATA[chkservd.conf]]></category>
		<category><![CDATA[chkservd.d]]></category>
		<category><![CDATA[clamd]]></category>
		<category><![CDATA[daemon]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[exim]]></category>
		<category><![CDATA[fix]]></category>
		<category><![CDATA[ftpd]]></category>
		<category><![CDATA[httpd]]></category>
		<category><![CDATA[ipaliases]]></category>
		<category><![CDATA[manager]]></category>
		<category><![CDATA[method]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[notify]]></category>
		<category><![CDATA[restart]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[spamd]]></category>

		<guid isPermaLink="false">http://shakaran.es/blog/?p=694</guid>
		<description><![CDATA[




Si administras un VPS o un servidor dedicado y tienes CPanel y WHM instalado, puede que te hayas encontrado con docenas, cientos o miles de emails en tu correo con un aspecto similar al siguiente:

?Descargar error-clamd.txt1
2
3
4
clamd failed @ Sun Nov  8 17:58:38 2009. A restart was attempted automagically.
 Service Check Method:  [check command]
&#160;
 Cmd Service [...]<br /><div><img src="http://shakaran.es/blog/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>10</strong> (0 votes cast)</div><br />


No hay entradas relacionadas.]]></description>
			<content:encoded><![CDATA[<div class="mceTemp mceIEcenter">
<dl id="attachment_695" class="wp-caption aligncenter" style="width: 106px;margin:auto">
<dt class="wp-caption-dt"><a href="http://shakaran.es/blog/wp-content/uploads/2009/11/cpanel_whm.gif"><img class="size-full wp-image-695" title="cpanel-whm" src="http://shakaran.es/blog/wp-content/uploads/2009/11/cpanel_whm.gif" alt="cpanel-whm" width="96" height="96" /></a></dt>
</dl>
</div>
<p>Si <strong>administras un VPS </strong>o un servidor dedicado y tienes CPanel y WHM instalado, puede que te hayas encontrado con docenas, cientos o miles de emails en tu correo con un aspecto similar al siguiente:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=694&amp;download=error-clamd.txt">error-clamd.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p69428"><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code" id="p694code28"><pre class="txt" style="font-family:monospace;">clamd failed @ Sun Nov  8 17:58:38 2009. A restart was attempted automagically.
 Service Check Method:  [check command]
&nbsp;
 Cmd Service Check Raw Output: clamd is not installed</pre></td></tr></table></div>

<p>Después de <strong>maldecir a tu servidor</strong> por enviar tanto email. Seguro que te has planteado ¿que produce este error?¿porque se produce?</p>
<p>Pues la respuesta, parece ser que a día de hoy <strong>no la tenía google </strong>y tras un poco de investigación di con la causa del asunto.</p>
<p>Mi problema derivaba de que había instalado ClamAV en el VPS, por exceso de consumo de memoria lo había quitado y entonces salían estos mensajes. El hecho es que recuerdo haber activado alguna opción relacionada con clamd en WHM en el apartado <strong>Service Configuration &gt; Service Manager</strong></p>
<p>Pero que casualidad, que al ir allí ya no se listaba el proceso. Quizás por algún bug. Entonces, veamos <strong>como solucionarlo</strong>, porque sino tendríamos que instalarlo de nuevo, desactivarlo y volver a desistalarlo.</p>
<p>Asi que buscando una <strong>forma más comoda</strong>, podemos buscar el archivo <tt>/etc/chkserv.d/chkservd.conf</tt> que contiene los servicios que son administrados (y que parece que al no existir da error en la notificación).</p>
<p>Nota: la ruta es para un CentOS 5.4, en otras versiones y distribuciones <strong>puede variar</strong>.</p>
<p>Asi que <strong>visualizando</strong> el contenido, en mi VPS salía lo siguiente:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=694&amp;download=listar-chkservd-conf.txt">listar-chkservd-conf.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p69429"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
</pre></td><td class="code" id="p694code29"><pre class="txt" style="font-family:monospace;"># cat /etc/chkserv.d/chkservd.conf
clamd:1
cpdavd:1
cpsrvd:1
entropychat:0
exim:1
exim-altport:0
ftpd:1
httpd:1
imap:1
ipaliases:1
melange:0
mysql:1
named:1
pop:1
spamd:1
sshd:1
syslogd:1</pre></td></tr></table></div>

<p>El archivo habla por si solo, si queremos <strong>desactivar</strong> las engorrosas notificaciones, basta con poner a 0 el servicio que queramos, en mi caso clamd:0. Luego con nano, podemos cambiarlo:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=694&amp;download=editar-chkservd-conf.txt">editar-chkservd-conf.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p69430"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p694code30"><pre class="txt" style="font-family:monospace;"># nano /etc/chkserv.d/chkservd.conf</pre></td></tr></table></div>

<p>Y quedaría:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=694&amp;download=listar-chkservd-conf-arreglado.txt">listar-chkservd-conf-arreglado.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p69431"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
</pre></td><td class="code" id="p694code31"><pre class="txt" style="font-family:monospace;"># cat /etc/chkserv.d/chkservd.conf
clamd:0
cpdavd:1
cpsrvd:1
entropychat:0
exim:1
exim-altport:0
ftpd:1
httpd:1
imap:1
ipaliases:1
melange:0
mysql:1
named:1
pop:1
spamd:1
sshd:1
syslogd:1</pre></td></tr></table></div>

<p>Quizás tu problema sea con otros de los<strong> servicios</strong>, por ejemplo spamd o httpd, ftpd, cualquier otro daemon. La manera de proceder es exactamente la misma.</p>
<p>Por ejemplo si fuese el spamd, el mensaje sería muy similar:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=694&amp;download=error-spamd.txt">error-spamd.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p69432"><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code" id="p694code32"><pre class="txt" style="font-family:monospace;">spamd failed @ Sun Nov  8 17:58:38 2009. A restart was attempted automagically.
 Service Check Method:  [check command] 
&nbsp;
 Cmd Service Check Raw Output: Spamd is not running</pre></td></tr></table></div>

<br /><div><img src="http://shakaran.es/blog/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>10</strong> (0 votes cast)</div><br />


Comparte, descargalo en pdf, imprimelo o enviaselo a un amigo!


	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fsolucion-cpanelwhm-clamd-failed-a-restart-was-attempted-automagically%2F&amp;partner=sociable" title="Print"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fsolucion-cpanelwhm-clamd-failed-a-restart-was-attempted-automagically%2F&amp;title=Soluci%C3%B3n%20Cpanel%2FWHM%20-%20clamd%20failed.%20A%20restart%20was%20attempted%20automagically.&amp;bodytext=%0D%0ASi%20administras%20un%20VPS%20o%20un%20servidor%20dedicado%20y%20tienes%20CPanel%20y%20WHM%20instalado%2C%20puede%20que%20te%20hayas%20encontrado%20con%20docenas%2C%20cientos%20o%20miles%20de%20emails%20en%20tu%20correo%20con%20un%20aspecto%20similar%20al%20siguiente%3A%0D%0Aclamd%20failed%20%40%20Sun%20Nov%20%C2%A08%2017%3A58%3A38%202009.%20A%20restar" title="Digg"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fsolucion-cpanelwhm-clamd-failed-a-restart-was-attempted-automagically%2F&amp;title=Soluci%C3%B3n%20Cpanel%2FWHM%20-%20clamd%20failed.%20A%20restart%20was%20attempted%20automagically.&amp;notes=%0D%0ASi%20administras%20un%20VPS%20o%20un%20servidor%20dedicado%20y%20tienes%20CPanel%20y%20WHM%20instalado%2C%20puede%20que%20te%20hayas%20encontrado%20con%20docenas%2C%20cientos%20o%20miles%20de%20emails%20en%20tu%20correo%20con%20un%20aspecto%20similar%20al%20siguiente%3A%0D%0Aclamd%20failed%20%40%20Sun%20Nov%20%C2%A08%2017%3A58%3A38%202009.%20A%20restar" title="del.icio.us"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fsolucion-cpanelwhm-clamd-failed-a-restart-was-attempted-automagically%2F&amp;t=Soluci%C3%B3n%20Cpanel%2FWHM%20-%20clamd%20failed.%20A%20restart%20was%20attempted%20automagically." title="Facebook"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fsolucion-cpanelwhm-clamd-failed-a-restart-was-attempted-automagically%2F&amp;title=Soluci%C3%B3n%20Cpanel%2FWHM%20-%20clamd%20failed.%20A%20restart%20was%20attempted%20automagically.&amp;annotation=%0D%0ASi%20administras%20un%20VPS%20o%20un%20servidor%20dedicado%20y%20tienes%20CPanel%20y%20WHM%20instalado%2C%20puede%20que%20te%20hayas%20encontrado%20con%20docenas%2C%20cientos%20o%20miles%20de%20emails%20en%20tu%20correo%20con%20un%20aspecto%20similar%20al%20siguiente%3A%0D%0Aclamd%20failed%20%40%20Sun%20Nov%20%C2%A08%2017%3A58%3A38%202009.%20A%20restar" title="Google Bookmarks"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://barrapunto.com/submit.pl?subj=Soluci%C3%B3n%20Cpanel%2FWHM%20-%20clamd%20failed.%20A%20restart%20was%20attempted%20automagically.&amp;story=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fsolucion-cpanelwhm-clamd-failed-a-restart-was-attempted-automagically%2F" title="BarraPunto"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/barrapunto.png" title="BarraPunto" alt="BarraPunto" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://bitacoras.com/anotaciones/http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fsolucion-cpanelwhm-clamd-failed-a-restart-was-attempted-automagically%2F" title="Bitacoras.com"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/bitacoras.png" title="Bitacoras.com" alt="Bitacoras.com" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://meneame.net/submit.php?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fsolucion-cpanelwhm-clamd-failed-a-restart-was-attempted-automagically%2F" title="Meneame"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/meneame.png" title="Meneame" alt="Meneame" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fsolucion-cpanelwhm-clamd-failed-a-restart-was-attempted-automagically%2F&amp;partner=sociable" title="PDF"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://shakaran.es/blog/feed/" title="RSS"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fsolucion-cpanelwhm-clamd-failed-a-restart-was-attempted-automagically%2F&amp;title=Soluci%C3%B3n%20Cpanel%2FWHM%20-%20clamd%20failed.%20A%20restart%20was%20attempted%20automagically." title="StumbleUpon"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Fsolucion-cpanelwhm-clamd-failed-a-restart-was-attempted-automagically%2F" title="Technorati"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>


<br/><br/>

<p>No hay entradas relacionadas.</p>]]></content:encoded>
			<wfw:commentRss>http://shakaran.es/blog/2009/11/solucion-cpanelwhm-clamd-failed-a-restart-was-attempted-automagically/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://shakaran.es/blog/2009/11/solucion-cpanelwhm-clamd-failed-a-restart-was-attempted-automagically/</feedburner:origLink></item>
		<item>
		<title>Actualizar Ubuntu Karmic Koala 9.10 a Ubuntu Lucid Lynx 10.04</title>
		<link>http://feedproxy.google.com/~r/Shakaran/~3/TtJO6lEMfAA/</link>
		<comments>http://shakaran.es/blog/2009/11/actualizar-ubuntu-karmic-koala-9-10-a-ubuntu-lucid-lynx-10-04/#comments</comments>
		<pubDate>Sat, 07 Nov 2009 10:41:48 +0000</pubDate>
		<dc:creator>shakaran</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[10.04]]></category>
		<category><![CDATA[9.10]]></category>
		<category><![CDATA[core]]></category>
		<category><![CDATA[dist-upgrade]]></category>
		<category><![CDATA[karmic]]></category>
		<category><![CDATA[koala]]></category>
		<category><![CDATA[lucid]]></category>
		<category><![CDATA[lynx]]></category>
		<category><![CDATA[manager]]></category>
		<category><![CDATA[repositorios]]></category>
		<category><![CDATA[ultima]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[upgrade]]></category>
		<category><![CDATA[version]]></category>

		<guid isPermaLink="false">http://shakaran.es/blog/?p=686</guid>
		<description><![CDATA[<!-- pb255 --><div class="pagebar">Páginas:&nbsp;<span class="inactive">Anterior</span>
<span class="this-page">1</span>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">2</a>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">Siguiente</a>
</div><!-- pb255 --><div class="pagebar">Páginas:&nbsp;<span class="inactive">Anterior</span>
<span class="this-page">1</span>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">2</a>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">Siguiente</a>
</div><!-- pb255 --><div class="pagebar">Páginas:&nbsp;<span class="inactive">Anterior</span>
<span class="this-page">1</span>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">2</a>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">Siguiente</a>
</div><!-- pb255 --><div class="pagebar">Páginas:&nbsp;<span class="inactive">Anterior</span>
<span class="this-page">1</span>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">2</a>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">Siguiente</a>
</div>




Estos días se esta preparando la nueva versión de Ubuntu, pero  todavía no esta disponible mediante el comando update-manager -d. Si  quieres o necesitas actualizar a lo último de Ubuntu (bajo tu  responsabilidad), puedes ejecutar la actualización en una sola línea.

?Descargar update-lucid.txt1
sudo sed -i 's/karmic/lucid/g' /etc/apt/sources.list &#38;&#38; sudo aptitude update &#38;&#38; sudo [...]<br /><div><img src="http://shakaran.es/blog/wp-content/plugins/gd-star-rating/gfx.php?value=10.0" /></div><div>Rating: 10.0/<strong>10</strong> (1 vote cast)</div><br />


Entradas relacionadas:<ol><li><a href='http://shakaran.es/blog/2008/08/instalar-transmission-131-en-ubuntu-repositorios-bortis/' rel='bookmark' title='Permanent Link: Instalar Transmission 1.31 en Ubuntu (Repositorios Bortis)'>Instalar Transmission 1.31 en Ubuntu (Repositorios Bortis)</a></li><li><a href='http://shakaran.es/blog/2009/07/arreglo-de-firefox-3-5-x-branding-para-ubuntu-jaunty-karmic/' rel='bookmark' title='Permanent Link: Arreglo de Firefox 3.5.x Branding para Ubuntu Jaunty &#038; Karmic'>Arreglo de Firefox 3.5.x Branding para Ubuntu Jaunty &#038; Karmic</a></li><li><a href='http://shakaran.es/blog/2009/09/como-recuperar-o-restaurar-un-arranque-estropeado-en-ubuntu/' rel='bookmark' title='Permanent Link: Como recuperar o restaurar un arranque estropeado en Ubuntu'>Como recuperar o restaurar un arranque estropeado en Ubuntu</a></li></ol>]]></description>
			<content:encoded><![CDATA[<!-- pb255 --><div class="pagebar">Páginas:&nbsp;<span class="inactive">Anterior</span>
<span class="this-page">1</span>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">2</a>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">Siguiente</a>
</div><!-- pb255 --><div class="pagebar">Páginas:&nbsp;<span class="inactive">Anterior</span>
<span class="this-page">1</span>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">2</a>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">Siguiente</a>
</div><div class="mceTemp mceIEcenter">
<dl id="attachment_687" class="wp-caption aligncenter" style="width: 469px;margin:auto">
<dt class="wp-caption-dt"><a href="http://shakaran.es/blog/wp-content/uploads/2009/11/karmic-lucid.png"><img class="size-full wp-image-687" title="karmic-lucid" src="http://shakaran.es/blog/wp-content/uploads/2009/11/karmic-lucid.png" alt="karmic-lucid" width="459" height="271" /></a></dt>
</dl>
</div>
<p>Estos días se esta preparando la <strong>nueva versión</strong> de Ubuntu, pero  todavía no esta disponible mediante el comando <tt>update-manager -d</tt>. Si  quieres o <em>necesitas</em> actualizar a lo último de Ubuntu (bajo tu  responsabilidad), puedes ejecutar la actualización en una sola línea.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=686&amp;download=update-lucid.txt">update-lucid.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p68636"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p686code36"><pre class="shell" style="font-family:monospace;">sudo sed -i 's/karmic/lucid/g' /etc/apt/sources.list &amp;&amp; sudo aptitude update &amp;&amp; sudo aptitude dist-upgrade</pre></td></tr></table></div>

<p>Este comando<strong> cambiara tus repositorios</strong> de karmic a lucid y actualizará los repositorios e instalará los nuevos paquetes.</p>
<p>Cuando este disponible la <strong>manera tradicional</strong>, simplemente ejecuta:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=686&amp;download=update-lucid-normal.txt">update-lucid-normal.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p68637"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p686code37"><pre class="shell" style="font-family:monospace;">sudo aptitude install update-manager-core
sudo do-release-upgrade -d</pre></td></tr></table></div>

<p>Otra manera de hacerlo con Perl, y haciendo <strong>comprobaciones</strong> de si habrá fallos o no:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=686&amp;download=update-safe-lucid.txt">update-safe-lucid.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p68638"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code" id="p686code38"><pre class="shell" style="font-family:monospace;"># Primero asegurarte de que tu actual versión es la última y mayor
sudo aptitude update
sudo aptitude safe-upgrade 
&nbsp;
# Cambiar el nombre de los repositorios utilizando Perl
perl -p -i.karmic -e 's/karmic/lucid/' /etc/apt/sources.list 
&nbsp;
# Iniciar la actualización a la nueva versión
sudo aptitude update
sudo aptitude install dpkg aptitude apt
sudo aptitude safe-upgrade
sudo aptitude full-upgrade</pre></td></tr></table></div>

<br /><div><img src="http://shakaran.es/blog/wp-content/plugins/gd-star-rating/gfx.php?value=10.0" /></div><div>Rating: 10.0/<strong>10</strong> (1 vote cast)</div><br />


Comparte, descargalo en pdf, imprimelo o enviaselo a un amigo!


	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Factualizar-ubuntu-karmic-koala-9-10-a-ubuntu-lucid-lynx-10-04%2F&amp;partner=sociable" title="Print"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Factualizar-ubuntu-karmic-koala-9-10-a-ubuntu-lucid-lynx-10-04%2F&amp;title=Actualizar%20Ubuntu%20Karmic%20Koala%209.10%20a%20Ubuntu%20Lucid%20Lynx%2010.04&amp;bodytext=%20%20%0D%0AEstos%20d%C3%ADas%20se%20esta%20preparando%20la%20nueva%20versi%C3%B3n%20de%20Ubuntu%2C%20pero%20%20todav%C3%ADa%20no%20esta%20disponible%20mediante%20el%20comando%20update-manager%20-d.%20Si%20%20quieres%20o%20necesitas%20actualizar%20a%20lo%20%C3%BAltimo%20de%20Ubuntu%20%28bajo%20tu%20%20responsabilidad%29%2C%20puedes%20ejecutar%20la%20actualiz" title="Digg"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Factualizar-ubuntu-karmic-koala-9-10-a-ubuntu-lucid-lynx-10-04%2F&amp;title=Actualizar%20Ubuntu%20Karmic%20Koala%209.10%20a%20Ubuntu%20Lucid%20Lynx%2010.04&amp;notes=%20%20%0D%0AEstos%20d%C3%ADas%20se%20esta%20preparando%20la%20nueva%20versi%C3%B3n%20de%20Ubuntu%2C%20pero%20%20todav%C3%ADa%20no%20esta%20disponible%20mediante%20el%20comando%20update-manager%20-d.%20Si%20%20quieres%20o%20necesitas%20actualizar%20a%20lo%20%C3%BAltimo%20de%20Ubuntu%20%28bajo%20tu%20%20responsabilidad%29%2C%20puedes%20ejecutar%20la%20actualiz" title="del.icio.us"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Factualizar-ubuntu-karmic-koala-9-10-a-ubuntu-lucid-lynx-10-04%2F&amp;t=Actualizar%20Ubuntu%20Karmic%20Koala%209.10%20a%20Ubuntu%20Lucid%20Lynx%2010.04" title="Facebook"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Factualizar-ubuntu-karmic-koala-9-10-a-ubuntu-lucid-lynx-10-04%2F&amp;title=Actualizar%20Ubuntu%20Karmic%20Koala%209.10%20a%20Ubuntu%20Lucid%20Lynx%2010.04&amp;annotation=%20%20%0D%0AEstos%20d%C3%ADas%20se%20esta%20preparando%20la%20nueva%20versi%C3%B3n%20de%20Ubuntu%2C%20pero%20%20todav%C3%ADa%20no%20esta%20disponible%20mediante%20el%20comando%20update-manager%20-d.%20Si%20%20quieres%20o%20necesitas%20actualizar%20a%20lo%20%C3%BAltimo%20de%20Ubuntu%20%28bajo%20tu%20%20responsabilidad%29%2C%20puedes%20ejecutar%20la%20actualiz" title="Google Bookmarks"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://barrapunto.com/submit.pl?subj=Actualizar%20Ubuntu%20Karmic%20Koala%209.10%20a%20Ubuntu%20Lucid%20Lynx%2010.04&amp;story=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Factualizar-ubuntu-karmic-koala-9-10-a-ubuntu-lucid-lynx-10-04%2F" title="BarraPunto"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/barrapunto.png" title="BarraPunto" alt="BarraPunto" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://bitacoras.com/anotaciones/http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Factualizar-ubuntu-karmic-koala-9-10-a-ubuntu-lucid-lynx-10-04%2F" title="Bitacoras.com"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/bitacoras.png" title="Bitacoras.com" alt="Bitacoras.com" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://meneame.net/submit.php?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Factualizar-ubuntu-karmic-koala-9-10-a-ubuntu-lucid-lynx-10-04%2F" title="Meneame"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/meneame.png" title="Meneame" alt="Meneame" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Factualizar-ubuntu-karmic-koala-9-10-a-ubuntu-lucid-lynx-10-04%2F&amp;partner=sociable" title="PDF"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://shakaran.es/blog/feed/" title="RSS"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Factualizar-ubuntu-karmic-koala-9-10-a-ubuntu-lucid-lynx-10-04%2F&amp;title=Actualizar%20Ubuntu%20Karmic%20Koala%209.10%20a%20Ubuntu%20Lucid%20Lynx%2010.04" title="StumbleUpon"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F11%2Factualizar-ubuntu-karmic-koala-9-10-a-ubuntu-lucid-lynx-10-04%2F" title="Technorati"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>


<br/><br/>

<p>Entradas relacionadas:<ol><li><a href='http://shakaran.es/blog/2008/08/instalar-transmission-131-en-ubuntu-repositorios-bortis/' rel='bookmark' title='Permanent Link: Instalar Transmission 1.31 en Ubuntu (Repositorios Bortis)'>Instalar Transmission 1.31 en Ubuntu (Repositorios Bortis)</a></li><li><a href='http://shakaran.es/blog/2009/07/arreglo-de-firefox-3-5-x-branding-para-ubuntu-jaunty-karmic/' rel='bookmark' title='Permanent Link: Arreglo de Firefox 3.5.x Branding para Ubuntu Jaunty &#038; Karmic'>Arreglo de Firefox 3.5.x Branding para Ubuntu Jaunty &#038; Karmic</a></li><li><a href='http://shakaran.es/blog/2009/09/como-recuperar-o-restaurar-un-arranque-estropeado-en-ubuntu/' rel='bookmark' title='Permanent Link: Como recuperar o restaurar un arranque estropeado en Ubuntu'>Como recuperar o restaurar un arranque estropeado en Ubuntu</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://shakaran.es/blog/2009/11/actualizar-ubuntu-karmic-koala-9-10-a-ubuntu-lucid-lynx-10-04/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://shakaran.es/blog/2009/11/actualizar-ubuntu-karmic-koala-9-10-a-ubuntu-lucid-lynx-10-04/</feedburner:origLink></item>
		<item>
		<title>JDBC y HSQLDB: crear bases de datos con Java y el motor de base de datos de OpenOffice</title>
		<link>http://feedproxy.google.com/~r/Shakaran/~3/CQsyQFqdTJc/</link>
		<comments>http://shakaran.es/blog/2009/10/jdbc-y-hsqldb-crear-bases-de-datos-con-java-y-el-motor-de-base-de-datos-de-openoffice/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 11:25:22 +0000</pubDate>
		<dc:creator>shakaran</dc:creator>
				<category><![CDATA[Ingeniería del software]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Universidad]]></category>
		<category><![CDATA[alumnos]]></category>
		<category><![CDATA[asignaturas]]></category>
		<category><![CDATA[base]]></category>
		<category><![CDATA[base de datos]]></category>
		<category><![CDATA[conector]]></category>
		<category><![CDATA[consultas]]></category>
		<category><![CDATA[datos]]></category>
		<category><![CDATA[driver]]></category>
		<category><![CDATA[ejemplo]]></category>
		<category><![CDATA[hsql]]></category>
		<category><![CDATA[hsqldb]]></category>
		<category><![CDATA[insert]]></category>
		<category><![CDATA[jdbc]]></category>
		<category><![CDATA[openoffice]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://shakaran.es/blog/?p=649</guid>
		<description><![CDATA[




HSQLDB es un sistema de bases de datos relacional SQL escrito en Java, de unos 600 kb usado por aplicaciones como OpenOffice. Dispone de un controlador JDBC y ofrece un pequeño y rápido sistema de bases de datos que gestiona tablas basadas en disco y memoria con un modo servidor y embebido, además de incluir [...]<br /><div><img src="http://shakaran.es/blog/wp-content/plugins/gd-star-rating/gfx.php?value=9.0" /></div><div>Rating: 9.0/<strong>10</strong> (2 votes cast)</div><br />


Entradas relacionadas:<ol><li><a href='http://shakaran.es/blog/2009/08/crear-paquetes-deb-de-codigo-python-en-ubuntu/' rel='bookmark' title='Permanent Link: Crear paquetes DEB de código Python en Ubuntu'>Crear paquetes DEB de código Python en Ubuntu</a></li></ol>]]></description>
			<content:encoded><![CDATA[<div class="mceTemp mceIEcenter">
<dl id="attachment_672" class="wp-caption aligncenter" style="width: 310px;margin:auto">
<dt class="wp-caption-dt"><a href="http://shakaran.es/blog/wp-content/uploads/2009/10/java-jdbc-hsqldb-openoffice.png"><img class="size-full wp-image-672" title="java-jdbc-hsqldb-openoffice" src="http://shakaran.es/blog/wp-content/uploads/2009/10/java-jdbc-hsqldb-openoffice.png" alt="java-jdbc-hsqldb-openoffice" width="300" height="259" /></a></dt>
</dl>
</div>
<p style="text-align: justify;"><a title="Wikipedia: HSQLDB" href="http://es.wikipedia.org/wiki/HSQLDB" target="_blank">HSQLDB</a> es un sistema de bases de datos relacional SQL escrito en Java, de <strong>unos 600 kb </strong>usado por aplicaciones como OpenOffice. Dispone de un controlador <a title="Wikipedia: JDBC" href="http://es.wikipedia.org/wiki/Java_Database_Connectivity" target="_blank">JDBC</a> y ofrece un <strong>pequeño y rápido</strong> sistema de bases de datos que gestiona tablas basadas en <strong>disco y memoria</strong> con un modo servidor y embebido, además de incluir un pequeño servidor web,  herramientas de manejo y de consulta basadas en memoria que pueden correr en forma de aplicaciones.</p>
<p style="text-align: justify;">En Ubuntu para usuarlo es necesario instalar el <strong>servidor hsqldb</strong>:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=649&amp;download=instalar-hsqldb.txt">instalar-hsqldb.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p64943"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p649code43"><pre class="shell" style="font-family:monospace;">sudo apt-get install hsqldb-server</pre></td></tr></table></div>

<p style="text-align: justify;">A continuación expondré un <strong>pequeño ejemplo</strong> no muy sofisticado para mostrar un posible uso básico. Presupongo un cierto conocimiento en Java y de bases de datos, asi como del lenguaje SQL.</p>
<p style="text-align: justify;">Explicare unas breves líneas de cada parte del código sin profundizar demasiado, ya que el código esta <strong>bastante estructurado </strong>y es casi auto-explicativo para alguien que tenga ciertos conocimientos en la materia. </p>
<p>También ciertas partes del código o mensajes están en inglés, esto es así, porque generalmente estoy acostumbrado a hacerlo de tal modo (y para mí es una <strong>buena práctica</strong> de uso hacerlo), de todas formas no es un inglés demasiado complicado.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=649&amp;download=BDprac.java">BDprac.java</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p64944"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
</pre></td><td class="code" id="p649code44"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.sql.Connection</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.sql.DriverManager</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.sql.ResultSet</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.sql.Statement</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.Properties</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> BDprac
<span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">static</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aconnection+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Connection</span></a> con  <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">static</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astatement+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Statement</span></a>  st   <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>  
    <span style="color: #000000; font-weight: bold;">static</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aresultset+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">ResultSet</span></a>  res  <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span> 
    <span style="color: #000000; font-weight: bold;">static</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a>     sql  <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">final</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> DBH <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;jdbc:hsqldb:file:src/bd&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #666666; font-style: italic;">// With memory: &quot;jdbc:hsqldb:mem:bdname&quot;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> args<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aioexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">IOException</span></a>
    <span style="color: #009900;">&#123;</span>
        loadHSQLDB<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        connectDB<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        createStatement<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        dropTables<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        createTables<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        restoreDB<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        menu<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        closeHSQLDB<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> loadHSQLDB<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;* Starting...&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000000; font-weight: bold;">try</span>
        <span style="color: #009900;">&#123;</span>
            <span style="color: #000000; font-weight: bold;">Class</span>.<span style="color: #006633;">forName</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;org.hsqldb.jdbcDriver&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Load HSQLDB driver</span>
            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;* Loading HSQLDB driver...&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span> 
        <span style="color: #000000; font-weight: bold;">catch</span><span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Exception</span></a> e<span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>  
            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">err</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;ERROR: failed to load HSQLDB JDBC driver.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            e.<span style="color: #006633;">printStackTrace</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000000; font-weight: bold;">return</span><span style="color: #339933;">;</span>  
        <span style="color: #009900;">&#125;</span> 
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> connectDB<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">try</span>
        <span style="color: #009900;">&#123;</span>   <span style="color: #666666; font-style: italic;">// Connect to the database or create if it don't exist </span>
            con <span style="color: #339933;">=</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Adrivermanager+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">DriverManager</span></a>.<span style="color: #006633;">getConnection</span><span style="color: #009900;">&#40;</span>DBH<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;* Creating HSQLDB connection...&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000000; font-weight: bold;">catch</span><span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Exception</span></a> e<span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>
            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">err</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Error: &quot;</span> <span style="color: #339933;">+</span> e.<span style="color: #006633;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000000; font-weight: bold;">return</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> createStatement<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">try</span>
        <span style="color: #009900;">&#123;</span>
            st  <span style="color: #339933;">=</span> con.<span style="color: #006633;">createStatement</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Exception</span></a> e<span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>  
            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">err</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Error: createStatement: &quot;</span> <span style="color: #339933;">+</span> e.<span style="color: #006633;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
            <span style="color: #000000; font-weight: bold;">return</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> dropTables<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">try</span> 
        <span style="color: #009900;">&#123;</span>   <span style="color: #666666; font-style: italic;">// Drop tables</span>
            st.<span style="color: #006633;">executeUpdate</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;DROP TABLE IF EXISTS stusub;DROP TABLE IF EXISTS student;DROP TABLE IF EXISTS subject;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;* Drop table if exists...&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Exception</span></a> e<span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>  
            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">err</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Warning: drop table: &quot;</span> <span style="color: #339933;">+</span> e.<span style="color: #006633;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
        <span style="color: #009900;">&#125;</span>  
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> createTables<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">try</span> 
        <span style="color: #009900;">&#123;</span>   <span style="color: #666666; font-style: italic;">// Create tables</span>
            sql <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;CREATE TABLE student ( &quot;</span> <span style="color: #339933;">+</span>
                                            <span style="color: #0000ff;">&quot;id         INTEGER NOT NULL PRIMARY KEY, &quot;</span> <span style="color: #339933;">+</span>
                                            <span style="color: #0000ff;">&quot;name       VARCHAR(25) NOT NULL, &quot;</span> <span style="color: #339933;">+</span>
                                            <span style="color: #0000ff;">&quot;lastname   VARCHAR(100), &quot;</span> <span style="color: #339933;">+</span>
                                            <span style="color: #0000ff;">&quot;address    VARCHAR(100), &quot;</span> <span style="color: #339933;">+</span>
                                            <span style="color: #0000ff;">&quot;city       VARCHAR(100), &quot;</span> <span style="color: #339933;">+</span>
                                            <span style="color: #0000ff;">&quot;pcode      VARCHAR(5), &quot;</span> <span style="color: #339933;">+</span>
                                            <span style="color: #0000ff;">&quot;email      VARCHAR(80), &quot;</span> <span style="color: #339933;">+</span>
                                            <span style="color: #0000ff;">&quot;mobile     VARCHAR(50), &quot;</span> <span style="color: #339933;">+</span>
                                            <span style="color: #0000ff;">&quot;subject VARCHAR(40),&quot;</span> <span style="color: #339933;">+</span>
                                            <span style="color: #0000ff;">&quot;CONSTRAINT UNIQUE_STU UNIQUE(name)&quot;</span> <span style="color: #339933;">+</span>
                                         <span style="color: #0000ff;">&quot;);&quot;</span><span style="color: #339933;">;</span>  
            st.<span style="color: #006633;">executeUpdate</span><span style="color: #009900;">&#40;</span>sql<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;* Creating student table...&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            sql <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;CREATE TABLE subject ( &quot;</span> <span style="color: #339933;">+</span>
                                            <span style="color: #0000ff;">&quot;id         INTEGER NOT NULL PRIMARY KEY, &quot;</span> <span style="color: #339933;">+</span>
                                            <span style="color: #0000ff;">&quot;name       VARCHAR(100) NOT NULL, &quot;</span> <span style="color: #339933;">+</span>
                                            <span style="color: #0000ff;">&quot;CONSTRAINT UNIQUE_SUB UNIQUE(name)&quot;</span> <span style="color: #339933;">+</span>
                                         <span style="color: #0000ff;">&quot;);&quot;</span><span style="color: #339933;">;</span>  
            st.<span style="color: #006633;">executeUpdate</span><span style="color: #009900;">&#40;</span>sql<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;* Creating subject table...&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            sql <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;CREATE TABLE stusub ( &quot;</span> <span style="color: #339933;">+</span>
                                            <span style="color: #0000ff;">&quot;id             INTEGER NOT NULL PRIMARY KEY, &quot;</span> <span style="color: #339933;">+</span>
                                            <span style="color: #0000ff;">&quot;subject        INTEGER NOT NULL, &quot;</span> <span style="color: #339933;">+</span>
                                            <span style="color: #0000ff;">&quot;student       INTEGER NOT NULL, &quot;</span> <span style="color: #339933;">+</span>
                                            <span style="color: #0000ff;">&quot;FOREIGN KEY (student) REFERENCES student(id), &quot;</span> <span style="color: #339933;">+</span>
                                            <span style="color: #0000ff;">&quot;FOREIGN KEY (subject) REFERENCES subject(id), &quot;</span> <span style="color: #339933;">+</span>
                                            <span style="color: #0000ff;">&quot;CONSTRAINT UNIQUE_STUSUB UNIQUE(subject, student)&quot;</span> <span style="color: #339933;">+</span>
                                         <span style="color: #0000ff;">&quot;);&quot;</span><span style="color: #339933;">;</span>  
            st.<span style="color: #006633;">executeUpdate</span><span style="color: #009900;">&#40;</span>sql<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;* Creating student-subject table...&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span> 
        <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Exception</span></a> e<span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>  
            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">err</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Warning: CREATE TABLE: &quot;</span> <span style="color: #339933;">+</span> e.<span style="color: #006633;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> restoreDB<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">try</span> 
        <span style="color: #009900;">&#123;</span>   <span style="color: #666666; font-style: italic;">// Restore the database  </span>
            st.<span style="color: #006633;">executeUpdate</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;DELETE FROM stusub;DELETE FROM student;DELETE FROM subject;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;* Restore the original databases, removing all previous inserting data.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Exception</span></a> e<span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>  
            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">err</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Warning: error on vacuum tables: &quot;</span> <span style="color: #339933;">+</span> e.<span style="color: #006633;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
        <span style="color: #009900;">&#125;</span> 
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> menu<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #000066; font-weight: bold;">boolean</span> exit <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span>
        <span style="color: #000066; font-weight: bold;">boolean</span> insert <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span>
        <span style="color: #000066; font-weight: bold;">int</span> option<span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>exit<span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>
            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>.: Menu :.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span> <span style="color: #339933;">+</span>
                               <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>0 - Salir<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span> <span style="color: #339933;">+</span>
                               <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>1 - Insertar alumnos y asignaturas por defecto.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span> <span style="color: #339933;">+</span>
                               <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>2 - Modificar el nombre de una asignatura (0 - Literatura).<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span> <span style="color: #339933;">+</span>
                               <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>3 - Consultar alumnos por apellido.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span> <span style="color: #339933;">+</span>
                               <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>4 - Listar todos los alumnos.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span> <span style="color: #339933;">+</span>
                               <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>5 - Listar todas las asignaturas.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>
                               <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
&nbsp;
            <span style="color: #000000; font-weight: bold;">try</span>
            <span style="color: #009900;">&#123;</span>        
                <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">print</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Introduzca una opción numérica:&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                option <span style="color: #339933;">=</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Ainteger+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Integer</span></a>.<span style="color: #006633;">parseInt</span><span style="color: #009900;">&#40;</span>read<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>                   
            <span style="color: #009900;">&#125;</span>
            <span style="color: #000000; font-weight: bold;">catch</span><span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Anumberformatexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">NumberFormatException</span></a> ex<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
                <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;La opción no es un número.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                option <span style="color: #339933;">=</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
&nbsp;
            <span style="color: #000000; font-weight: bold;">switch</span><span style="color: #009900;">&#40;</span>option<span style="color: #009900;">&#41;</span>
            <span style="color: #009900;">&#123;</span>
                <span style="color: #000000; font-weight: bold;">case</span> 0<span style="color: #339933;">:</span>
                    exit <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">true</span><span style="color: #339933;">;</span>
                <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
                <span style="color: #000000; font-weight: bold;">case</span> 1<span style="color: #339933;">:</span>
                    <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>insert<span style="color: #009900;">&#41;</span>
                    <span style="color: #009900;">&#123;</span>
                        insertData<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                        insert <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">true</span><span style="color: #339933;">;</span>
                        <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Datos correctamente insertados.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    <span style="color: #009900;">&#125;</span>
                    <span style="color: #000000; font-weight: bold;">else</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Datos ya insertados previamente.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
                <span style="color: #000000; font-weight: bold;">case</span> 2<span style="color: #339933;">:</span>
                    <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>insert<span style="color: #009900;">&#41;</span>
                    <span style="color: #009900;">&#123;</span>
                        <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Deben insertarse datos previamente.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    <span style="color: #009900;">&#125;</span>
                    <span style="color: #000000; font-weight: bold;">else</span>
                    <span style="color: #009900;">&#123;</span>
                        <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">print</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Introduzca el nuevo nombre para la asignatura 'Literatura':&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                        updateSubject<span style="color: #009900;">&#40;</span>read<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    <span style="color: #009900;">&#125;</span>
                <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
                <span style="color: #000000; font-weight: bold;">case</span> 3<span style="color: #339933;">:</span>
                    <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>insert<span style="color: #009900;">&#41;</span>
                    <span style="color: #009900;">&#123;</span>
                        <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Deben insertarse datos previamente.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    <span style="color: #009900;">&#125;</span>
                    <span style="color: #000000; font-weight: bold;">else</span>
                    <span style="color: #009900;">&#123;</span>
                        <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">print</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Introduzca el apellido a consultar:&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                        showSubjectByLastName<span style="color: #009900;">&#40;</span>read<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    <span style="color: #009900;">&#125;</span>
                <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
                <span style="color: #000000; font-weight: bold;">case</span> 4<span style="color: #339933;">:</span>
                    <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>insert<span style="color: #009900;">&#41;</span>
                    <span style="color: #009900;">&#123;</span>
                        <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Deben insertarse datos previamente.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    <span style="color: #009900;">&#125;</span>
                    <span style="color: #000000; font-weight: bold;">else</span>
                    <span style="color: #009900;">&#123;</span>
                        showStudents<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
                    <span style="color: #009900;">&#125;</span>
                <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
                <span style="color: #000000; font-weight: bold;">case</span> 5<span style="color: #339933;">:</span>
                    <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>insert<span style="color: #009900;">&#41;</span>
                    <span style="color: #009900;">&#123;</span>
                        <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Deben insertarse datos previamente.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    <span style="color: #009900;">&#125;</span>
                    <span style="color: #000000; font-weight: bold;">else</span>
                    <span style="color: #009900;">&#123;</span>
                        showSubjects<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    <span style="color: #009900;">&#125;</span>
                <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
                <span style="color: #000000; font-weight: bold;">default</span><span style="color: #339933;">:</span>
                    <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Opcion incorrecta.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> closeHSQLDB<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #666666; font-style: italic;">// Save temporal data and close</span>
        <span style="color: #000000; font-weight: bold;">try</span>
        <span style="color: #009900;">&#123;</span>
            st <span style="color: #339933;">=</span> con.<span style="color: #006633;">createStatement</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
            st.<span style="color: #006633;">executeUpdate</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;SHUTDOWN&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
            st.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000000; font-weight: bold;">catch</span><span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Exception</span></a> e<span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>
            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Error: save temporal data&quot;</span> <span style="color: #339933;">+</span> e.<span style="color: #006633;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #000000; font-weight: bold;">try</span>
        <span style="color: #009900;">&#123;</span>
            con.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000000; font-weight: bold;">catch</span><span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Exception</span></a> e<span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>
            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Error: &quot;</span> <span style="color: #339933;">+</span> e.<span style="color: #006633;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            e.<span style="color: #006633;">printStackTrace</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000000; font-weight: bold;">return</span><span style="color: #339933;">;</span> 
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> read<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">try</span>
        <span style="color: #009900;">&#123;</span>
            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abufferedreader+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BufferedReader</span></a> br <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abufferedreader+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BufferedReader</span></a><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Ainputstreamreader+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">InputStreamReader</span></a><span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">in</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000000; font-weight: bold;">return</span> br.<span style="color: #006633;">readLine</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000000; font-weight: bold;">catch</span><span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Exception</span></a> e<span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span> 
            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Error en la lectura de datos:<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            e.<span style="color: #006633;">printStackTrace</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> insertData<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #666666; font-style: italic;">// Insert data  </span>
        <span style="color: #000000; font-weight: bold;">try</span> 
        <span style="color: #009900;">&#123;</span> 
            <span style="color: #666666; font-style: italic;">//Insert subject</span>
            st.<span style="color: #006633;">executeUpdate</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;INSERT INTO subject VALUES ('0', 'Literatura')&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
            st.<span style="color: #006633;">executeUpdate</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;INSERT INTO subject VALUES ('1', 'Ciencia')&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
            st.<span style="color: #006633;">executeUpdate</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;INSERT INTO subject VALUES ('2', 'Redes')&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
&nbsp;
            <span style="color: #666666; font-style: italic;">//Insert student</span>
            st.<span style="color: #006633;">executeUpdate</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;INSERT INTO student VALUES ('0', 'Juan', 'Garrido', 'Sol, 12', 'Sevilla', '13206', 'j.garrido@gmail.com', '609555321', '0')&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
            st.<span style="color: #006633;">executeUpdate</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;INSERT INTO student VALUES ('1', 'Luis', 'Garrido', 'Flor, 5', 'Melilla', '43712', 'l.garrido@gmail.com', '615827343', '0')&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
            st.<span style="color: #006633;">executeUpdate</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;INSERT INTO student VALUES ('2', 'Teresa', 'Garcia', 'Mata, 18', 'Madrid', '28045', 'tere.garcia@gmail.com', '678123687', '1')&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
&nbsp;
            <span style="color: #666666; font-style: italic;">//Foreign keys stusub</span>
            st.<span style="color: #006633;">executeUpdate</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;INSERT INTO stusub VALUES ('0', '0', '0')&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
            st.<span style="color: #006633;">executeUpdate</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;INSERT INTO stusub VALUES ('1', '0', '1')&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
            st.<span style="color: #006633;">executeUpdate</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;INSERT INTO stusub VALUES ('2', '1', '2')&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Exception</span></a> e<span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>  
            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">err</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Warning: error on insert data: &quot;</span> <span style="color: #339933;">+</span> e.<span style="color: #006633;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
            e.<span style="color: #006633;">printStackTrace</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000000; font-weight: bold;">return</span><span style="color: #339933;">;</span> 
        <span style="color: #009900;">&#125;</span> 
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> showStudents<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">try</span> 
        <span style="color: #009900;">&#123;</span> 
            <span style="color: #666666; font-style: italic;">// Mostramos por pantalla todos los alumnos de la tabla  </span>
            res <span style="color: #339933;">=</span> st.<span style="color: #006633;">executeQuery</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;SELECT * FROM student INNER JOIN subject ON student.subject = subject.id&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;ID<span style="color: #000099; font-weight: bold;">\t</span>Nombre<span style="color: #000099; font-weight: bold;">\t</span>Apellido Direccion<span style="color: #000099; font-weight: bold;">\t</span>Ciudad<span style="color: #000099; font-weight: bold;">\t</span>Codigo Postal<span style="color: #000099; font-weight: bold;">\t</span><span style="color: #000099; font-weight: bold;">\t</span>Email<span style="color: #000099; font-weight: bold;">\t</span><span style="color: #000099; font-weight: bold;">\t</span>Movil<span style="color: #000099; font-weight: bold;">\t</span><span style="color: #000099; font-weight: bold;">\t</span>Asignatura<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span> <span style="color: #339933;">+</span> 
                               <span style="color: #0000ff;">&quot;-------------------------------------------------------------------------------------------&quot;</span> <span style="color: #339933;">+</span> 
                               <span style="color: #0000ff;">&quot;--------------------------&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
            <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>res.<span style="color: #006633;">next</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
            <span style="color: #009900;">&#123;</span>  
                <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>res.<span style="color: #006633;">getInt</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;id&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>&quot;</span> <span style="color: #339933;">+</span> 
                                   res.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;name&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>&quot;</span> <span style="color: #339933;">+</span> 
                                   res.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;lastname&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\t</span> &quot;</span> <span style="color: #339933;">+</span> 
                                   res.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;address&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>&quot;</span> <span style="color: #339933;">+</span> 
                                   res.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;city&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>&quot;</span> <span style="color: #339933;">+</span> 
                                   res.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;pcode&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\t</span><span style="color: #000099; font-weight: bold;">\t</span>&quot;</span> <span style="color: #339933;">+</span> 
                                   res.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;email&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>&quot;</span> <span style="color: #339933;">+</span> 
                                   res.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;mobile&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>&quot;</span> <span style="color: #339933;">+</span> 
                                   res.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;subject&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
&nbsp;
            <span style="color: #666666; font-style: italic;">// Free memory</span>
            res.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Exception</span></a> e<span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>  
            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">err</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Warning: SELECT JOIN student: &quot;</span> <span style="color: #339933;">+</span> e.<span style="color: #006633;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> showSubjectByLastName<span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> lastname<span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">try</span> 
        <span style="color: #009900;">&#123;</span> 
            <span style="color: #666666; font-style: italic;">// Mostramos por pantalla todos los alumnos de la tabla  </span>
            res <span style="color: #339933;">=</span> st.<span style="color: #006633;">executeQuery</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;SELECT * FROM student WHERE lastname = '&quot;</span> <span style="color: #339933;">+</span> lastname <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;'&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;ID<span style="color: #000099; font-weight: bold;">\t</span>Nombre<span style="color: #000099; font-weight: bold;">\t</span>Apellido Direccion<span style="color: #000099; font-weight: bold;">\t</span>Ciudad<span style="color: #000099; font-weight: bold;">\t</span>Codigo Postal<span style="color: #000099; font-weight: bold;">\t</span><span style="color: #000099; font-weight: bold;">\t</span>Email<span style="color: #000099; font-weight: bold;">\t</span><span style="color: #000099; font-weight: bold;">\t</span>Movil<span style="color: #000099; font-weight: bold;">\t</span><span style="color: #000099; font-weight: bold;">\t</span>Asignatura<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span> <span style="color: #339933;">+</span> 
                               <span style="color: #0000ff;">&quot;-------------------------------------------------------------------------------------------&quot;</span> <span style="color: #339933;">+</span> 
                               <span style="color: #0000ff;">&quot;--------------------------&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
            <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>res.<span style="color: #006633;">next</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
            <span style="color: #009900;">&#123;</span>  
                <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>res.<span style="color: #006633;">getInt</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;id&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>&quot;</span> <span style="color: #339933;">+</span> 
                                   res.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;name&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>&quot;</span> <span style="color: #339933;">+</span> 
                                   res.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;lastname&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\t</span> &quot;</span> <span style="color: #339933;">+</span> 
                                   res.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;address&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>&quot;</span> <span style="color: #339933;">+</span> 
                                   res.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;city&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>&quot;</span> <span style="color: #339933;">+</span> 
                                   res.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;pcode&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\t</span><span style="color: #000099; font-weight: bold;">\t</span>&quot;</span> <span style="color: #339933;">+</span> 
                                   res.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;email&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>&quot;</span> <span style="color: #339933;">+</span> 
                                   res.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;mobile&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>&quot;</span> <span style="color: #339933;">+</span> 
                                   res.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;subject&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
&nbsp;
            <span style="color: #666666; font-style: italic;">// Free memory</span>
            res.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Exception</span></a> e<span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>  
            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">err</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Warning: SELECT lastname student: &quot;</span> <span style="color: #339933;">+</span> e.<span style="color: #006633;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> showSubjects<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">try</span> 
        <span style="color: #009900;">&#123;</span> 
            <span style="color: #666666; font-style: italic;">// Mostramos por pantalla todos las asignaturas de la tabla  </span>
            res <span style="color: #339933;">=</span> st.<span style="color: #006633;">executeQuery</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;SELECT * FROM subject&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;ID<span style="color: #000099; font-weight: bold;">\t</span>Nombre<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span> <span style="color: #339933;">+</span> 
                               <span style="color: #0000ff;">&quot;--------------------&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
            <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>res.<span style="color: #006633;">next</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
            <span style="color: #009900;">&#123;</span>  
                <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>res.<span style="color: #006633;">getInt</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;id&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>&quot;</span> <span style="color: #339933;">+</span> 
                                   res.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;name&quot;</span><span style="color: #009900;">&#41;</span>
                                   <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
&nbsp;
            <span style="color: #666666; font-style: italic;">// Free memory</span>
            res.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Exception</span></a> e<span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>  
            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">err</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Warning: SELECT subject: &quot;</span> <span style="color: #339933;">+</span> e.<span style="color: #006633;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> updateSubject<span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> data<span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #666666; font-style: italic;">// Make a update</span>
        <span style="color: #000000; font-weight: bold;">try</span> 
        <span style="color: #009900;">&#123;</span> 
            st.<span style="color: #006633;">executeUpdate</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;UPDATE subject SET name='&quot;</span> <span style="color: #339933;">+</span> data <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;' WHERE id=0&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Exception</span></a> e<span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>  
            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">err</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Warning: UPDATE subject: &quot;</span> <span style="color: #339933;">+</span> e.<span style="color: #006633;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
        <span style="color: #009900;">&#125;</span> 
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>De la linea 1 a 7 se cargan los archivos necesarios para el funcionamiento del programa.</p>
<p>La linea 9 crea la clase BDprac. En ella tenemos unas <strong>variables globales</strong> a la clase desde la línea 11 a 14, que serán utilizadas para las posteriores consultas y resultados.</p>
<p>La línea 15 es interesante porque especifica el <strong>DBH (Data-Base-Host</strong>), es decir, el enlace o ruta hasta nuestra base de datos. En nuestro caso sera un archivo local, y primero invocaremos al controlador jdbc, seguido de hsqldb e indicaremos que es un <strong>archivo</strong> en la ruta src/ y con el nombre bd. Tambien es posible crear la base de datos en <strong>memoria</strong> como esta comentado en la linea 16.</p>
<p>En las líneas 18-28 tenemos el main, donde se han encapsulado en una serie de métodos todo el funcionamiento del programa (por resultar más didáctico).</p>
<p>Los métodos estan <strong>dispuestos en orden</strong> en el codigo asi que paso a comentarlos brevemente.</p>
<p><strong>loadHSQLDB()</strong> de la línea 30 a 44, se encarga de inicializar o cargar el controlador JDBC y mostrar un mensaje en caso de fallo.</p>
<p><strong>connectDB()</strong> de la línea 46 a 58, se encarga de conectar el controlador HSQLDB a nuestro DBH en la base de datos.</p>
<p><strong>createStatement()</strong> de la línea 60 a 71, prepara una consulta a la base de datos.</p>
<p><strong>dropTables()</strong> de la línea 73 a 84, hace una limpieza inicial (borra si existen) de las tablas que hayan podido usarse en ejecuciones anteriores del programa (para evitar conflictos con antiguas insercciones).</p>
<p><strong>createTables()</strong> de la línea 86 a 128, crea tres tablas, alumnos, asignaturas y la tabla de referencias ajenas alumnos-asignatura.</p>
<p><strong>restoreDB()</strong> de la línea 130 a 141 borra los posibles datos que existieran en las tablas anteriores.</p>
<p><strong>menu()</strong> de la línea 143 a 231, contiene el uso del programa, la lectura de opciones y filtrado de acciones segun el parámetro elegido.</p>
<p><strong>closeHSQLDB()</strong> de la línea 233 a 257, se encarga de cerrar la conexión HSQLDB y finalizar las consultas abiertas. Es ejecutada al finalizar el programa.</p>
<p><strong>read()</strong> de la línea 259 a 272, es un método encargado de la lectura de datos de entrada.</p>
<p><strong>insertData()</strong> de la línea 274 a 300, inserta los datos iniciales en la tablas del programa a modo de ejemplo.</p>
<p><strong>showStudents()</strong> de la línea 302 a 331, muestra todos los alumnos disponibles en la tabla students.</p>
<p><strong>showSubjectByLastName()</strong> de la línea 333 a 362, muestra los alumnos que coincidan en apellido con el filtro de apellido recibido por parámetro lastname.</p>
<p><strong>showSubjects()</strong> de la línea 364 a 386, lista todas las asignaturas disponibles en la tabla subjects.</p>
<p><strong>updateSubject()</strong> de la línea 388 a 399, actualiza el nombre de la asignatura 0 (Literatura) al nombre recibido por parámetro data.</p>
<p>Para que la <strong>compilación y la ejecución</strong> resulte más sencilla, he preparado un archivo Makefile, que establecerá la ruta de HSQLDB y de nuestro directorio de trabajo (y ademas con clean, tiene una opción de borrado de archivos generados):</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=649&amp;download=Makefile.txt">Makefile.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p64945"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="code" id="p649code45"><pre class="shell" style="font-family:monospace;">JAVA_PATH = src/:/usr/share/java/hsqldb.jar:.
BOLD = \033[1m
END  = \033[0m
&nbsp;
all:
	@echo &quot;$(BOLD)&gt;&gt;&gt; Compilando archivos Java... &lt; &lt;&lt;$(END)&quot;
	javac src/BDprac.java 
&nbsp;
	@echo &quot;\n$(BOLD)&gt;&gt;&gt; Ejecutando archivos Java... &lt; &lt;&lt;$(END)&quot;
	java -classpath $(JAVA_PATH) BDprac
&nbsp;
clean:
	$(RM) src/*.class src/*~ src/*.script src/*.properties</pre></td></tr></table></div>

<h2><span style="color: #993300;">Ejemplos de uso</span></h2>
<p>El programa carga el controlador y realiza una <strong>conexión HSQLDB</strong> a un archivo de base de datos creado en tiempo de ejecución (también se puede crear un archivo en memoria, ver línea 16 comentada en el código). Se crean las <strong>tablas iniciales</strong> (alumno y asignaturas) y una tabla para las claves ajenas. También se procede al borrado y vaciado de datos, por si la aplicación ha sido iniciada anteriormente (a modo de limpieza).</p>
<p>Posteriormente aparecerá un <strong>menú</strong> con algunas opciones básicas. Si pretendemos hacer alguna operación sin insertar datos previamente, se nos mostrará un mensaje (por ejemplo metiendo la opción 3 al inicio).</p>
<p>Después de insertar los datos, podemos hacer una <strong>consulta</strong> de todos los alumnos, eligiendo la opción 4.</p>
<p>Si deseamos <strong>cambiar el nombre</strong> de una asignatura (para el ejemplo siempre la 0, de Literatura), elegiremos la opción 2, e introduciremos el nuevo nombre (en este caso Arte). Y con la opción 5 podremos listar las asignaturas antes y después del cambio.</p>
<p>Con la opción 3, podemos <strong>consultar los alumnos</strong> por nombre de apellido, por ejemplo, introduciendo “Garrido” se listan los alumnos con apellido Garrido. Y con 0 finalizaremos la ejecución del programa.</p>
<p><strong>Ejemplo de una traza de ejecución</strong>
</pre>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=649&amp;download=traza.txt">traza.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p64946"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
</pre></td><td class="code" id="p649code46"><pre class="text" style="font-family:monospace;">$ make
&gt;&gt;&gt; Compilando archivos Java... &lt; &lt;&lt;
javac src/BDprac.java 
&nbsp;
&gt;&gt;&gt; Ejecutando archivos Java... &lt; &lt;&lt;
java -classpath src/:/usr/share/java/hsqldb.jar:. BDprac
* Starting...
* Loading HSQLDB driver...
* Creating HSQLDB connection...
* Drop table if exists...
* Creating student table...
* Creating subject table...
* Creating student-subject table...
* Restore the original databases, removing all previous inserting data.
	.: Menu :.
	0 - Salir
	1 - Insertar alumnos y asignaturas por defecto.
	2 - Modificar el nombre de una asignatura (0 - Literatura).
	3 - Consultar alumnos por apellido.
	4 - Listar todos los alumnos.
	5 - Listar todas las asignaturas.
&nbsp;
Introduzca una opción numérica:3
Deben insertarse datos previamente.
	.: Menu :.
	0 - Salir
	1 - Insertar alumnos y asignaturas por defecto.
	2 - Modificar el nombre de una asignatura (0 - Literatura).
	3 - Consultar alumnos por apellido.
	4 - Listar todos los alumnos.
	5 - Listar todas las asignaturas.
&nbsp;
Introduzca una opción numérica:1
Datos correctamente insertados.
&nbsp;
	.: Menu :.
	0 - Salir
	1 - Insertar alumnos y asignaturas por defecto.
	2 - Modificar el nombre de una asignatura (0 - Literatura).
	3 - Consultar alumnos por apellido.
	4 - Listar todos los alumnos.
	5 - Listar todas las asignaturas.
&nbsp;
Introduzca una opción numérica:4
ID	Nombre	Apellido Direccion	Ciudad	Codigo Postal		Email		Movil		Asignatura
---------------------------------------------------------------------------------------------------------------------
0	Juan	Garrido	 Sol, 12	Sevilla	13206		j.garrido@gmail.com	609555321	0
1	Luis	Garrido	 Flor, 5	Melilla	43712		l.garrido@gmail.com	615827343	0
2	Teresa	Garcia	 Mata, 18	Madrid	28045		tere.garcia@gmail.com	678123687	1
	.: Menu :.
	0 - Salir
	1 - Insertar alumnos y asignaturas por defecto.
	2 - Modificar el nombre de una asignatura (0 - Literatura).
	3 - Consultar alumnos por apellido.
	4 - Listar todos los alumnos.
	5 - Listar todas las asignaturas.
&nbsp;
Introduzca una opción numérica:
La opción no es un número.
Opcion incorrecta.
&nbsp;
	.: Menu :.
	0 - Salir
	1 - Insertar alumnos y asignaturas por defecto.
	2 - Modificar el nombre de una asignatura (0 - Literatura).
	3 - Consultar alumnos por apellido.
	4 - Listar todos los alumnos.
	5 - Listar todas las asignaturas.
&nbsp;
Introduzca una opción numérica:5
ID	Nombre
--------------------
0	Literatura
1	Ciencia
2	Redes
	.: Menu :.
	0 - Salir
	1 - Insertar alumnos y asignaturas por defecto.
	2 - Modificar el nombre de una asignatura (0 - Literatura).
	3 - Consultar alumnos por apellido.
	4 - Listar todos los alumnos.
	5 - Listar todas las asignaturas.
&nbsp;
Introduzca una opción numérica:2
Introduzca el nuevo nombre para la asignatura 'Literatura':Arte
	.: Menu :.
	0 - Salir
	1 - Insertar alumnos y asignaturas por defecto.
	2 - Modificar el nombre de una asignatura (0 - Literatura).
	3 - Consultar alumnos por apellido.
	4 - Listar todos los alumnos.
	5 - Listar todas las asignaturas.
&nbsp;
Introduzca una opción numérica:5
ID	Nombre
--------------------
0	Arte
1	Ciencia
2	Redes
	.: Menu :.
	0 - Salir
	1 - Insertar alumnos y asignaturas por defecto.
	2 - Modificar el nombre de una asignatura (0 - Literatura).
	3 - Consultar alumnos por apellido.
	4 - Listar todos los alumnos.
	5 - Listar todas las asignaturas.
&nbsp;
Introduzca una opción numérica:3
Introduzca el apellido a consultar:Garrido
ID	Nombre	Apellido Direccion	Ciudad	Codigo Postal		Email		Movil		Asignatura
---------------------------------------------------------------------------------------------------------------------
0	Juan	Garrido	 Sol, 12	Sevilla	13206		j.garrido@gmail.com	609555321	0
1	Luis	Garrido	 Flor, 5	Melilla	43712		l.garrido@gmail.com	615827343	0
	.: Menu :.
	0 - Salir
	1 - Insertar alumnos y asignaturas por defecto.
	2 - Modificar el nombre de una asignatura (0 - Literatura).
	3 - Consultar alumnos por apellido.
	4 - Listar todos los alumnos.
	5 - Listar todas las asignaturas.
&nbsp;
Introduzca una opción numérica:0</pre></td></tr></table></div>

<p>Si lo deseas, puedes<strong> descargar el ejemplo completo</strong> en un archivo empaquetado y comprimido con Gzip en formato tar.gz:</p>
<p>Descargar: <a class="downloadlink" href="http://shakaran.es/blog/wp-content/plugins/download-monitor/download.php?id=7" title=" downloaded 9 times" >java-jdbc-hsqldb-openoffice-example.tar.gz (9)</a></p>
<p>Nota: todos los datos de alumnos de este artículo son <strong>ficticios</strong>.
</pre>
<br /><div><img src="http://shakaran.es/blog/wp-content/plugins/gd-star-rating/gfx.php?value=9.0" /></div><div>Rating: 9.0/<strong>10</strong> (2 votes cast)</div><br />


Comparte, descargalo en pdf, imprimelo o enviaselo a un amigo!


	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F10%2Fjdbc-y-hsqldb-crear-bases-de-datos-con-java-y-el-motor-de-base-de-datos-de-openoffice%2F&amp;partner=sociable" title="Print"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F10%2Fjdbc-y-hsqldb-crear-bases-de-datos-con-java-y-el-motor-de-base-de-datos-de-openoffice%2F&amp;title=JDBC%20y%20HSQLDB%3A%20crear%20bases%20de%20datos%20con%20Java%20y%20el%20motor%20de%20base%20de%20datos%20de%20OpenOffice&amp;bodytext=%20%20%0D%0AHSQLDB%20es%20un%20sistema%20de%20bases%20de%20datos%20relacional%20SQL%20escrito%20en%20Java%2C%20de%20unos%20600%20kb%20usado%20por%20aplicaciones%20como%20OpenOffice.%20Dispone%20de%20un%20controlador%20JDBC%20y%20ofrece%20un%20peque%C3%B1o%20y%20r%C3%A1pido%20sistema%20de%20bases%20de%20datos%20que%20gestiona%20tablas%20basadas%20en%20d" title="Digg"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F10%2Fjdbc-y-hsqldb-crear-bases-de-datos-con-java-y-el-motor-de-base-de-datos-de-openoffice%2F&amp;title=JDBC%20y%20HSQLDB%3A%20crear%20bases%20de%20datos%20con%20Java%20y%20el%20motor%20de%20base%20de%20datos%20de%20OpenOffice&amp;notes=%20%20%0D%0AHSQLDB%20es%20un%20sistema%20de%20bases%20de%20datos%20relacional%20SQL%20escrito%20en%20Java%2C%20de%20unos%20600%20kb%20usado%20por%20aplicaciones%20como%20OpenOffice.%20Dispone%20de%20un%20controlador%20JDBC%20y%20ofrece%20un%20peque%C3%B1o%20y%20r%C3%A1pido%20sistema%20de%20bases%20de%20datos%20que%20gestiona%20tablas%20basadas%20en%20d" title="del.icio.us"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F10%2Fjdbc-y-hsqldb-crear-bases-de-datos-con-java-y-el-motor-de-base-de-datos-de-openoffice%2F&amp;t=JDBC%20y%20HSQLDB%3A%20crear%20bases%20de%20datos%20con%20Java%20y%20el%20motor%20de%20base%20de%20datos%20de%20OpenOffice" title="Facebook"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F10%2Fjdbc-y-hsqldb-crear-bases-de-datos-con-java-y-el-motor-de-base-de-datos-de-openoffice%2F&amp;title=JDBC%20y%20HSQLDB%3A%20crear%20bases%20de%20datos%20con%20Java%20y%20el%20motor%20de%20base%20de%20datos%20de%20OpenOffice&amp;annotation=%20%20%0D%0AHSQLDB%20es%20un%20sistema%20de%20bases%20de%20datos%20relacional%20SQL%20escrito%20en%20Java%2C%20de%20unos%20600%20kb%20usado%20por%20aplicaciones%20como%20OpenOffice.%20Dispone%20de%20un%20controlador%20JDBC%20y%20ofrece%20un%20peque%C3%B1o%20y%20r%C3%A1pido%20sistema%20de%20bases%20de%20datos%20que%20gestiona%20tablas%20basadas%20en%20d" title="Google Bookmarks"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://barrapunto.com/submit.pl?subj=JDBC%20y%20HSQLDB%3A%20crear%20bases%20de%20datos%20con%20Java%20y%20el%20motor%20de%20base%20de%20datos%20de%20OpenOffice&amp;story=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F10%2Fjdbc-y-hsqldb-crear-bases-de-datos-con-java-y-el-motor-de-base-de-datos-de-openoffice%2F" title="BarraPunto"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/barrapunto.png" title="BarraPunto" alt="BarraPunto" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://bitacoras.com/anotaciones/http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F10%2Fjdbc-y-hsqldb-crear-bases-de-datos-con-java-y-el-motor-de-base-de-datos-de-openoffice%2F" title="Bitacoras.com"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/bitacoras.png" title="Bitacoras.com" alt="Bitacoras.com" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://meneame.net/submit.php?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F10%2Fjdbc-y-hsqldb-crear-bases-de-datos-con-java-y-el-motor-de-base-de-datos-de-openoffice%2F" title="Meneame"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/meneame.png" title="Meneame" alt="Meneame" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F10%2Fjdbc-y-hsqldb-crear-bases-de-datos-con-java-y-el-motor-de-base-de-datos-de-openoffice%2F&amp;partner=sociable" title="PDF"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://shakaran.es/blog/feed/" title="RSS"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F10%2Fjdbc-y-hsqldb-crear-bases-de-datos-con-java-y-el-motor-de-base-de-datos-de-openoffice%2F&amp;title=JDBC%20y%20HSQLDB%3A%20crear%20bases%20de%20datos%20con%20Java%20y%20el%20motor%20de%20base%20de%20datos%20de%20OpenOffice" title="StumbleUpon"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F10%2Fjdbc-y-hsqldb-crear-bases-de-datos-con-java-y-el-motor-de-base-de-datos-de-openoffice%2F" title="Technorati"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>


<br/><br/>

<p>Entradas relacionadas:<ol><li><a href='http://shakaran.es/blog/2009/08/crear-paquetes-deb-de-codigo-python-en-ubuntu/' rel='bookmark' title='Permanent Link: Crear paquetes DEB de código Python en Ubuntu'>Crear paquetes DEB de código Python en Ubuntu</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://shakaran.es/blog/2009/10/jdbc-y-hsqldb-crear-bases-de-datos-con-java-y-el-motor-de-base-de-datos-de-openoffice/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://shakaran.es/blog/2009/10/jdbc-y-hsqldb-crear-bases-de-datos-con-java-y-el-motor-de-base-de-datos-de-openoffice/</feedburner:origLink></item>
		<item>
		<title>Instalar el intérprete SWI-Prolog para ejecutar código Prolog en Ubuntu</title>
		<link>http://feedproxy.google.com/~r/Shakaran/~3/YUeq4iHlr8k/</link>
		<comments>http://shakaran.es/blog/2009/10/instalar-el-interprete-swi-prolog-para-ejecutar-codigo-prolog-en-ubuntu/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 16:43:56 +0000</pubDate>
		<dc:creator>shakaran</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programación Declarativa]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Universidad]]></category>
		<category><![CDATA[declarativa]]></category>
		<category><![CDATA[intérprete]]></category>
		<category><![CDATA[paquete]]></category>
		<category><![CDATA[pl]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[prolog]]></category>
		<category><![CDATA[swi]]></category>
		<category><![CDATA[swi-pl]]></category>
		<category><![CDATA[swi-prolog]]></category>
		<category><![CDATA[swipl]]></category>
		<category><![CDATA[swiprolog]]></category>
		<category><![CDATA[synaptic]]></category>

		<guid isPermaLink="false">http://shakaran.es/blog/?p=657</guid>
		<description><![CDATA[<!-- pb255 --><div class="pagebar">Páginas:&nbsp;<span class="inactive">Anterior</span>
<span class="this-page">1</span>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">2</a>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">Siguiente</a>
</div><!-- pb255 --><div class="pagebar">Páginas:&nbsp;<span class="inactive">Anterior</span>
<span class="this-page">1</span>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">2</a>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">Siguiente</a>
</div><!-- pb255 --><div class="pagebar">Páginas:&nbsp;<span class="inactive">Anterior</span>
<span class="this-page">1</span>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">2</a>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">Siguiente</a>
</div><!-- pb255 --><div class="pagebar">Páginas:&nbsp;<span class="inactive">Anterior</span>
<span class="this-page">1</span>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">2</a>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">Siguiente</a>
</div>




Si vas a programar declarativamente con Prolog, en Ubuntu es posible hacerlo instalando el paquete de SWI-Prolog. Para ello busca en Synaptic el paquete swi-prolog o bien instalalo mediante terminal:

?Descargar instalar.txt1
sudo apt-get install swi-prolog

Para ejecutar el intte en el terminal:

?Descargar ejecutar.txt1
$ swipl

Para salir escribe halt (seguido de un punto):

?Descargar ejecutar-y-salir.txt1
2
3
4
5
6
7
8
9
10
11
$ swipl
Welcome to SWI-Prolog (Multi-threaded, 32 [...]<br /><div><img src="http://shakaran.es/blog/wp-content/plugins/gd-star-rating/gfx.php?value=7.0" /></div><div>Rating: 7.0/<strong>10</strong> (1 vote cast)</div><br />


Entradas relacionadas:<ol><li><a href='http://shakaran.es/blog/2009/09/tivion-un-reproductor-streaming-para-tv-online-en-ubuntu/' rel='bookmark' title='Permanent Link: Tivion: un reproductor streaming para TV online en Ubuntu'>Tivion: un reproductor streaming para TV online en Ubuntu</a></li><li><a href='http://shakaran.es/blog/2009/07/arreglo-de-firefox-3-5-x-branding-para-ubuntu-jaunty-karmic/' rel='bookmark' title='Permanent Link: Arreglo de Firefox 3.5.x Branding para Ubuntu Jaunty &#038; Karmic'>Arreglo de Firefox 3.5.x Branding para Ubuntu Jaunty &#038; Karmic</a></li><li><a href='http://shakaran.es/blog/2008/08/instalar-transmission-131-en-ubuntu-repositorios-bortis/' rel='bookmark' title='Permanent Link: Instalar Transmission 1.31 en Ubuntu (Repositorios Bortis)'>Instalar Transmission 1.31 en Ubuntu (Repositorios Bortis)</a></li></ol>]]></description>
			<content:encoded><![CDATA[<!-- pb255 --><div class="pagebar">Páginas:&nbsp;<span class="inactive">Anterior</span>
<span class="this-page">1</span>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">2</a>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">Siguiente</a>
</div><!-- pb255 --><div class="pagebar">Páginas:&nbsp;<span class="inactive">Anterior</span>
<span class="this-page">1</span>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">2</a>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">Siguiente</a>
</div><div class="mceTemp mceIEcenter">
<dl id="attachment_655" class="wp-caption aligncenter" style="width: 146px;margin:auto">
<dt class="wp-caption-dt"><a href="http://shakaran.es/blog/wp-content/uploads/2009/10/swipl.jpeg" mce_href="http://shakaran.es/blog/wp-content/uploads/2009/10/swipl.jpeg"><img src="http://shakaran.es/blog/wp-content/uploads/2009/10/swipl.jpeg" mce_src="http://shakaran.es/blog/wp-content/uploads/2009/10/swipl.jpeg" alt="SWI-Prolog logo" title="SWI-Prolog logo" class="size-full wp-image-655" height="127" width="136"/></a><br mce_bogus="1"/></dt>
</dl>
</div>
<p>Si vas a programar declarativamente con Prolog, en Ubuntu es posible hacerlo instalando el paquete de SWI-Prolog. Para ello busca en Synaptic el paquete <tt>swi-prolog</tt> o bien instalalo mediante terminal:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=657&amp;download=instalar.txt">instalar.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p65750"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p657code50"><pre class="shell" style="font-family:monospace;">sudo apt-get install swi-prolog</pre></td></tr></table></div>

<p>Para ejecutar el intte en el terminal:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=657&amp;download=ejecutar.txt">ejecutar.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p65751"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p657code51"><pre class="shell" style="font-family:monospace;">$ swipl</pre></td></tr></table></div>

<p>Para salir escribe halt (seguido de un punto):</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=657&amp;download=ejecutar-y-salir.txt">ejecutar-y-salir.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p65752"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code" id="p657code52"><pre class="shell" style="font-family:monospace;">$ swipl
Welcome to SWI-Prolog (Multi-threaded, 32 bits, Version 5.6.64)
Copyright (c) 1990-2008 University of Amsterdam.
&nbsp;
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to redistribute it under certain conditions.
Please visit http://www.swi-prolog.org for details.
&nbsp;
For help, use ?- help(Topic). or ?- apropos(Word).
&nbsp;
?- halt.</pre></td></tr></table></div>

<br /><div><img src="http://shakaran.es/blog/wp-content/plugins/gd-star-rating/gfx.php?value=7.0" /></div><div>Rating: 7.0/<strong>10</strong> (1 vote cast)</div><br />


Comparte, descargalo en pdf, imprimelo o enviaselo a un amigo!


	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F10%2Finstalar-el-interprete-swi-prolog-para-ejecutar-codigo-prolog-en-ubuntu%2F&amp;partner=sociable" title="Print"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F10%2Finstalar-el-interprete-swi-prolog-para-ejecutar-codigo-prolog-en-ubuntu%2F&amp;title=Instalar%20el%20int%C3%A9rprete%20SWI-Prolog%20para%20ejecutar%20c%C3%B3digo%20Prolog%20en%20Ubuntu&amp;bodytext=%0D%0A%0D%0ASi%20vas%20a%20programar%20declarativamente%20con%20Prolog%2C%20en%20Ubuntu%20es%20posible%20hacerlo%20instalando%20el%20paquete%20de%20SWI-Prolog.%20Para%20ello%20busca%20en%20Synaptic%20el%20paquete%20swi-prolog%20o%20bien%20instalalo%20mediante%20terminal%3A%0D%0A%0D%0Asudo%20apt-get%20install%20swi-prolog%0D%0A%0D%0APara%20eje" title="Digg"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F10%2Finstalar-el-interprete-swi-prolog-para-ejecutar-codigo-prolog-en-ubuntu%2F&amp;title=Instalar%20el%20int%C3%A9rprete%20SWI-Prolog%20para%20ejecutar%20c%C3%B3digo%20Prolog%20en%20Ubuntu&amp;notes=%0D%0A%0D%0ASi%20vas%20a%20programar%20declarativamente%20con%20Prolog%2C%20en%20Ubuntu%20es%20posible%20hacerlo%20instalando%20el%20paquete%20de%20SWI-Prolog.%20Para%20ello%20busca%20en%20Synaptic%20el%20paquete%20swi-prolog%20o%20bien%20instalalo%20mediante%20terminal%3A%0D%0A%0D%0Asudo%20apt-get%20install%20swi-prolog%0D%0A%0D%0APara%20eje" title="del.icio.us"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F10%2Finstalar-el-interprete-swi-prolog-para-ejecutar-codigo-prolog-en-ubuntu%2F&amp;t=Instalar%20el%20int%C3%A9rprete%20SWI-Prolog%20para%20ejecutar%20c%C3%B3digo%20Prolog%20en%20Ubuntu" title="Facebook"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F10%2Finstalar-el-interprete-swi-prolog-para-ejecutar-codigo-prolog-en-ubuntu%2F&amp;title=Instalar%20el%20int%C3%A9rprete%20SWI-Prolog%20para%20ejecutar%20c%C3%B3digo%20Prolog%20en%20Ubuntu&amp;annotation=%0D%0A%0D%0ASi%20vas%20a%20programar%20declarativamente%20con%20Prolog%2C%20en%20Ubuntu%20es%20posible%20hacerlo%20instalando%20el%20paquete%20de%20SWI-Prolog.%20Para%20ello%20busca%20en%20Synaptic%20el%20paquete%20swi-prolog%20o%20bien%20instalalo%20mediante%20terminal%3A%0D%0A%0D%0Asudo%20apt-get%20install%20swi-prolog%0D%0A%0D%0APara%20eje" title="Google Bookmarks"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://barrapunto.com/submit.pl?subj=Instalar%20el%20int%C3%A9rprete%20SWI-Prolog%20para%20ejecutar%20c%C3%B3digo%20Prolog%20en%20Ubuntu&amp;story=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F10%2Finstalar-el-interprete-swi-prolog-para-ejecutar-codigo-prolog-en-ubuntu%2F" title="BarraPunto"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/barrapunto.png" title="BarraPunto" alt="BarraPunto" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://bitacoras.com/anotaciones/http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F10%2Finstalar-el-interprete-swi-prolog-para-ejecutar-codigo-prolog-en-ubuntu%2F" title="Bitacoras.com"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/bitacoras.png" title="Bitacoras.com" alt="Bitacoras.com" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://meneame.net/submit.php?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F10%2Finstalar-el-interprete-swi-prolog-para-ejecutar-codigo-prolog-en-ubuntu%2F" title="Meneame"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/meneame.png" title="Meneame" alt="Meneame" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F10%2Finstalar-el-interprete-swi-prolog-para-ejecutar-codigo-prolog-en-ubuntu%2F&amp;partner=sociable" title="PDF"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://shakaran.es/blog/feed/" title="RSS"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F10%2Finstalar-el-interprete-swi-prolog-para-ejecutar-codigo-prolog-en-ubuntu%2F&amp;title=Instalar%20el%20int%C3%A9rprete%20SWI-Prolog%20para%20ejecutar%20c%C3%B3digo%20Prolog%20en%20Ubuntu" title="StumbleUpon"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F10%2Finstalar-el-interprete-swi-prolog-para-ejecutar-codigo-prolog-en-ubuntu%2F" title="Technorati"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>


<br/><br/>

<p>Entradas relacionadas:<ol><li><a href='http://shakaran.es/blog/2009/09/tivion-un-reproductor-streaming-para-tv-online-en-ubuntu/' rel='bookmark' title='Permanent Link: Tivion: un reproductor streaming para TV online en Ubuntu'>Tivion: un reproductor streaming para TV online en Ubuntu</a></li><li><a href='http://shakaran.es/blog/2009/07/arreglo-de-firefox-3-5-x-branding-para-ubuntu-jaunty-karmic/' rel='bookmark' title='Permanent Link: Arreglo de Firefox 3.5.x Branding para Ubuntu Jaunty &#038; Karmic'>Arreglo de Firefox 3.5.x Branding para Ubuntu Jaunty &#038; Karmic</a></li><li><a href='http://shakaran.es/blog/2008/08/instalar-transmission-131-en-ubuntu-repositorios-bortis/' rel='bookmark' title='Permanent Link: Instalar Transmission 1.31 en Ubuntu (Repositorios Bortis)'>Instalar Transmission 1.31 en Ubuntu (Repositorios Bortis)</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://shakaran.es/blog/2009/10/instalar-el-interprete-swi-prolog-para-ejecutar-codigo-prolog-en-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://shakaran.es/blog/2009/10/instalar-el-interprete-swi-prolog-para-ejecutar-codigo-prolog-en-ubuntu/</feedburner:origLink></item>
		<item>
		<title>La convergencia hacia la singularidad (Inteligencia Artificial)</title>
		<link>http://feedproxy.google.com/~r/Shakaran/~3/VDtNoSKAe1A/</link>
		<comments>http://shakaran.es/blog/2009/09/la-convergencia-hacia-la-singularidad-inteligencia-artificial/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 12:09:16 +0000</pubDate>
		<dc:creator>shakaran</dc:creator>
				<category><![CDATA[Inteligencia Artificial]]></category>
		<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[Universidad]]></category>
		<category><![CDATA[artificial]]></category>
		<category><![CDATA[bionico]]></category>
		<category><![CDATA[cientifico]]></category>
		<category><![CDATA[civilización]]></category>
		<category><![CDATA[convergencia]]></category>
		<category><![CDATA[definición]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[filosofía]]></category>
		<category><![CDATA[humano]]></category>
		<category><![CDATA[IA]]></category>
		<category><![CDATA[ieee]]></category>
		<category><![CDATA[inteligencia]]></category>
		<category><![CDATA[medico]]></category>
		<category><![CDATA[neurociencia]]></category>
		<category><![CDATA[neurona]]></category>
		<category><![CDATA[neuronal]]></category>
		<category><![CDATA[ordenador]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[robótica]]></category>
		<category><![CDATA[singularidad]]></category>
		<category><![CDATA[spectrum]]></category>

		<guid isPermaLink="false">http://shakaran.es/blog/?p=619</guid>
		<description><![CDATA[
En este punto es donde aparece la unión de la inteligencia biológica y no biológica. Un humano inmortal basado en software. El gran reto es estimular un cerebro con exactamente la misma señal y comprobar que nunca aparecerá la misma señal dos veces como respuesta. Las conexiones sinápticas ya son una realidad. Cierto es que [...]<br /><div><img src="http://shakaran.es/blog/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>10</strong> (0 votes cast)</div><br />


No hay entradas relacionadas.]]></description>
			<content:encoded><![CDATA[<div>
<div id="attachment_621" class="wp-caption aligncenter" style="width: 303px"><a href="http://shakaran.es/blog/wp-content/uploads/2009/09/singularidad.png"><img class="size-full wp-image-621" title="Singularidad" src="http://shakaran.es/blog/wp-content/uploads/2009/09/singularidad.png" alt="Singularidad" width="293" height="257" /></a>  </div>
<p style="text-align: justify;"><em>¿Que es la singularidad?</em> Me atrevería a dar mi propia definición personal como:</p>
<blockquote><p>Un estado de una <strong>civilización</strong> en el que se <strong>alcanza el desarrollo</strong> de un ordenador capaz de superar a la inteligencia humana en todos los aspectos.</p></blockquote>
<p>Un ciclo de<strong> inteligencia exponencial</strong> donde cada generación de individuos es un nuevo escalón más inteligente que sus progenitores.</p>
<p>Momentos quizás demasiados inspirados en ciencia-ficción, pero que con cada elipse que traza nuestro planeta con el sol, somos capaces de ver con mayor claridad la <strong>convergencia de inteligencia</strong> humano-máquina y quedar anonadados con los nuevos progresos.</p>
<p>La singularidad raramente es debatida como un <strong>argumento real</strong>, debido a que pensamos que puede que no lleguemos a ver un futuro así en nuestra corta vida sobre el planeta, quizás con suerte nuestros nietos.</p>
<p style="text-align: justify;">Sin embargo, <em>Neil Gershenfeld </em>no piensa del mismo modo. Según su ley de &#8220;<em>Ley de rendimientos acelerados</em>&#8221; con cada pequeño paso se abren <strong>nuevas posibilidades</strong> que incrementan exponencialmente nuevos casos de éxito. Según su predicción (de las muchas acertadas que ya ha hecho), en unos 21 años seríamos capaces de ver muchos de estos grandes avances.</p>
<p style="text-align: justify;">Por otro lado, no debemos pensar en la singularidad con la simple convergencia de <strong>inteligencia computacional</strong>. Ámbitos como biología, bioquímica, robótica, nanotecnología, neurociencia, filosofía, economía, también implican el mismo destino para alcanzar esta meta.</p>
<p style="text-align: justify;">Muy ligado a la singularidad está la <strong>búsqueda de la inmortalidad</strong> a través de un ente inmaterial, sin cuerpo físico, donde transferir nuestra conciencia. Porque el cerebro parece ser un poderoso y raro computador que la evolución ha modelado para hacer fantásticos trabajos.</p>
<p style="text-align: justify;">Imagina poder <strong>subir tu consciencia a un interfaz máquina</strong> y poder hacer copias de seguridad de tu mente. Puede parecernos algo tremendo, innecesario, extraño, pero ¿a tu tatarabuelo no le parecería raro que puedas comunicarte con tus familiares en tiempo real a miles de kilómetros de distancia, simplemente pulsado las teclas con letras en una pequeña máquina que llamas portátil? Extrapola este ejemplo, siendo tu, tu propio tatarabuelo y viendo los avances que tu tataranieto maneja sin complicaciones en un futuro. ¿Ahora no parece tan extraño no?</p>
<p style="text-align: justify;">El programa de divulgación científica <em>Redes</em>, emitió un capítulo en Junio de 2008 donde hacían ver una realidad similar:</p>
<p style="text-align: justify;"><a title="Permanent Link: Redes 10: El Futuro: la fusión del alma y la tecnología (27 min)" rel="bookmark" href="http://www.smartplanet.es/redesblog/?p=80">Redes 10: El Futuro: la fusión del alma y la tecnología (27 min)</a></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="450" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="src" value="http://blip.tv/play/+3K_1USNg2w" /><embed type="application/x-shockwave-flash" width="450" height="350" src="http://blip.tv/play/+3K_1USNg2w" allowfullscreen="true"></embed></object></p>
<p style="text-align: justify;">Ya se han hecho muchas <strong>simulaciones</strong> sobre la conciencia, la imagen inferior muestra el desarrollo de un cerebro biónico para 50 tipos de neuronas en el supercomputador de IBM Blue Gene.</p>
<p style="text-align: justify;">
<div class="mceTemp mceIEcenter">
<dl id="attachment_624" class="wp-caption aligncenter" style="width: 480px;">
<dt class="wp-caption-dt"><a href="http://shakaran.es/blog/wp-content/uploads/2009/09/50-neuronas-ibm-blue-gene.jpeg"><img class="size-full wp-image-624" title="Cerebro biónico: simulación de 50 tipos de neuronas - Supercomputador IBM Blue Gene" src="http://shakaran.es/blog/wp-content/uploads/2009/09/50-neuronas-ibm-blue-gene.jpeg" alt="Cerebro biónico: simulación de 50 tipos de neuronas - Supercomputador IBM Blue Gene" width="470" height="280" /></a><p class="wp-caption-text">Cerebro biónico: simulación de 50 tipos de neuronas - Supercomputador IBM Blue Gene</p></div>
<p style="text-align: justify;">En este punto es donde aparece la u<strong>nión de la inteligencia biológica y no biológica</strong>. Un humano inmortal basado en software. El gran reto es estimular un cerebro con exactamente la misma señal y comprobar que nunca aparecerá la misma señal dos veces como respuesta. Las conexiones sinápticas ya son una realidad. Cierto es que estan limitadas a cerca de 500 por seguridad en un cerebro humano, pero esto es sólo el principio.</p>
<div id="attachment_627" class="wp-caption aligncenter" style="width: 335px"><a href="http://shakaran.es/blog/wp-content/uploads/2009/09/signos-singularidad.jpg"><img class="size-full wp-image-627" title="Signos de singularidad" src="http://shakaran.es/blog/wp-content/uploads/2009/09/signos-singularidad.jpg" alt="Signos de singularidad" width="325" height="353" /></a><p class="wp-caption-text">Signos de singularidad</p></div>
<p style="text-align: justify;">Sin embargo ya se estima que para dentro de <strong>unas décadas</strong> podamos hacer ingeniería inversa del software del cerebro y se hacen comparaciones entre <strong>código máquina vs código neuronal</strong> (cuyo primer código ya fue descubierto en la década de los 70 por el electropsicologista Edgar Adrian, que descubrió que subiendo la presión de las neuronas implicadas en el tacto, podía incrementar la frecuencia).</p>
<p style="text-align: justify;">La conciencia no es fácil de definir por ser algo<strong> inefable</strong> y menos es de aislarla para recrearla en una máquina. Los avances en electrodos y polímeros son vitales en este aspecto. Por ello se trabaja en polímeros capaces de inyectar sustancias como lo hacen las neuronas. De esta manera, podrían emularse comportamientos hormonales, genéticos y otros procesos.</p>
<p style="text-align: justify;">¿<em>pero de que depende la consciencia</em>? Los matemáticos y lógicos intentan definir leyes de imperfección conocidas para obtener algo similar. Pero por el momento, <strong>no hay razón </strong>para no creer que la consciencia no pueda llegar a ser reproducida en una máquina (de una forma u otra)<strong>.</strong></p>
<p style="text-align: justify;">Realmente, <strong><em>¿pueden las máquinas ser conscientes?</em></strong></p>
<div id="attachment_625" class="wp-caption aligncenter" style="width: 310px"><a href="http://shakaran.es/blog/wp-content/uploads/2009/09/machines-be-conscious.jpeg"><img class="size-full wp-image-625" title="Pueden las máquinas ser conscientes" src="http://shakaran.es/blog/wp-content/uploads/2009/09/machines-be-conscious.jpeg" alt="Pueden las máquinas ser conscientes" width="300" height="395" /></a><p class="wp-caption-text">¿Pueden las máquinas ser conscientes?</p></div>
<p style="text-align: justify;">Existen pruebas para valorar este tipo de actitudes como es el Test de Turing (superado en el año 2000) y propuesto un nuevo Test de Turing Global con <strong>nuevos requisitos</strong> en otras áreas de la Inteligencia Artificial.</p>
<p style="text-align: justify;">Si las máquinas llegaran a ser conscientes de sí mismas, podrían manejar sus datos, recuerdos de cualquier manera. Si los humanos <strong>alcanzáramos</strong> la singularidad podríamos borrar recuerdos, adquirirlos, etc algo que ya se sugirió en películas como The Matrix.</p>
<div id="attachment_626" class="wp-caption aligncenter" style="width: 260px"><a href="http://shakaran.es/blog/wp-content/uploads/2009/09/data-mind-insertion.jpg"><img class="size-full wp-image-626" title="Insercción de datos en la mente" src="http://shakaran.es/blog/wp-content/uploads/2009/09/data-mind-insertion.jpg" alt="Insercción de datos en la mente" width="250" height="311" /></a><p class="wp-caption-text">Inserción de datos en la mente</p></div>
<p style="text-align: justify;">Para ser <strong>realistas</strong>, la singularidad es más un tema religioso que cientifico, puesto que las fronteras son muy difusas respecto a la mente. Por otro lado, podría <strong>traer problemas</strong> como terrorismos, sobrepoblación, discriminación, agotamiento de recursos naturales, etc.</p>
<p style="text-align: justify;">Sin duda un tema interesante y sujeto a <strong>muchas reflexiones</strong> que se presta a revolver nuestra imaginación ¿y tú que piensas? ¿serias capaz de convertir tu cuerpo a un ente biónico? ¿y si la práctica estuviese extendida en un 25% de la población mundial? ¿si fueses a morir no harías una copia de tu consciencia/mente?¿y si un familiar cercano no tuviese otra opción de sobrevivir? Me encantaría leer <strong>tu opinión</strong> o propuestas a otras preguntas inquietas en los comentarios.</p>
<h3 style="text-align: justify;"><span style="color: #993300;">Bibliografía</span></h3>
<ul>
<li><a title="Wikipedia - Singularidad tecnológica" href="http://es.wikipedia.org/wiki/Singularidad_tecnol%C3%B3gica" target="_blank">Wikipedia &#8211; Singularidad tecnológica</a></li>
</ul>
<ul>
<li><a title="Permanent Link: Redes 10: El Futuro: la fusión del alma y la tecnología (27 min)" rel="bookmark" href="http://www.smartplanet.es/redesblog/?p=80">Redes 10: El Futuro: la fusión del alma y la tecnología (27 min)</a></li>
</ul>
<ul>
<li>IEEE Spectrum &#8211; Reportaje especial &#8211; Singularidad<br />
<a title="IEEE Spectrum - Reportaje especial - Singularidad" href="http://www.spectrum.ieee.org/static/singularity" target="_blank">http://www.spectrum.ieee.org/static/singularity</a></li>
</ul>
<ul>
<li>Waiting for the Rapture<br />
<a title="Waiting for the Rapture" href="http://www.spectrum.ieee.org/biomedical/ethics/waiting-for-the-rapture/0" target="_blank">http://www.spectrum.ieee.org/biomedical/ethics/waiting-for-the-rapture/0</a></li>
</ul>
<ul>
<li>The Consciousness Conundrum<br />
<a title="The Consciousness Conundrum" href="http://www.spectrum.ieee.org/biomedical/imaging/the-consciousness-conundrum/0" target="_blank">http://www.spectrum.ieee.org/biomedical/imaging/the-consciousness-conundrum/0</a></li>
</ul>
<ul>
<li>Can Machines Be Conscious?<br />
<a title="Can Machines Be conscious?" href="http://www.spectrum.ieee.org/biomedical/imaging/can-machines-be-conscious/0" target="_blank">http://www.spectrum.ieee.org/biomedical/imaging/can-machines-be-conscious/0</a></li>
</ul>
<ul>
<li>I, Rodney Brooks, Am a Robot<br />
<a title="I, Rodney Brooks, Am a Robot" href="http://www.spectrum.ieee.org/computing/hardware/i-rodney-brooks-am-a-robot/0" target="_blank">http://www.spectrum.ieee.org/computing/hardware/i-rodney-brooks-am-a-robot/0</a></li>
</ul>
<ul>
<li>Who&#8217;s Who In The Singularity<br />
<a title="Who's Who In The Singularity" href="http://www.spectrum.ieee.org/computing/hardware/whos-who-in-the-singularity" target="_blank">http://www.spectrum.ieee.org/computing/hardware/whos-who-in-the-singularity</a></li>
</ul>
<ul>
<li>Singular Simplicity<br />
<a title="Singular Simplicity" href="http://www.spectrum.ieee.org/robotics/robotics-software/singular-simplicity/0" target="_blank">http://www.spectrum.ieee.org/robotics/robotics-software/singular-simplicity/0</a></li>
</ul>
<ul>
<li>Reverse Engineering The Brain<br />
<a title="Reverse Engineering The Brain" href="http://www.spectrum.ieee.org/biomedical/ethics/reverse-engineering-the-brain/0" target="_blank">http://www.spectrum.ieee.org/biomedical/ethics/reverse-engineering-the-brain/0</a></li>
</ul>
<ul>
<li>Economics Of The Singularity<br />
<a title="Economics Of The Singularity" href="http://www.spectrum.ieee.org/robotics/robotics-software/economics-of-the-singularity/0" target="_blank">http://www.spectrum.ieee.org/robotics/robotics-software/economics-of-the-singularity/0</a></li>
</ul>
<ul>
<li>Rupturing The Nanotech Rapture<br />
<a title="Rupturing The Nanotech Rapture" href="http://www.spectrum.ieee.org/biomedical/ethics/rupturing-the-nanotech-rapture/0" target="_blank">http://www.spectrum.ieee.org/biomedical/ethics/rupturing-the-nanotech-rapture/0</a></li>
</ul>
<ul>
<li>Signs of the Singularity<br />
<a title="Signs of the Singularity" href="http://www.spectrum.ieee.org/biomedical/ethics/signs-of-the-singularity/0" target="_blank">http://www.spectrum.ieee.org/biomedical/ethics/signs-of-the-singularity/0</a></li>
</ul>
<ul>
<li>Índice de reportajes sobre singularidad<br />
<a title="Índice sobre reportajes sobre singularidad" href="http://www.spectrum.ieee.org/computing/hardware/singularity-index" target="_blank">http://www.spectrum.ieee.org/computing/hardware/singularity-index</a></li>
</ul>
</dt>
</dl>
</div>
<br /><div><img src="http://shakaran.es/blog/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>10</strong> (0 votes cast)</div><br />


Comparte, descargalo en pdf, imprimelo o enviaselo a un amigo!


	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F09%2Fla-convergencia-hacia-la-singularidad-inteligencia-artificial%2F&amp;partner=sociable" title="Print"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F09%2Fla-convergencia-hacia-la-singularidad-inteligencia-artificial%2F&amp;title=La%20convergencia%20hacia%20la%20singularidad%20%28Inteligencia%20Artificial%29&amp;bodytext=%0D%0A%0D%0AEn%20este%20punto%20es%20donde%20aparece%20la%20uni%C3%B3n%20de%20la%20inteligencia%20biol%C3%B3gica%20y%20no%20biol%C3%B3gica.%20Un%20humano%20inmortal%20basado%20en%20software.%20El%20gran%20reto%20es%20estimular%20un%20cerebro%20con%20exactamente%20la%20misma%20se%C3%B1al%20y%20comprobar%20que%20nunca%20aparecer%C3%A1%20la%20misma%20se%C3%B1al%20d" title="Digg"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F09%2Fla-convergencia-hacia-la-singularidad-inteligencia-artificial%2F&amp;title=La%20convergencia%20hacia%20la%20singularidad%20%28Inteligencia%20Artificial%29&amp;notes=%0D%0A%0D%0AEn%20este%20punto%20es%20donde%20aparece%20la%20uni%C3%B3n%20de%20la%20inteligencia%20biol%C3%B3gica%20y%20no%20biol%C3%B3gica.%20Un%20humano%20inmortal%20basado%20en%20software.%20El%20gran%20reto%20es%20estimular%20un%20cerebro%20con%20exactamente%20la%20misma%20se%C3%B1al%20y%20comprobar%20que%20nunca%20aparecer%C3%A1%20la%20misma%20se%C3%B1al%20d" title="del.icio.us"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F09%2Fla-convergencia-hacia-la-singularidad-inteligencia-artificial%2F&amp;t=La%20convergencia%20hacia%20la%20singularidad%20%28Inteligencia%20Artificial%29" title="Facebook"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F09%2Fla-convergencia-hacia-la-singularidad-inteligencia-artificial%2F&amp;title=La%20convergencia%20hacia%20la%20singularidad%20%28Inteligencia%20Artificial%29&amp;annotation=%0D%0A%0D%0AEn%20este%20punto%20es%20donde%20aparece%20la%20uni%C3%B3n%20de%20la%20inteligencia%20biol%C3%B3gica%20y%20no%20biol%C3%B3gica.%20Un%20humano%20inmortal%20basado%20en%20software.%20El%20gran%20reto%20es%20estimular%20un%20cerebro%20con%20exactamente%20la%20misma%20se%C3%B1al%20y%20comprobar%20que%20nunca%20aparecer%C3%A1%20la%20misma%20se%C3%B1al%20d" title="Google Bookmarks"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://barrapunto.com/submit.pl?subj=La%20convergencia%20hacia%20la%20singularidad%20%28Inteligencia%20Artificial%29&amp;story=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F09%2Fla-convergencia-hacia-la-singularidad-inteligencia-artificial%2F" title="BarraPunto"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/barrapunto.png" title="BarraPunto" alt="BarraPunto" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://bitacoras.com/anotaciones/http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F09%2Fla-convergencia-hacia-la-singularidad-inteligencia-artificial%2F" title="Bitacoras.com"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/bitacoras.png" title="Bitacoras.com" alt="Bitacoras.com" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://meneame.net/submit.php?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F09%2Fla-convergencia-hacia-la-singularidad-inteligencia-artificial%2F" title="Meneame"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/meneame.png" title="Meneame" alt="Meneame" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F09%2Fla-convergencia-hacia-la-singularidad-inteligencia-artificial%2F&amp;partner=sociable" title="PDF"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://shakaran.es/blog/feed/" title="RSS"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F09%2Fla-convergencia-hacia-la-singularidad-inteligencia-artificial%2F&amp;title=La%20convergencia%20hacia%20la%20singularidad%20%28Inteligencia%20Artificial%29" title="StumbleUpon"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F09%2Fla-convergencia-hacia-la-singularidad-inteligencia-artificial%2F" title="Technorati"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>


<br/><br/>

<p>No hay entradas relacionadas.</p>]]></content:encoded>
			<wfw:commentRss>http://shakaran.es/blog/2009/09/la-convergencia-hacia-la-singularidad-inteligencia-artificial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://shakaran.es/blog/2009/09/la-convergencia-hacia-la-singularidad-inteligencia-artificial/</feedburner:origLink></item>
		<item>
		<title>Como editar gráficamente el archivo xorg.conf</title>
		<link>http://feedproxy.google.com/~r/Shakaran/~3/fW5w4NjoS68/</link>
		<comments>http://shakaran.es/blog/2009/09/como-editar-graficamente-el-archivo-xorg-conf/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 13:38:11 +0000</pubDate>
		<dc:creator>shakaran</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[ati]]></category>
		<category><![CDATA[comando]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[fglrx]]></category>
		<category><![CDATA[gtk]]></category>
		<category><![CDATA[gui]]></category>
		<category><![CDATA[interfaz]]></category>
		<category><![CDATA[options]]></category>
		<category><![CDATA[package]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[xorg]]></category>

		<guid isPermaLink="false">http://shakaran.es/blog/?p=609</guid>
		<description><![CDATA[<!-- pb255 --><div class="pagebar">Páginas:&nbsp;<span class="inactive">Anterior</span>
<span class="this-page">1</span>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">2</a>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">Siguiente</a>
</div><!-- pb255 --><div class="pagebar">Páginas:&nbsp;<span class="inactive">Anterior</span>
<span class="this-page">1</span>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">2</a>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">Siguiente</a>
</div><!-- pb255 --><div class="pagebar">Páginas:&nbsp;<span class="inactive">Anterior</span>
<span class="this-page">1</span>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">2</a>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">Siguiente</a>
</div><!-- pb255 --><div class="pagebar">Páginas:&nbsp;<span class="inactive">Anterior</span>
<span class="this-page">1</span>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">2</a>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">Siguiente</a>
</div>




Existe una herramienta muy útil llamada &#8220;Editor de opciones del X.org&#8221; del paquete xorg-options-editor-gtk (aunque nunca mejor que un editor de texto) donde puedes configurar las opciones principales y más comunes, como por ejemplo cambiar el driver de tu tarjeta gráfica ATI de fglrx a radeon o incluso vesa.
Para instalarla busca el paquete xorg-options-editor-gtk en [...]<br /><div><img src="http://shakaran.es/blog/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>10</strong> (0 votes cast)</div><br />


Entradas relacionadas:<ol><li><a href='http://shakaran.es/blog/2009/09/como-mostrar-la-version-de-gtk-y-pygtk-en-python/' rel='bookmark' title='Permanent Link: Como mostrar la versión de GTK y PyGTK en Python'>Como mostrar la versión de GTK y PyGTK en Python</a></li><li><a href='http://shakaran.es/blog/2009/10/instalar-el-interprete-swi-prolog-para-ejecutar-codigo-prolog-en-ubuntu/' rel='bookmark' title='Permanent Link: Instalar el intérprete SWI-Prolog para ejecutar código Prolog en Ubuntu'>Instalar el intérprete SWI-Prolog para ejecutar código Prolog en Ubuntu</a></li><li><a href='http://shakaran.es/blog/2009/09/como-recuperar-o-restaurar-un-arranque-estropeado-en-ubuntu/' rel='bookmark' title='Permanent Link: Como recuperar o restaurar un arranque estropeado en Ubuntu'>Como recuperar o restaurar un arranque estropeado en Ubuntu</a></li></ol>]]></description>
			<content:encoded><![CDATA[<!-- pb255 --><div class="pagebar">Páginas:&nbsp;<span class="inactive">Anterior</span>
<span class="this-page">1</span>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">2</a>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">Siguiente</a>
</div><!-- pb255 --><div class="pagebar">Páginas:&nbsp;<span class="inactive">Anterior</span>
<span class="this-page">1</span>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">2</a>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">Siguiente</a>
</div><div class="mceTemp mceIEcenter">
<dl id="attachment_610" class="wp-caption aligncenter" style="margin: auto; width: 484px;">
<dt class="wp-caption-dt"><a href="http://shakaran.es/blog/wp-content/uploads/2009/09/Editor-de-opciones-del-X.org.png"><img class="size-full wp-image-610" title="Editor de opciones del X.org" src="http://shakaran.es/blog/wp-content/uploads/2009/09/Editor-de-opciones-del-X.org.png" alt="Editor de opciones del X.org" width="474" height="240" /></a></dt>
</dl>
</div>
<p>Existe una herramienta muy útil llamada &#8220;<strong>Editor de opciones del X.org</strong>&#8221; del paquete <em>xorg-options-editor-gtk</em> (aunque nunca mejor que un editor de texto) donde puedes configurar las opciones principales y más comunes, como por ejemplo cambiar el driver de tu <strong>tarjeta gráfica ATI</strong> de fglrx a radeon o incluso vesa.</p>
<p>Para instalarla busca el paquete <em>xorg-options-editor-gtk</em> en <strong>Synaptic</strong> o bien mediante el terminal:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=609&amp;download=instalar-xorg-options-editor-gtk.txt">instalar-xorg-options-editor-gtk.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p60954"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p609code54"><pre class="shell" style="font-family:monospace;">sudo apt-get install xorg-options-editor-gtk</pre></td></tr></table></div>

<br /><div><img src="http://shakaran.es/blog/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>10</strong> (0 votes cast)</div><br />


Comparte, descargalo en pdf, imprimelo o enviaselo a un amigo!


	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F09%2Fcomo-editar-graficamente-el-archivo-xorg-conf%2F&amp;partner=sociable" title="Print"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F09%2Fcomo-editar-graficamente-el-archivo-xorg-conf%2F&amp;title=Como%20editar%20gr%C3%A1ficamente%20el%20archivo%20xorg.conf&amp;bodytext=%20%20%0D%0A%0D%0AExiste%20una%20herramienta%20muy%20%C3%BAtil%20llamada%20%22Editor%20de%20opciones%20del%20X.org%22%20del%20paquete%20xorg-options-editor-gtk%20%28aunque%20nunca%20mejor%20que%20un%20editor%20de%20texto%29%20donde%20puedes%20configurar%20las%20opciones%20principales%20y%20m%C3%A1s%20comunes%2C%20como%20por%20ejemplo%20cambiar%20el" title="Digg"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F09%2Fcomo-editar-graficamente-el-archivo-xorg-conf%2F&amp;title=Como%20editar%20gr%C3%A1ficamente%20el%20archivo%20xorg.conf&amp;notes=%20%20%0D%0A%0D%0AExiste%20una%20herramienta%20muy%20%C3%BAtil%20llamada%20%22Editor%20de%20opciones%20del%20X.org%22%20del%20paquete%20xorg-options-editor-gtk%20%28aunque%20nunca%20mejor%20que%20un%20editor%20de%20texto%29%20donde%20puedes%20configurar%20las%20opciones%20principales%20y%20m%C3%A1s%20comunes%2C%20como%20por%20ejemplo%20cambiar%20el" title="del.icio.us"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F09%2Fcomo-editar-graficamente-el-archivo-xorg-conf%2F&amp;t=Como%20editar%20gr%C3%A1ficamente%20el%20archivo%20xorg.conf" title="Facebook"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F09%2Fcomo-editar-graficamente-el-archivo-xorg-conf%2F&amp;title=Como%20editar%20gr%C3%A1ficamente%20el%20archivo%20xorg.conf&amp;annotation=%20%20%0D%0A%0D%0AExiste%20una%20herramienta%20muy%20%C3%BAtil%20llamada%20%22Editor%20de%20opciones%20del%20X.org%22%20del%20paquete%20xorg-options-editor-gtk%20%28aunque%20nunca%20mejor%20que%20un%20editor%20de%20texto%29%20donde%20puedes%20configurar%20las%20opciones%20principales%20y%20m%C3%A1s%20comunes%2C%20como%20por%20ejemplo%20cambiar%20el" title="Google Bookmarks"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://barrapunto.com/submit.pl?subj=Como%20editar%20gr%C3%A1ficamente%20el%20archivo%20xorg.conf&amp;story=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F09%2Fcomo-editar-graficamente-el-archivo-xorg-conf%2F" title="BarraPunto"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/barrapunto.png" title="BarraPunto" alt="BarraPunto" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://bitacoras.com/anotaciones/http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F09%2Fcomo-editar-graficamente-el-archivo-xorg-conf%2F" title="Bitacoras.com"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/bitacoras.png" title="Bitacoras.com" alt="Bitacoras.com" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://meneame.net/submit.php?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F09%2Fcomo-editar-graficamente-el-archivo-xorg-conf%2F" title="Meneame"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/meneame.png" title="Meneame" alt="Meneame" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F09%2Fcomo-editar-graficamente-el-archivo-xorg-conf%2F&amp;partner=sociable" title="PDF"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://shakaran.es/blog/feed/" title="RSS"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F09%2Fcomo-editar-graficamente-el-archivo-xorg-conf%2F&amp;title=Como%20editar%20gr%C3%A1ficamente%20el%20archivo%20xorg.conf" title="StumbleUpon"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F09%2Fcomo-editar-graficamente-el-archivo-xorg-conf%2F" title="Technorati"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>


<br/><br/>

<p>Entradas relacionadas:<ol><li><a href='http://shakaran.es/blog/2009/09/como-mostrar-la-version-de-gtk-y-pygtk-en-python/' rel='bookmark' title='Permanent Link: Como mostrar la versión de GTK y PyGTK en Python'>Como mostrar la versión de GTK y PyGTK en Python</a></li><li><a href='http://shakaran.es/blog/2009/10/instalar-el-interprete-swi-prolog-para-ejecutar-codigo-prolog-en-ubuntu/' rel='bookmark' title='Permanent Link: Instalar el intérprete SWI-Prolog para ejecutar código Prolog en Ubuntu'>Instalar el intérprete SWI-Prolog para ejecutar código Prolog en Ubuntu</a></li><li><a href='http://shakaran.es/blog/2009/09/como-recuperar-o-restaurar-un-arranque-estropeado-en-ubuntu/' rel='bookmark' title='Permanent Link: Como recuperar o restaurar un arranque estropeado en Ubuntu'>Como recuperar o restaurar un arranque estropeado en Ubuntu</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://shakaran.es/blog/2009/09/como-editar-graficamente-el-archivo-xorg-conf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://shakaran.es/blog/2009/09/como-editar-graficamente-el-archivo-xorg-conf/</feedburner:origLink></item>
		<item>
		<title>Como recuperar o restaurar un arranque estropeado en Ubuntu</title>
		<link>http://feedproxy.google.com/~r/Shakaran/~3/PbTFvNHans4/</link>
		<comments>http://shakaran.es/blog/2009/09/como-recuperar-o-restaurar-un-arranque-estropeado-en-ubuntu/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 09:26:19 +0000</pubDate>
		<dc:creator>shakaran</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[fix]]></category>
		<category><![CDATA[gdm]]></category>
		<category><![CDATA[init]]></category>
		<category><![CDATA[init.d]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[recovery]]></category>
		<category><![CDATA[startx]]></category>
		<category><![CDATA[udev]]></category>

		<guid isPermaLink="false">http://shakaran.es/blog/?p=600</guid>
		<description><![CDATA[<!-- pb255 --><div class="pagebar">Páginas:&nbsp;<span class="inactive">Anterior</span>
<span class="this-page">1</span>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">2</a>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">Siguiente</a>
</div><!-- pb255 --><div class="pagebar">Páginas:&nbsp;<span class="inactive">Anterior</span>
<span class="this-page">1</span>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">2</a>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">Siguiente</a>
</div><!-- pb255 --><div class="pagebar">Páginas:&nbsp;<span class="inactive">Anterior</span>
<span class="this-page">1</span>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">2</a>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">Siguiente</a>
</div><!-- pb255 --><div class="pagebar">Páginas:&nbsp;<span class="inactive">Anterior</span>
<span class="this-page">1</span>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">2</a>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">Siguiente</a>
</div>




Soy un usuario bastante curioso y aventurero de Ubuntu, por eso suelo utilizar muchos programas en estado alpha o beta para estar al tanto de las últimas novedades o aprovechar al máximo los sistemas.
Esto suele traer algunas desventajas, como que de un día para otro no funcione algo (como el sistema de sonido de Pulseaudio). [...]<br /><div><img src="http://shakaran.es/blog/wp-content/plugins/gd-star-rating/gfx.php?value=10.0" /></div><div>Rating: 10.0/<strong>10</strong> (1 vote cast)</div><br />


Entradas relacionadas:<ol><li><a href='http://shakaran.es/blog/2009/11/actualizar-ubuntu-karmic-koala-9-10-a-ubuntu-lucid-lynx-10-04/' rel='bookmark' title='Permanent Link: Actualizar Ubuntu Karmic Koala 9.10 a Ubuntu Lucid Lynx 10.04'>Actualizar Ubuntu Karmic Koala 9.10 a Ubuntu Lucid Lynx 10.04</a></li><li><a href='http://shakaran.es/blog/2008/08/como-hacer-una-copia-de-seguridad-de-tus-repositorios-en-ubuntu/' rel='bookmark' title='Permanent Link: Como hacer una copia de seguridad de tus repositorios en Ubuntu'>Como hacer una copia de seguridad de tus repositorios en Ubuntu</a></li><li><a href='http://shakaran.es/blog/2008/11/truco-como-desmontar-un-dispositivo-usb-flash-etc-cuando-esta-ocupado-y-conocer-la-aplicacion-que-lo-mantiene-ocupado/' rel='bookmark' title='Permanent Link: Truco: Cómo desmontar un dispositivo (USB, flash, etc) cuando esta ocupado y conocer la aplicación que lo mantiene ocupado'>Truco: Cómo desmontar un dispositivo (USB, flash, etc) cuando esta ocupado y conocer la aplicación que lo mantiene ocupado</a></li></ol>]]></description>
			<content:encoded><![CDATA[<!-- pb255 --><div class="pagebar">Páginas:&nbsp;<span class="inactive">Anterior</span>
<span class="this-page">1</span>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">2</a>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">Siguiente</a>
</div><!-- pb255 --><div class="pagebar">Páginas:&nbsp;<span class="inactive">Anterior</span>
<span class="this-page">1</span>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">2</a>
<a href="http://shakaran.es/blog/feed/page/2/" title="Página 2">Siguiente</a>
</div><div class="mceTemp mceIEcenter">
<dl id="attachment_601" class="wp-caption aligncenter" style="width: 460px;margin:auto;">
<dt class="wp-caption-dt"><a href="http://shakaran.es/blog/wp-content/uploads/2009/09/ubuntu-recovery.png"><img class="size-full wp-image-601" title="Ubuntu Recovery" src="http://shakaran.es/blog/wp-content/uploads/2009/09/ubuntu-recovery.png" alt="Ubuntu Recovery" width="450" height="300" /></a></dt>
</dl>
</div>
<p>Soy un usuario bastante curioso y aventurero de Ubuntu, por eso suelo utilizar muchos programas en estado <strong>alpha o beta</strong> para estar al tanto de las últimas novedades o <strong>aprovechar al máximo</strong> los sistemas.</p>
<p>Esto suele traer algunas<strong> desventajas</strong>, como que de un día para otro no funcione algo (como el <a title="Solucionar problema de sin sonido con pulseaudio en Ubuntu Karmic Alpha 6 (posible solución)" target="_blank" href="http://shakaran.es/blog/2009/09/solucionar-problema-de-sin-sonido-con-pulseaudio-en-ubuntu-karmic-alpha-6-posible-solucion/">sistema de sonido de Pulseaudio</a>). La última ha sido que no arrancaba ninguno de los kernels que tenía instalado en Ubuntu ya que uso <strong>Ubuntu Karmic 9.10</strong>.</p>
<p>El problema que sucedía es que al<strong> iniciar el kernel</strong>, daba un fallo irrecuperable de <a title="Udev wikipedia" href="http://es.wikipedia.org/wiki/Udev" target="_blank">udev</a> (el gestor de dispositivos de linux) mostrando estas últimas lineas en la pantalla de inicio del kernel y no podiendo hacer nada más (ya no daba tiempo ni a que se hubieran iniciado los tty):</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=600&amp;download=udev-error.txt">udev-error.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p60070"><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code" id="p600code70"><pre class="shell" style="font-family:monospace;">init: udevtrigger mainprocess (1283) terminated with status 1
init: udevtrigger post-stop porcess (1283) terminated with status 1
init: udevmonitor main process (1282) killed by TERM signal.</pre></td></tr></table></div>

<p>Cuando pasan cosas así, enseguida te hechas las manos a la cabeza y <strong>piensas</strong> que tendrás que acudir a una live para recoger los últimos vestigios de tus datos y reinstalar el sistema. Pero soy un poco cabezón y me renegaba a tener que perder las<strong> configuraciones</strong> del sistema (aunque al menos con la partición /home no perdería ninguna configuración de las aplicaciones).</p>
<p>Así que tras un buen rato de <strong>búsqueda</strong> y sudores fríos, encontré un bug donde se comentaba que podía iniciarse una pequeña consola con lo siguiente:</p>
<p>1. &#8211; Encender el pc y pulsar &#8216;e&#8217; en una entrada de un kernel de grub.</p>
<p>2. &#8211; En la línea de linux, ir al final y poner:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=600&amp;download=init.txt">init.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p60071"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p600code71"><pre class="shell" style="font-family:monospace;">rw init=/bin/bash</pre></td></tr></table></div>

<p>3. &#8211; Pulsar Ctrl + x para iniciar el kernel.</p>
<p>Esto te daría una <strong>pequeña consola</strong> de root (útil también como puerta trasera y recuperar contraseñas) pero obviamente ninguna cosa más del kernel se había iniciado. Por lo que probé con las siguientes cosas:</p>
<p>1. &#8211; Iniciar el <strong>sistema de ventanas</strong> ejecutando:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=600&amp;download=startx.txt">startx.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p60072"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p600code72"><pre class="shell" style="font-family:monospace;">startx</pre></td></tr></table></div>

<p>Llegaba a mostrarse el escritorio de gnome, pero cuando empezaba a cargar más cosas,<strong> fallaba</strong> y no terminaba de arrancarse volviendo al terminal.</p>
<p>2. &#8211; Leí también que podía <strong>iniciarse la interfaz de red</strong> (puesto que mi propósito era actualizar los paquetes y conseguir la versión con el paquete arreglado) con el comando:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=600&amp;download=start-network.txt">start-network.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p60073"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p600code73"><pre class="shell" style="font-family:monospace;">sudo dhcclient eth0</pre></td></tr></table></div>

<p>Esto no lo llegué a probar porque lo ví más tarde, pero posiblemente hubiese sido útil.</p>
<p>3. &#8211; Probé a iniciar GDM, con:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=600&amp;download=start-gdm.txt">start-gdm.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p60074"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p600code74"><pre class="shell" style="font-family:monospace;">/etc/init.d/gdm start</pre></td></tr></table></div>

<p>Pero parece que ubuntu al usar &#8220;<a title="Upstart ubuntu" href="http://upstart.ubuntu.com/">upstart</a>&#8221; tenía que ser con:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=600&amp;download=upstart-gdm.txt">upstart-gdm.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p60075"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p600code75"><pre class="shell" style="font-family:monospace;">start gdm</pre></td></tr></table></div>

<p>Pero eso tampoco funcionó.</p>
<p>La <strong>desesperación</strong> en este punto ya empezaba a apoderarse de mí. Pero luego dí con este <a title="Chroot Recovery wiki ubuntu" href="https://wiki.ubuntu.com/ChrootRecovery" target="_blank">artículo de la wiki de ubuntu sobre chroot recovery</a></p>
<p>Mi situación era algo similar, asi que hice esos pasos con <strong>alguna variación</strong>:</p>
<p>1. &#8211; <a title="Live cd current ubuntu" href="cdimage.ubuntu.com/daily-live/current/" target="_blank">Descargar/obtener un live cd</a>.</p>
<p>2. &#8211; Iniciar el live cd y cuando cargue el escritorio abrir una consola.</p>
<p>3. &#8211; Crear los siguiente directorios:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=600&amp;download=create-dirs.txt">create-dirs.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p60076"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p600code76"><pre class="shell" style="font-family:monospace;">sudo mkdir /media/karmic 
sudo mkdir /media/karmic/proc /media/karmic/dev /media/karmic/etc</pre></td></tr></table></div>

<p>4. &#8211; Montar la partición de linux (en mi caso sda6):</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=600&amp;download=mount-linux-partition.txt">mount-linux-partition.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p60077"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p600code77"><pre class="shell" style="font-family:monospace;">sudo mount /dev/sda6 /media/karmic</pre></td></tr></table></div>

<p>5. &#8211; Enlazar los directorios con la partición linux:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=600&amp;download=bind-partition.txt">bind-partition.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p60078"><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code" id="p600code78"><pre class="shell" style="font-family:monospace;">sudo mount -o bind /proc /media/karmic/proc 
sudo mount -o bind /dev /media/karmic/dev/ 
sudo mount -o bind /dev/pts /media/karmic/dev/pts</pre></td></tr></table></div>

<p>6. &#8211; Copiar este archivo:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=600&amp;download=copy-file.txt">copy-file.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p60079"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p600code79"><pre class="shell" style="font-family:monospace;">sudo cp /etc/resolv.conf /media/karmic/etc/resolv.conf</pre></td></tr></table></div>

<p>7 &#8211; Crear el contenido para policy-rc.d</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=600&amp;download=create-policy-rc-d.txt">create-policy-rc-d.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p60080"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p600code80"><pre class="shell" style="font-family:monospace;">printf '#!/bin/sh\n\necho 101\n' | sudo tee -a /media/karmic/usr/sbin/policy-rc.d 
sudo chmod +x /media/karmic/usr/sbin/policy-rc.d</pre></td></tr></table></div>

<p>8. &#8211; Actualizar la partición de linux afectada con chroot:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=600&amp;download=update.txt">update.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p60081"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p600code81"><pre class="shell" style="font-family:monospace;">sudo chroot /media/karmic apt-get update</pre></td></tr></table></div>

<p>9. &#8211; Actualizar los paquetes:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=600&amp;download=upgrade.txt">upgrade.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p60082"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p600code82"><pre class="shell" style="font-family:monospace;">sudo chroot /media/karmic apt-get dist-upgrade</pre></td></tr></table></div>

<p>10. &#8211; Si tenías algún paquete roto:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=600&amp;download=fix-broken-package.txt">fix-broken-package.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p60083"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p600code83"><pre class="shell" style="font-family:monospace;">sudo chroot /media/karmic apt-get -f install</pre></td></tr></table></div>

<p>11 &#8211; Borrar el archivo policy-rc.d (ya no es necesario)</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Descargar <a href="http://shakaran.es/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=600&amp;download=delete.txt">delete.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table width="100%" ><tr id="p60084"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p600code84"><pre class="shell" style="font-family:monospace;">sudo rm -f /media/karmic/usr/sbin/policy-rc.d</pre></td></tr></table></div>

<p>12. &#8211; Reiniciar y voilá! Arranque arreglado.</p>
<br /><div><img src="http://shakaran.es/blog/wp-content/plugins/gd-star-rating/gfx.php?value=10.0" /></div><div>Rating: 10.0/<strong>10</strong> (1 vote cast)</div><br />


Comparte, descargalo en pdf, imprimelo o enviaselo a un amigo!


	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F09%2Fcomo-recuperar-o-restaurar-un-arranque-estropeado-en-ubuntu%2F&amp;partner=sociable" title="Print"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F09%2Fcomo-recuperar-o-restaurar-un-arranque-estropeado-en-ubuntu%2F&amp;title=Como%20recuperar%20o%20restaurar%20un%20arranque%20estropeado%20en%20Ubuntu&amp;bodytext=%0D%0ASoy%20un%20usuario%20bastante%20curioso%20y%20aventurero%20de%20Ubuntu%2C%20por%20eso%20suelo%20utilizar%20muchos%20programas%20en%20estado%20alpha%20o%20beta%20para%20estar%20al%20tanto%20de%20las%20%C3%BAltimas%20novedades%20o%20aprovechar%20al%20m%C3%A1ximo%20los%20sistemas.%0D%0A%0D%0AEsto%20suele%20traer%20algunas%20desventajas%2C%20como" title="Digg"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F09%2Fcomo-recuperar-o-restaurar-un-arranque-estropeado-en-ubuntu%2F&amp;title=Como%20recuperar%20o%20restaurar%20un%20arranque%20estropeado%20en%20Ubuntu&amp;notes=%0D%0ASoy%20un%20usuario%20bastante%20curioso%20y%20aventurero%20de%20Ubuntu%2C%20por%20eso%20suelo%20utilizar%20muchos%20programas%20en%20estado%20alpha%20o%20beta%20para%20estar%20al%20tanto%20de%20las%20%C3%BAltimas%20novedades%20o%20aprovechar%20al%20m%C3%A1ximo%20los%20sistemas.%0D%0A%0D%0AEsto%20suele%20traer%20algunas%20desventajas%2C%20como" title="del.icio.us"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F09%2Fcomo-recuperar-o-restaurar-un-arranque-estropeado-en-ubuntu%2F&amp;t=Como%20recuperar%20o%20restaurar%20un%20arranque%20estropeado%20en%20Ubuntu" title="Facebook"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F09%2Fcomo-recuperar-o-restaurar-un-arranque-estropeado-en-ubuntu%2F&amp;title=Como%20recuperar%20o%20restaurar%20un%20arranque%20estropeado%20en%20Ubuntu&amp;annotation=%0D%0ASoy%20un%20usuario%20bastante%20curioso%20y%20aventurero%20de%20Ubuntu%2C%20por%20eso%20suelo%20utilizar%20muchos%20programas%20en%20estado%20alpha%20o%20beta%20para%20estar%20al%20tanto%20de%20las%20%C3%BAltimas%20novedades%20o%20aprovechar%20al%20m%C3%A1ximo%20los%20sistemas.%0D%0A%0D%0AEsto%20suele%20traer%20algunas%20desventajas%2C%20como" title="Google Bookmarks"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://barrapunto.com/submit.pl?subj=Como%20recuperar%20o%20restaurar%20un%20arranque%20estropeado%20en%20Ubuntu&amp;story=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F09%2Fcomo-recuperar-o-restaurar-un-arranque-estropeado-en-ubuntu%2F" title="BarraPunto"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/barrapunto.png" title="BarraPunto" alt="BarraPunto" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://bitacoras.com/anotaciones/http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F09%2Fcomo-recuperar-o-restaurar-un-arranque-estropeado-en-ubuntu%2F" title="Bitacoras.com"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/bitacoras.png" title="Bitacoras.com" alt="Bitacoras.com" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://meneame.net/submit.php?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F09%2Fcomo-recuperar-o-restaurar-un-arranque-estropeado-en-ubuntu%2F" title="Meneame"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/meneame.png" title="Meneame" alt="Meneame" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F09%2Fcomo-recuperar-o-restaurar-un-arranque-estropeado-en-ubuntu%2F&amp;partner=sociable" title="PDF"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://shakaran.es/blog/feed/" title="RSS"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F09%2Fcomo-recuperar-o-restaurar-un-arranque-estropeado-en-ubuntu%2F&amp;title=Como%20recuperar%20o%20restaurar%20un%20arranque%20estropeado%20en%20Ubuntu" title="StumbleUpon"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fshakaran.es%2Fblog%2F2009%2F09%2Fcomo-recuperar-o-restaurar-un-arranque-estropeado-en-ubuntu%2F" title="Technorati"><img src="http://shakaran.es/blog/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>


<br/><br/>

<p>Entradas relacionadas:<ol><li><a href='http://shakaran.es/blog/2009/11/actualizar-ubuntu-karmic-koala-9-10-a-ubuntu-lucid-lynx-10-04/' rel='bookmark' title='Permanent Link: Actualizar Ubuntu Karmic Koala 9.10 a Ubuntu Lucid Lynx 10.04'>Actualizar Ubuntu Karmic Koala 9.10 a Ubuntu Lucid Lynx 10.04</a></li><li><a href='http://shakaran.es/blog/2008/08/como-hacer-una-copia-de-seguridad-de-tus-repositorios-en-ubuntu/' rel='bookmark' title='Permanent Link: Como hacer una copia de seguridad de tus repositorios en Ubuntu'>Como hacer una copia de seguridad de tus repositorios en Ubuntu</a></li><li><a href='http://shakaran.es/blog/2008/11/truco-como-desmontar-un-dispositivo-usb-flash-etc-cuando-esta-ocupado-y-conocer-la-aplicacion-que-lo-mantiene-ocupado/' rel='bookmark' title='Permanent Link: Truco: Cómo desmontar un dispositivo (USB, flash, etc) cuando esta ocupado y conocer la aplicación que lo mantiene ocupado'>Truco: Cómo desmontar un dispositivo (USB, flash, etc) cuando esta ocupado y conocer la aplicación que lo mantiene ocupado</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://shakaran.es/blog/2009/09/como-recuperar-o-restaurar-un-arranque-estropeado-en-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://shakaran.es/blog/2009/09/como-recuperar-o-restaurar-un-arranque-estropeado-en-ubuntu/</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 3.269 seconds. --><!-- Cached page generated by WP-Super-Cache on 2009-11-12 02:25:59 -->
