<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Maxfer</title>
	<atom:link href="http://maxfer.es/htdocs/feed" rel="self" type="application/rss+xml" />
	<link>http://maxfer.es/htdocs</link>
	<description>Un sysadmin cualquiera</description>
	<lastBuildDate>Mon, 06 Feb 2012 10:56:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Odisea con Vodafone</title>
		<link>http://maxfer.es/htdocs/archives/108</link>
		<comments>http://maxfer.es/htdocs/archives/108#comments</comments>
		<pubDate>Mon, 30 Jan 2012 12:12:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Sin categoría]]></category>

		<guid isPermaLink="false">http://maxfer.es/htdocs/?p=108</guid>
		<description><![CDATA[Os voy a contar mi difícil relación con Vodafone&#8230; llevo unos 10 años con móvil y de ellos, menos este mes de Enero, los llevaba con Vodafone. Tengo que reconocer que he conseguido un par de móviles mediante contraofertas una vez realizadas portabilidades a otras compañias, parece que es la única forma de conseguir que&#8230;]]></description>
			<content:encoded><![CDATA[<p>Os voy a contar mi difícil relación con Vodafone&#8230; llevo unos 10 años con móvil y de ellos, menos este mes de Enero, los llevaba con Vodafone.</p>
<p>Tengo que reconocer que he conseguido un par de móviles mediante contraofertas una vez realizadas portabilidades a otras compañias, parece que es la única forma de conseguir que te ofrezcan algo que medianamente valga la pena (Si te interesa el tema, visita este <a href="http://www.gsmspain.com/foros/f9_Operadores-Vodafone.html">foro</a>). Pero estas navidades lo volví a intentar y a parte de que las tarifas por tallas son muy, muy caras, el móvil que buscaba me salía muy caro incluso en contraoferta. Por lo que me decidí ir a Pepephone con su <a href="http://www.pepephone.com">tarifa ratoncito y elefante</a>.</p>
<p>El mismo día de la portabilidad, mi usuario en la web de Vodafone fue dado de baja por lo que me he quedado sin poder revisar mi última factura o el consumo que llevaba a día de la baja. Estoy a la espera de la emisión de esta última factura y del cobro en mi cuenta bancaria. Espero no encontrarme ninguna desagradable sorpresa.</p>
<p>Hace unas semanas compré un USB 3G prepago (con 1GB a gastar en 3 meses) para hacer un regalo, una vez instalado en el portátil veo con estupor que el programa no tiene la posibilidad de ver el gasto de tráfico acumulado. Por lo que no se puede saber cuantos MB quedan.</p>
<p>Una vez acabado el 1GB tienes la posibilidad de comprar Bonos prepago, el que me interesa es el de 100MB a gastar en 1 mes. Pero tengo la duda de si puedo comprar varios y así al acabarse uno, que se active el otro. Lo he consultado vía <a href="http://twitter.com/vodafone_es/">Twitter</a>, remitiendome a la información que hay en la web, inexistente en lo que a mi duda se refiere; vía teléfono (123) confirmandome que no es posible la acumulación de bonos. Mirando la web de Vodafone veo que les sale a cuenta esto y ahora os explico por qué.</p>
<p>El USB de prepago se tiene que recargar como cualquier teléfono prepago, una vez cargado el dinero se pueden comprar los bonos de Internet con el dinero cargado. Como no es posible comprar varios bonos a la vez, tienes que estar pendiente del tiempo que hace que compraste el último bono y a los 30 días comprar otro porque si no se activa por defecto la tarifa de navegación diaria (no se encuentra en ninguna parte en la web pero ronda los 3€/día).<br />
Hasta aquí los lamentos de un usuario al que se podría calificar de llorón pero la cosa no acaba aquí.</p>
<p>Desde que compré el USB 3G he intentado insistentemente darme de alta en la web de Vodafone para poder hacer las recargas y las compras de bonos vía internet. Llevo dos semanas haciendo una veintena de intentos diarios y en el último paso en el proceso de alta siempre me sale el mismo error.<br />
- Después de los primeros intentos llamé al 123. Me piden que introduzca el número de teléfono Vodafone, introduzco el del USB 3G y me dicen que no es un número vodafone y que cuando tenga el número vuelva a llamar, colgándome.<br />
- Consigo otro número de teléfono de asistencia técnica, llamo y me dicen que la única forma de darse de alta es vía web.<br />
- En otra llamada días después para recibir ayuda con el alta, me dicen que el usuario está bloqueado y que proceden a desbloquearlo, me ponen a la espera y me cuelgan.<br />
- Voy a la tienda y me dicen que ellos no pueden darme de alta.<br />
- Consulto el foro de ayuda de Vodafone, para poder postear tienes que estar dado de alta en la web.<br />
- Pregunto vía Twitter varias veces, me dicen que hay una incidencia &#8220;puntual&#8221; en la web (vaya que suerte de las 300 veces que he probado, he pillado 300 incidencias puntuales). Una de las veces me remiten a un video donde te explican paso a paso como darte de alta, en el video funciona todo perfectamente.<br />
- Para poder enviarles un mail necesitas estar dado den alta en la web.</p>
<p>Estoy empezando a desesperarme. To be continued</p>
<p>06/02/2012: El día 1 de Febrero, vía Twitter, me facilitaron un mail de contacto para ayuda técnica del foro de la web de Vodafone. Les envié un correo informando de mi situación con los datos de compra del modem USB 3G. El día 3 de febrero me contestaron, me informaron que habían abierto una incidencia pero que no podían facilitarme más información porque yo no era la persona que había dado los datos al hacer la compra del modem. Les pregunté que me dieran un número de incidencia o algo para poder hacer seguimiento de la incidencia pero no he recibido respuesta y sigo sin poder darme de alta.</p>
<div class="thanks_button_div" style="float: left; margin-right: 10px;"><div style="float: left; display: inline;"><input type="button" onclick="thankYouButtonClick(108, 'Ya diste las &ldquo;gracias&rdquo; por esta entrada')" value="Gracias: 0"
                class="thanks_button thanks_compact thanks_green"
                style="background-image:url(http://maxfer.es/htdocs/wp-content/plugins/thanks-you-counter-button/images/thanks_compact_green.png);  font-family: Verdana, Arial, Sans-Serif; font-size: 14px; font-weight: normal;; color:#ffffff;"
                id="thanksButton_108_2" title="Pincha aquí si quieres dar las &ldquo;gracias&rdquo; por esta entrada"/></div><div id="ajax_loader_108_2" style="display:inline;visibility: hidden;"><img alt="ajax loader" src="http://maxfer.es/htdocs/wp-content/plugins/thanks-you-counter-button/images/ajax-loader.gif" /></div></div>]]></content:encoded>
			<wfw:commentRss>http://maxfer.es/htdocs/archives/108/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Liberar HTC Desire gratis</title>
		<link>http://maxfer.es/htdocs/archives/96</link>
		<comments>http://maxfer.es/htdocs/archives/96#comments</comments>
		<pubDate>Tue, 22 Mar 2011 14:44:41 +0000</pubDate>
		<dc:creator>ferny</dc:creator>
				<category><![CDATA[Sin categoría]]></category>

		<guid isPermaLink="false">http://maxfer.es/htdocs/?p=96</guid>
		<description><![CDATA[Desde el foro de xda-developers os traigo la manera de liberar vuestra HTC Desire sin tener que pagar ni un centimo. Os dejo paso a paso lo que teneis que hacer: 1 &#8211; Descargar el siguiente archivo .iso (Rapidshare - Fileserve &#8211; Megaupload) 2 &#8211; Grabar la imagen en un CD o en un USB.&#8230;]]></description>
			<content:encoded><![CDATA[<p>Desde el foro de xda-developers os traigo la manera de liberar vuestra HTC Desire sin tener que pagar ni un centimo.</p>
<p>Os dejo paso a paso lo que teneis que hacer:</p>
<p>1 &#8211; Descargar el siguiente archivo .iso (<a href="http://rapidshare.com/files/453827776/HTC-Desire-unlock_v0.2a.iso">Rapidshare </a>- <a href="http://www.fileserve.com/file/aYEsC9D">Fileserve</a> &#8211; Megaupload)<br />
2 &#8211; Grabar la imagen en un CD o en un USB. Tambien se puede utilizar VMware o similares para cargar la imagen ISO.<br />
3 &#8211; Arrancar el PC desde el CD o USB que acabamos de crear. En caso de que utilicemos VMware crear una máquina virtual y arrancar con la imagen ISO directamente.<br />
4 &#8211; Apagar el movil<br />
5 &#8211; Sacar la tarjeta SD y la tarjeta SIM<br />
6 &#8211; Encendemos la desire presionando el boton de VOLUMEN ABAJO + ENCENDIDO, esto hará que la Desire arranque en HBOOT.<br />
7 &#8211; Conectamos la Desire al PC (que nos muestra un mensaje en inglés esperando que pulsemos una tecla)<br />
8 &#8211; Cuando en la pantalla del Desire ponga HBOOT USB PLUG pulsamos cualquier tecla en el ordenador.<br />
9 &#8211; Estar atento a los mensajes que pone en el PC y si no hay ningun error, este proceso nos liberará el HTC Desire.</p>
<p>En algunos casos hay que hacerlo varias veces, pero funciona. Podeis comprobar que funciona en cualquier foro especializado (HTCmania o GSMSpain) o directamente en la fuente <a href="http://forum.xda-developers.com/showthread.php?t=943726">XDA-developers</a> </p>
<div class="thanks_button_div" style="float: left; margin-right: 10px;"><div style="float: left; display: inline;"><input type="button" onclick="thankYouButtonClick(96, 'Ya diste las &ldquo;gracias&rdquo; por esta entrada')" value="Gracias: 31"
                class="thanks_button thanks_compact thanks_green"
                style="background-image:url(http://maxfer.es/htdocs/wp-content/plugins/thanks-you-counter-button/images/thanks_compact_green.png);  font-family: Verdana, Arial, Sans-Serif; font-size: 14px; font-weight: normal;; color:#ffffff;"
                id="thanksButton_96_2" title="Pincha aquí si quieres dar las &ldquo;gracias&rdquo; por esta entrada"/></div><div id="ajax_loader_96_2" style="display:inline;visibility: hidden;"><img alt="ajax loader" src="http://maxfer.es/htdocs/wp-content/plugins/thanks-you-counter-button/images/ajax-loader.gif" /></div></div>]]></content:encoded>
			<wfw:commentRss>http://maxfer.es/htdocs/archives/96/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Captchatrader una solución parcial a los captchas en Jdownloader</title>
		<link>http://maxfer.es/htdocs/archives/92</link>
		<comments>http://maxfer.es/htdocs/archives/92#comments</comments>
		<pubDate>Fri, 21 Jan 2011 10:42:34 +0000</pubDate>
		<dc:creator>ferny</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[captcha]]></category>
		<category><![CDATA[jdownloader]]></category>
		<category><![CDATA[recaptcha]]></category>

		<guid isPermaLink="false">http://maxfer.es/htdocs/?p=92</guid>
		<description><![CDATA[Voy a hacer un break en la temática normal del blog, pero puede serle útil a mucha gente. No es la solución definitiva para saltarse el recaptcha pero funciona bastante bien. Captchatrader es una web en la que puedes solucionar varios captchas de otros usuarios de golpe y acumular puntos que a su vez pueden&#8230;]]></description>
			<content:encoded><![CDATA[<p>Voy a hacer un break en la temática normal del blog, pero puede serle útil a mucha gente.<br />
No es la solución definitiva para saltarse el recaptcha pero funciona bastante bien.</p>
<p>Captchatrader es una web en la que puedes solucionar varios captchas de otros usuarios de golpe y acumular puntos que a su vez pueden ser intercambiados por captchas solucionados por otros usuarios. Es decir, entras en la web y vas solucionando captchas un rato, mientras vas acumulando puntos. Cuando tienes algo que descargar en el Jdownloader puedes utilizar esos puntos para que otros usuarios te solucionen los captchas  gracias a un plugin para el programa.</p>
<p>Si os interesa la idea os podeis dar de alta mediante el siguiente link, así me ponéis como referente y me darán puntos por cada captcha que resolvais (no os perjudica de ningún modo):</p>
<p><a href="http://captchatrader.com/users/refer/Maxfer/">http://captchatrader.com/users/refer/Maxfer/</a></p>
<div class="thanks_button_div" style="float: left; margin-right: 10px;"><div style="float: left; display: inline;"><input type="button" onclick="thankYouButtonClick(92, 'Ya diste las &ldquo;gracias&rdquo; por esta entrada')" value="Gracias: 2"
                class="thanks_button thanks_compact thanks_green"
                style="background-image:url(http://maxfer.es/htdocs/wp-content/plugins/thanks-you-counter-button/images/thanks_compact_green.png);  font-family: Verdana, Arial, Sans-Serif; font-size: 14px; font-weight: normal;; color:#ffffff;"
                id="thanksButton_92_2" title="Pincha aquí si quieres dar las &ldquo;gracias&rdquo; por esta entrada"/></div><div id="ajax_loader_92_2" style="display:inline;visibility: hidden;"><img alt="ajax loader" src="http://maxfer.es/htdocs/wp-content/plugins/thanks-you-counter-button/images/ajax-loader.gif" /></div></div>]]></content:encoded>
			<wfw:commentRss>http://maxfer.es/htdocs/archives/92/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comprobar que el servicio ssh está activo</title>
		<link>http://maxfer.es/htdocs/archives/89</link>
		<comments>http://maxfer.es/htdocs/archives/89#comments</comments>
		<pubDate>Thu, 09 Dec 2010 14:57:17 +0000</pubDate>
		<dc:creator>ferny</dc:creator>
				<category><![CDATA[How-to]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://maxfer.es/htdocs/?p=89</guid>
		<description><![CDATA[He visto, gracias a Google Analytics, que hay gente que llega a mi blog buscando cómo comprobar que el servicio ssh está activo; por lo que he decidido crear esta entrada y así darles una solución. En un sistema linux, tienes varias formas de comprobarlo. Lo primero que se tiene que probar es mirar si&#8230;]]></description>
			<content:encoded><![CDATA[<p>He visto, gracias a Google Analytics, que hay gente que llega a mi blog buscando cómo comprobar que el servicio ssh está activo; por lo que he decidido crear esta entrada y así darles una solución.</p>
<p>En un sistema linux, tienes varias formas de comprobarlo.<br />
Lo primero que se tiene que probar es mirar si el proceso del demonio SSH está corriendo:</p>
<pre>
$ ps -ef | grep sshd
root       823     1  0 08:52 ?        00:00:00 /usr/sbin/sshd
</pre>
<p>Si no sale ningún proceso, es que el demonio no está arrancado. En la mayoría de distribuciones lo podremos arrancar ejecutando lo siguiente:</p>
<pre>
$ /etc/init.d/sshd start
</pre>
<p>Si el proceso está corriendo, verificamos el puerto por donde está escuchando el servidor:</p>
<pre>
$ grep Port /etc/ssh/sshd_config
</pre>
<p>Si el fichero /etc/ssh/sshd_config, debes realizar una búsqueda de este fichero en el sistema:</p>
<pre>
$ locate sshd_config
</pre>
<p>o</p>
<pre>
$ find / -name sshd_config
</pre>
<p>Normalmente el puerto de escucha del servidor SSH es el 22 pero puede haberse modificado. Una vez tengamos el puerto, comprobamos que el servidor está escuchando:</p>
<pre>
$ netstat -na | grep 22
</pre>
<p>Se nos mostrará un listado de conexiones entre las que estarán las que se refieran al puerto 22, tenemos que ver una similar a esta:</p>
<pre>
tcp        0      0 0.0.0.0:22              0.0.0.0:*               ESCUCHAR
</pre>
<p>En lugar de ESCUCHAR es posible que se muestre LISTEN si la distribución está en inglés.<br />
Si todos los puntos anteriores están correctos y aún así no podemos conectarnos, podemos comprobar la configuración de la iptables:</p>
<pre>
$ /etc/init.d/iptables status
</pre>
<div class="thanks_button_div" style="float: left; margin-right: 10px;"><div style="float: left; display: inline;"><input type="button" onclick="thankYouButtonClick(89, 'Ya diste las &ldquo;gracias&rdquo; por esta entrada')" value="Gracias: 4"
                class="thanks_button thanks_compact thanks_green"
                style="background-image:url(http://maxfer.es/htdocs/wp-content/plugins/thanks-you-counter-button/images/thanks_compact_green.png);  font-family: Verdana, Arial, Sans-Serif; font-size: 14px; font-weight: normal;; color:#ffffff;"
                id="thanksButton_89_2" title="Pincha aquí si quieres dar las &ldquo;gracias&rdquo; por esta entrada"/></div><div id="ajax_loader_89_2" style="display:inline;visibility: hidden;"><img alt="ajax loader" src="http://maxfer.es/htdocs/wp-content/plugins/thanks-you-counter-button/images/ajax-loader.gif" /></div></div>]]></content:encoded>
			<wfw:commentRss>http://maxfer.es/htdocs/archives/89/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sustituciones de parámetros en bash</title>
		<link>http://maxfer.es/htdocs/archives/85</link>
		<comments>http://maxfer.es/htdocs/archives/85#comments</comments>
		<pubDate>Mon, 15 Nov 2010 11:30:48 +0000</pubDate>
		<dc:creator>ferny</dc:creator>
				<category><![CDATA[How-to]]></category>
		<category><![CDATA[bash]]></category>

		<guid isPermaLink="false">http://maxfer.es/htdocs/?p=85</guid>
		<description><![CDATA[1. Darle un valor por defecto a un parámetro: ${1:-valorPorDefecto} También se puede utilizar el símbolo :=, pero la variable destino debe tener ya un valor. Por lo que no se puede utilizar en los parámetros de entrada de un programa ya que las variables no tienen un valor inicial: ${var:=value} 2. Mostrar un error&#8230;]]></description>
			<content:encoded><![CDATA[<p>1. Darle un valor por defecto a un parámetro:</p>
<pre>
${1:-valorPorDefecto}
</pre>
<p>También se puede utilizar el símbolo :=, pero la variable destino debe tener ya un valor. Por lo que no se puede utilizar en los parámetros de entrada de un programa ya que las variables no tienen un valor inicial:</p>
<pre>
${var:=value}
</pre>
<p>2. Mostrar un error si no se pasa un parámetro y parar la ejecución del script:</p>
<pre>
${var?Error, la variable no se ha definido}
${var?Error, la variable no se ha definido o está vacía}
</pre>
<p>Se puede rizar el rizo un poco más y además de dar un error ejecutar un comando, en nuestro ejemplo hacemos un cat de un fichero:</p>
<pre>
"${1:?Error, falta el parámetro $(cat $HOME/leeme.txt)}"
</pre>
<p>3. Mostrar la longitud de una variable:</p>
<pre>
${#var}
</pre>
<p>4. Borrar un patrón de la parte delantera del valor de una variable.<br />
Para borrar la mínima parte del patrón</p>
<pre>
${var#patrón}
</pre>
<p>Para borrar la máxima parte del patrón:</p>
<pre>
${var##patrón}
</pre>
<p>Por ejemplo:</p>
<pre>
$> path=/home/user1/dir1/text.txt
$> echo ${path#*/}
home/user1/dir1/text.txt
$> echo ${path##*/}
text.txt
</pre>
<p>5. Borrar un patrón de la parte trasera del valor de una variable. Es totalmente equivalente al punto anterior.<br />
Para borrar la mínima parte del patrón</p>
<pre>
${var%patrón}
</pre>
<p>Para borrar la máxima parte del patrón:</p>
<pre>
${var%%patrón}
</pre>
<p>6. Reemplazar texto en una variable:</p>
<pre>
${var/Patrón/Reemplazo}
</pre>
<p>7.  Seleccionar parte del texto de una variable:</p>
<pre>
${var:inicio}
${var:inicio:longitud}
</pre>
<p>Por ejemplo:</p>
<pre>
$> var="0034914434343"
$> echo "El teléfono es ${var:4}"
El teléfono es 914434343
$> echo "El prefijo es ${var:0:4}"
El prefijo es 0034
</pre>
<div class="thanks_button_div" style="float: left; margin-right: 10px;"><div style="float: left; display: inline;"><input type="button" onclick="thankYouButtonClick(85, 'Ya diste las &ldquo;gracias&rdquo; por esta entrada')" value="Gracias: 2"
                class="thanks_button thanks_compact thanks_green"
                style="background-image:url(http://maxfer.es/htdocs/wp-content/plugins/thanks-you-counter-button/images/thanks_compact_green.png);  font-family: Verdana, Arial, Sans-Serif; font-size: 14px; font-weight: normal;; color:#ffffff;"
                id="thanksButton_85_2" title="Pincha aquí si quieres dar las &ldquo;gracias&rdquo; por esta entrada"/></div><div id="ajax_loader_85_2" style="display:inline;visibility: hidden;"><img alt="ajax loader" src="http://maxfer.es/htdocs/wp-content/plugins/thanks-you-counter-button/images/ajax-loader.gif" /></div></div>]]></content:encoded>
			<wfw:commentRss>http://maxfer.es/htdocs/archives/85/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Acceso root vía SSH en un NAS de Iomega</title>
		<link>http://maxfer.es/htdocs/archives/83</link>
		<comments>http://maxfer.es/htdocs/archives/83#comments</comments>
		<pubDate>Tue, 09 Nov 2010 10:40:09 +0000</pubDate>
		<dc:creator>ferny</dc:creator>
				<category><![CDATA[How-to]]></category>
		<category><![CDATA[iomega]]></category>
		<category><![CDATA[nas]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://maxfer.es/htdocs/?p=83</guid>
		<description><![CDATA[Para acceder vía SSH a nuestro NAS de Iomega lo primero que debemos hacer es comprobar que el servidor de SSH está activado. Podemos hacerlo de dos formas: Luser way &#8211; Accedemos a la web de configuración del NAS simplemente poniendo en nuestro navegador la IP del cacharro. Ponemos como nombre de usuario &#8220;admin&#8221; y&#8230;]]></description>
			<content:encoded><![CDATA[<p>Para acceder vía SSH a nuestro NAS de Iomega lo primero que debemos hacer es comprobar que el servidor de SSH está activado. Podemos hacerlo de dos formas:</p>
<ul>
<li> Luser way &#8211; Accedemos a la web de configuración del NAS simplemente poniendo en nuestro navegador la IP del cacharro. Ponemos como nombre de usuario &#8220;<em>admin</em>&#8221; y como password el que corresponda, para este ejemplo utilizaremos &#8220;<em>secreto</em>&#8220;. Una vez logados estaremos en la web <em>http://XXX.XXX.XXX.XXX/home.html?t=1</em>, cambiamos <em>/home.html?t=1</em> por <em>/support.html</em>. En esta web haremos clic sobre <em>Acceso de soporte</em> y comprobaremos si el servicio SSH está activado.</li>
<li> Sysadmin way &#8211; Hacemos un nmap a la IP del NAS y comprobamos que el puerto 22 está abierto. Si no está abierto utilizaremos el método anterior para activarlo.</li>
</ul>
<p>Una vez activado el servicio SSH nos conectaremos como root al NAS vía SSH y como password utilizaremos <em>soho</em> seguido de nuestro password de admin, en nuestro ejemplo el password sería &#8220;<em>sohosecreto</em>&#8220;.</p>
<div class="thanks_button_div" style="float: left; margin-right: 10px;"><div style="float: left; display: inline;"><input type="button" onclick="thankYouButtonClick(83, 'Ya diste las &ldquo;gracias&rdquo; por esta entrada')" value="Gracias: 5"
                class="thanks_button thanks_compact thanks_green"
                style="background-image:url(http://maxfer.es/htdocs/wp-content/plugins/thanks-you-counter-button/images/thanks_compact_green.png);  font-family: Verdana, Arial, Sans-Serif; font-size: 14px; font-weight: normal;; color:#ffffff;"
                id="thanksButton_83_2" title="Pincha aquí si quieres dar las &ldquo;gracias&rdquo; por esta entrada"/></div><div id="ajax_loader_83_2" style="display:inline;visibility: hidden;"><img alt="ajax loader" src="http://maxfer.es/htdocs/wp-content/plugins/thanks-you-counter-button/images/ajax-loader.gif" /></div></div>]]></content:encoded>
			<wfw:commentRss>http://maxfer.es/htdocs/archives/83/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Desmontar unidad en red bloqueada</title>
		<link>http://maxfer.es/htdocs/archives/76</link>
		<comments>http://maxfer.es/htdocs/archives/76#comments</comments>
		<pubDate>Wed, 03 Nov 2010 14:35:48 +0000</pubDate>
		<dc:creator>ferny</dc:creator>
				<category><![CDATA[How-to]]></category>
		<category><![CDATA[discos]]></category>

		<guid isPermaLink="false">http://maxfer.es/htdocs/?p=76</guid>
		<description><![CDATA[Si al intentar desmontar una unidad en red os da un mensaje como el siguiente: umount: /media/disk: device is busy umount: /media/disk: device is busy Primero os podéis asegurar de que no hay ningún proceso que está escribiendo en la unidad con los comandos siguientes: $ fuser -m /dev/sdc1 /dev/sdc1: 538 $ ps auxw &#124;&#8230;]]></description>
			<content:encoded><![CDATA[<p>Si al intentar desmontar una unidad en red os da un mensaje como el siguiente:</p>
<pre>
umount: /media/disk: device is busy
umount: /media/disk: device is busy
</pre>
<p>Primero os podéis asegurar de que no hay ningún proceso que está escribiendo en la unidad con los comandos siguientes:</p>
<pre>
$ fuser -m /dev/sdc1
/dev/sdc1: 538
$ ps auxw | grep 538
donncha 538 0.4 2.7 219212 56792 ? SLl Feb11 11:25 rhythmbox
</pre>
<p>Ahí tenéis el culpable de que no se pueda desmontar.</p>
<p>Pero hay casos en que el problema es que el servidor remoto ya no está disponible y no hay forma de desmontar la unidad. En ese caso se puede utilizar el flag <em>-l</em> (lazy) del comando umount:</p>
<pre>
$ umount -l /dev/sdc1
</pre>
<div class="thanks_button_div" style="float: left; margin-right: 10px;"><div style="float: left; display: inline;"><input type="button" onclick="thankYouButtonClick(76, 'Ya diste las &ldquo;gracias&rdquo; por esta entrada')" value="Gracias: 2"
                class="thanks_button thanks_compact thanks_green"
                style="background-image:url(http://maxfer.es/htdocs/wp-content/plugins/thanks-you-counter-button/images/thanks_compact_green.png);  font-family: Verdana, Arial, Sans-Serif; font-size: 14px; font-weight: normal;; color:#ffffff;"
                id="thanksButton_76_2" title="Pincha aquí si quieres dar las &ldquo;gracias&rdquo; por esta entrada"/></div><div id="ajax_loader_76_2" style="display:inline;visibility: hidden;"><img alt="ajax loader" src="http://maxfer.es/htdocs/wp-content/plugins/thanks-you-counter-button/images/ajax-loader.gif" /></div></div>]]></content:encoded>
			<wfw:commentRss>http://maxfer.es/htdocs/archives/76/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Problemas con el intercambio de claves SSH</title>
		<link>http://maxfer.es/htdocs/archives/74</link>
		<comments>http://maxfer.es/htdocs/archives/74#comments</comments>
		<pubDate>Fri, 29 Oct 2010 12:24:00 +0000</pubDate>
		<dc:creator>ferny</dc:creator>
				<category><![CDATA[How-to]]></category>
		<category><![CDATA[automatización]]></category>
		<category><![CDATA[claves]]></category>
		<category><![CDATA[dsa]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://maxfer.es/htdocs/?p=74</guid>
		<description><![CDATA[Si tienes problemas con el intercambio de claves SSH, has comprobado que has hecho bien el intercambio y con el flag -v no obtienes más información asegurate que el directorio .ssh del usuario en la máquina destino tiene los permisos correctos. He perdido media hora hasta que le he quitado los permisos de escritura de&#8230;]]></description>
			<content:encoded><![CDATA[<p>Si tienes problemas con el intercambio de claves SSH, has comprobado que has hecho bien el intercambio y con el flag -v no obtienes más información asegurate que el directorio .ssh del usuario en la máquina destino tiene los permisos correctos. He perdido media hora hasta que le he quitado los permisos de escritura de grupo.</p>
<div class="thanks_button_div" style="float: left; margin-right: 10px;"><div style="float: left; display: inline;"><input type="button" onclick="thankYouButtonClick(74, 'Ya diste las &ldquo;gracias&rdquo; por esta entrada')" value="Gracias: 2"
                class="thanks_button thanks_compact thanks_green"
                style="background-image:url(http://maxfer.es/htdocs/wp-content/plugins/thanks-you-counter-button/images/thanks_compact_green.png);  font-family: Verdana, Arial, Sans-Serif; font-size: 14px; font-weight: normal;; color:#ffffff;"
                id="thanksButton_74_2" title="Pincha aquí si quieres dar las &ldquo;gracias&rdquo; por esta entrada"/></div><div id="ajax_loader_74_2" style="display:inline;visibility: hidden;"><img alt="ajax loader" src="http://maxfer.es/htdocs/wp-content/plugins/thanks-you-counter-button/images/ajax-loader.gif" /></div></div>]]></content:encoded>
			<wfw:commentRss>http://maxfer.es/htdocs/archives/74/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Añadir un disco nuevo al sistema LVM</title>
		<link>http://maxfer.es/htdocs/archives/70</link>
		<comments>http://maxfer.es/htdocs/archives/70#comments</comments>
		<pubDate>Fri, 29 Oct 2010 09:17:28 +0000</pubDate>
		<dc:creator>ferny</dc:creator>
				<category><![CDATA[How-to]]></category>
		<category><![CDATA[discos]]></category>
		<category><![CDATA[lvm]]></category>

		<guid isPermaLink="false">http://maxfer.es/htdocs/?p=70</guid>
		<description><![CDATA[1. Creo una partición en cada disco nuevo $ fdisk /dev/cciss/c0d1 "n" : Para crear una nueva partición "p" : Partición primaria "1" : Primera partición Enter : Primer cilindro Enter : Último cilindro "t" : Escoger el tipo de partición "8e" : Tipo Linux LVM "w" : Guardar los cambios en el disco y&#8230;]]></description>
			<content:encoded><![CDATA[<p>1. Creo una partición en cada disco nuevo</p>
<pre>
$ fdisk /dev/cciss/c0d1
"n"   : Para crear una nueva partición
"p"   : Partición primaria
"1"   : Primera partición
Enter : Primer cilindro
Enter : Último cilindro
"t"   : Escoger el tipo de partición
"8e"  : Tipo Linux LVM
"w"   : Guardar los cambios en el disco y salir
</pre>
<p>Si hay varios discos se debe hacer para cada uno de ellos cambiando la ruta /dev/cciss/c0d1 por la ruta del disco.</p>
<p>2. Formateo la(s) nueva(s) partición(es):</p>
<pre>
$ mkfs -t ext3 -c /dev/cciss/c0d1p1
</pre>
<p>3. Añado la nueva partición al VG:</p>
<pre>
$ pvcreate /dev/cciss/c0d1p1
$ vgextend VolGroup00 /dev/cciss/c0d1p1
</pre>
<p>4. Hago crecer el LV:</p>
<pre>
$ lvextend -L +738G /dev/VolGroup00/LogVol00
$ resize2fs /dev/VolGroup00/LogVol00
</pre>
<div class="thanks_button_div" style="float: left; margin-right: 10px;"><div style="float: left; display: inline;"><input type="button" onclick="thankYouButtonClick(70, 'Ya diste las &ldquo;gracias&rdquo; por esta entrada')" value="Gracias: 2"
                class="thanks_button thanks_compact thanks_green"
                style="background-image:url(http://maxfer.es/htdocs/wp-content/plugins/thanks-you-counter-button/images/thanks_compact_green.png);  font-family: Verdana, Arial, Sans-Serif; font-size: 14px; font-weight: normal;; color:#ffffff;"
                id="thanksButton_70_2" title="Pincha aquí si quieres dar las &ldquo;gracias&rdquo; por esta entrada"/></div><div id="ajax_loader_70_2" style="display:inline;visibility: hidden;"><img alt="ajax loader" src="http://maxfer.es/htdocs/wp-content/plugins/thanks-you-counter-button/images/ajax-loader.gif" /></div></div>]]></content:encoded>
			<wfw:commentRss>http://maxfer.es/htdocs/archives/70/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Varias instancias de Tomcat en un único servidor</title>
		<link>http://maxfer.es/htdocs/archives/66</link>
		<comments>http://maxfer.es/htdocs/archives/66#comments</comments>
		<pubDate>Thu, 28 Oct 2010 14:03:16 +0000</pubDate>
		<dc:creator>ferny</dc:creator>
				<category><![CDATA[How-to]]></category>
		<category><![CDATA[automatización]]></category>
		<category><![CDATA[tomcat]]></category>
		<category><![CDATA[varias instancias]]></category>

		<guid isPermaLink="false">http://maxfer.es/htdocs/?p=66</guid>
		<description><![CDATA[Para tener varias instancias de Tomcat corriendo en un mismo servidor y no morir en el intento tengo un par de trucos para que a la hora de administrarlos no sea un infierno. 1 &#8211; Se instala tomcat normalmente: apt-get install tomcat5.5 apt-get install tomcat6 yum install tomcat5 yum install tomcat6 up2date tomcat5 up2date tomcat6&#8230;]]></description>
			<content:encoded><![CDATA[<p>Para tener varias instancias de Tomcat corriendo en un mismo servidor y no morir en el intento tengo un par de trucos para que a la hora de administrarlos no sea un infierno.<br />
1 &#8211; Se instala tomcat normalmente:</p>
<pre>apt-get install tomcat5.5
apt-get install tomcat6</pre>
<pre>yum install tomcat5
yum install tomcat6</pre>
<pre>up2date tomcat5
up2date tomcat6</pre>
<p>2 &#8211; Creamos un directorio donde tendremos cada una de las instancias de Tomcat, por ejemplo:</p>
<pre>mkdir /opt/tomcat-instances</pre>
<p>Y para cada instancia su directorio:</p>
<pre>mkdir /opt/tomcat-instances/server1
mkdir /opt/tomcat-instances/server2
mkdir /opt/tomcat-instances/server3</pre>
<p>3 &#8211; Para cada una de las instancias que queremos creamos el siguiente árbol de directorios:</p>
<pre>mkdir /opt/tomcat-instances/server1/conf
mkdir /opt/tomcat-instances/server1/logs
mkdir /opt/tomcat-instances/server1/temp
mkdir /opt/tomcat-instances/server1/webapps
mkdir /opt/tomcat-instances/server1/work</pre>
<p>4 &#8211; Copiaremos los ficheros del directorio <em>conf</em> de la instalación estándar de Tomcat a cada uno de los directorios <em>conf</em> de nuestras instancias:</p>
<pre>cp -pr /usr/share/tomcat5/conf/* /opt/tomcat-instances/server1/conf/
cp -pr /usr/share/tomcat5/conf/* /opt/tomcat-instances/server2/conf/
cp -pr /usr/share/tomcat5/conf/* /opt/tomcat-instances/server3/conf/</pre>
<p>5 &#8211; Editamos el fichero server.xml del directorio <em>conf</em> de cada una de nuestras instancias, tenemos que cambiar los puertos de cada instancia para que no haya coincidencias. Son 3 puertos por instancias:</p>
<pre>&lt;Server port="8190" shutdown="SHUTDOWN"&gt;</pre>
<pre>&lt;Connector port="8090" maxHttpHeaderSize="8192"
...</pre>
<pre>&lt;Connector port="8290"
...</pre>
<p>Podemos poner numeros consecutivos para identificar más facilmente los puertos, por ejemplo, para el server1 usar los puertos 8191, 8091 y 8291; para el server2, el 8192, 8092 y 8292; etc.</p>
<p>6 &#8211; Creamos un directorio <em>/opt/bin</em> y por cada instancia creamos un fichero llamado <em>entorno_NOMBRE_INSTANCIA.sh</em>, en nuestro caso de ejemplo:</p>
<pre>touch /opt/bin/entorno_server1.sh
touch /opt/bin/entorno_server2.sh
touch /opt/bin/entorno_server3.sh</pre>
<p>En cada uno de estos ficheros cargaremos el entorno y las diferentes opciones de arranque de las instancias Tomcat. Un ejemplo sería el siguiente:</p>
<pre>#!/bin/sh
JAVA_HOME=/usr/java/default
CATALINA_HOME=/usr/share/tomcat5
CATALINA_BASE=/opt/tomcat-instances/server1

JAVA_OPTS="-server -Duser.language=es -Duser.region=ES -Xmx256m -XX:MaxPermSize=128m -Djava.awt.headless=true"

export JAVA_HOME JAVA_OPTS CATALINA_HOME CATALINA_BASE
</pre>
<p>7 &#8211; Creamos un fichero <em>shutdown_generic.sh</em> en el directorio <em>/opt/bin</em> con el siguiente contenido:</p>
<pre>#!/bin/sh
my=`whoami`
instance=`echo $0 | cut -d '_' -f 2-`
if [ $my = root ]
then
        su - tomcat5 -c ". /opt/bin/entorno_${instance}; /opt/bin/shutdown.sh"
elif [ $my = tomcat5 ]
then
        . /opt/bin/entorno_${instance};
        /opt/bin/shutdown.sh;
else
        echo "Ejecutar como usuario root o tomcat5."
</pre>
<p>Este fichero nos permite arrancar las instancias con el usuario tomcat5 (cambiar por el equivalente en el sistema). Si se ejecuta con el usuario root, el script utiliza el comando &#8220;su&#8221; para arrancar la instancia como tomcat5.</p>
<p>8 &#8211; Equivalentemente creamos un fichero en el directorio /opt/bin llamado startup_generic.sh con el siguiente contenido:</p>
<pre>#!/bin/sh
my=`whoami`
instance=`echo $0 | cut -d '_' -f 2- | cut -d '.' -f 1`

if [ $my = root ]
then
  su - tomcat5 -c ". /opt/bin/entorno_${instance}.sh; &gt; /opt/tomcat-instances/${instance}/logs/catalina.out; &gt; /opt/tomcat-instances/${instance}/logs/gc.log; nohup /opt/bin/startup.sh"
elif [ $my = tomcat5 ]
then
  . /opt/bin/entorno_${instance}.sh;
  &gt; /opt/tomcat-instances/${instance}/logs/catalina.out
  &gt; /opt/tomcat-instances/${instance}/logs/gc.log
  nohup /opt/bin/startup.sh;
else
  echo "Ejecutar como usuario root o tomcat5."
fi
</pre>
<p>Este script además de arrancar la instancia de Tomcat, borra los logs <em>catalina.out</em> y <em>gc.out</em>, en un entorno de producción sería conveniente otro sistema para el tratamiento de logs y no recomiendo estas instrucciones.</p>
<p>9 &#8211; Por último creamos enlaces simbólicos hacia los scripts genéricos con el nombre de cada instancia:</p>
<pre>$ ln -s startup_generic.sh startup_server1.sh
$ ln -s startup_generic.sh startup_server2.sh
$ ln -s startup_generic.sh startup_server3.sh
$ ln -s shutdown_generic.sh shutdown_server1.sh
$ ln -s shutdown_generic.sh shutdown_server2.sh
$ ln -s shutdown_generic.sh shutdown_server3.sh
</pre>
<p>10 &#8211; Para arrancar una instancia únicamente tendremos que ejecutar el script correspondiente.</p>
<p>Para el server1:</p>
<pre>$ /opt/bin/startup_server1.sh
</pre>
<p>Para el server2:</p>
<pre>$ /opt/bin/startup_server2.sh
</pre>
<p>Etc.</p>
<p>Igualmente a la hora de parar la instancia:</p>
<p>Para el server1:</p>
<pre>$ /opt/bin/shutdown_server1.sh
</pre>
<p>Para el server2:</p>
<pre>$ /opt/bin/shutdown_server2.sh
</pre>
<p>Etc.</p>
<div class="thanks_button_div" style="float: left; margin-right: 10px;"><div style="float: left; display: inline;"><input type="button" onclick="thankYouButtonClick(66, 'Ya diste las &ldquo;gracias&rdquo; por esta entrada')" value="Gracias: 5"
                class="thanks_button thanks_compact thanks_green"
                style="background-image:url(http://maxfer.es/htdocs/wp-content/plugins/thanks-you-counter-button/images/thanks_compact_green.png);  font-family: Verdana, Arial, Sans-Serif; font-size: 14px; font-weight: normal;; color:#ffffff;"
                id="thanksButton_66_2" title="Pincha aquí si quieres dar las &ldquo;gracias&rdquo; por esta entrada"/></div><div id="ajax_loader_66_2" style="display:inline;visibility: hidden;"><img alt="ajax loader" src="http://maxfer.es/htdocs/wp-content/plugins/thanks-you-counter-button/images/ajax-loader.gif" /></div></div>]]></content:encoded>
			<wfw:commentRss>http://maxfer.es/htdocs/archives/66/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

