<?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>elTecnoBlog &#187; Linux</title>
	<atom:link href="http://www.eltecnoblog.com/category/linux-eltecnoblog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.eltecnoblog.com</link>
	<description>Tecnología, comunicaciones, entrepreneurship y un poco de todo lo demás</description>
	<lastBuildDate>Thu, 02 Feb 2012 11:01:18 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.2</generator>
		<item>
		<title>Problemas desinstalando virtualbox-ose en Ubuntu 10.04</title>
		<link>http://www.eltecnoblog.com/2011/12/12/problemas-desinstalando-virtualbox-ose-en-ubuntu-10-04/</link>
		<comments>http://www.eltecnoblog.com/2011/12/12/problemas-desinstalando-virtualbox-ose-en-ubuntu-10-04/#comments</comments>
		<pubDate>Mon, 12 Dec 2011 10:23:38 +0000</pubDate>
		<dc:creator>guillem</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.eltecnoblog.com/?p=160</guid>
		<description><![CDATA[Hoy, intentando desinstalar el paquete de virtualbox-ose para Ubuntu, he tenido problemas. Me sucedía lo siguiente: Desinstalando virtualbox-ose &#8230; * Stopping VirtualBox kernel modules                                            * Cannot unload module vboxdrv [fail] invoke-rc.d: initscript virtualbox-ose, action &#8220;stop&#8221; failed. dpkg: error al procesar virtualbox-ose (&#8211;remove): Para solucionarlo, hay que editar el fichero /etc/default/virtualbox-ose como root y modificar la [...]]]></description>
			<content:encoded><![CDATA[<p>Hoy, intentando desinstalar el paquete de virtualbox-ose para Ubuntu, he tenido problemas. Me sucedía lo siguiente:</p>
<p style="padding-left: 30px;">Desinstalando virtualbox-ose &#8230;<br />
* Stopping VirtualBox kernel modules                                            * Cannot unload module vboxdrv<br />
[fail]<br />
invoke-rc.d: initscript virtualbox-ose, action &#8220;stop&#8221; failed.<br />
dpkg: error al procesar virtualbox-ose (&#8211;remove):</p>
<p>Para solucionarlo, hay que editar el fichero /etc/default/virtualbox-ose como root y modificar la línea en que se indica que se carguen los módulos del kernel y dejarlo a 0.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.eltecnoblog.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.eltecnoblog.com/2011/12/12/problemas-desinstalando-virtualbox-ose-en-ubuntu-10-04/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exim + MailScanner + Mail not delivered &#8211; Mail stuck on queue</title>
		<link>http://www.eltecnoblog.com/2011/08/29/exim-mailscanner-mail-not-delivered-mail-stuck-on-queue/</link>
		<comments>http://www.eltecnoblog.com/2011/08/29/exim-mailscanner-mail-not-delivered-mail-stuck-on-queue/#comments</comments>
		<pubDate>Mon, 29 Aug 2011 12:03:00 +0000</pubDate>
		<dc:creator>guillem</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[exim]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[mailscanner]]></category>
		<category><![CDATA[queue]]></category>
		<category><![CDATA[stuck]]></category>

		<guid isPermaLink="false">http://www.eltecnoblog.com/?p=163</guid>
		<description><![CDATA[Si tenéis problemas con una configuración exim + MailScanner y los correos entran pero luego no se envía la cola (funciona el exim que recibe correo del exterior pero no el que los procesa luego de pasar por el MailScanner) aseguraros de revisar el fichero /etc/exim/trusted-configs Dentro de ese fichero deben estar especificados los dos [...]]]></description>
			<content:encoded><![CDATA[<p>Si tenéis problemas con una configuración exim + MailScanner y los correos entran pero luego no se envía la cola (funciona el exim que recibe correo del exterior pero no el que los procesa luego de pasar por el MailScanner) aseguraros de revisar el fichero /etc/exim/trusted-configs</p>
<p>Dentro de ese fichero deben estar especificados los dos ficheros de configuración de exim que usa MailScanner. Por ejemplo:<br />
/etc/exim/exim.conf<br />
/etc/exim/exim_out.conf</p>
<p>Espero ahorrarle unas horillas de trabajo a alguien&#8230; <img src='http://www.eltecnoblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.eltecnoblog.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.eltecnoblog.com/2011/08/29/exim-mailscanner-mail-not-delivered-mail-stuck-on-queue/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Facebook &#8216;hacking&#8217;</title>
		<link>http://www.eltecnoblog.com/2010/11/06/facebook-hacking/</link>
		<comments>http://www.eltecnoblog.com/2010/11/06/facebook-hacking/#comments</comments>
		<pubDate>Sat, 06 Nov 2010 02:05:17 +0000</pubDate>
		<dc:creator>guillem</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Social]]></category>
		<category><![CDATA[pseudo-hacks]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[image]]></category>

		<guid isPermaLink="false">http://www.eltecnoblog.com/?p=34</guid>
		<description><![CDATA[El &#8216;hacking&#8217; del título está entre comillas porque realmente no se trata de ninguna cosa muy espectacular. Lo que os quiero mostrar a continuación es un pequeño script en PHP que hice ya hace algún tiempo y que permite obtener la dirección de un álbum de alguien de facebook para poder verlo. Obviamente dicha persona [...]]]></description>
			<content:encoded><![CDATA[<p>El &#8216;hacking&#8217; del título está entre comillas porque realmente no se trata de ninguna cosa muy espectacular. Lo que os quiero mostrar a continuación es un pequeño script en PHP que hice ya hace algún tiempo y que permite obtener la dirección de un álbum de alguien de facebook para poder verlo. Obviamente dicha persona no debe tener restringido el álbum, pues en caso de ser así no se ve nada de nada. Sin embargo, en el caso de que no esté restringido, se pueden ver álbumes completos a los que de otra forma no podríamos acceder. En definitiva no deja de ser un script para &#8216;deofuscación&#8217; más que un hack.</p>
<p>En el script en si hay que poner tres parámetros:<br />
- el $uid: corresponde al indentificador del usuario del que queréis buscar el álbum<br />
- $from y $to: corresponden a los identificadores de álbum entre los que queremos buscar. Estos dos parámetros son los difíciles de aproximar. Por lo que he podido ver parece que se asignan de forma secuencial a cada álbum que se crea. La mejor forma para aproximar es buscar algún perfil con un Id cercano al que estáis buscando el álbum y que permita ver sus álbumes. Mirad el aid del álbum de dicho perfil y probad con un from y un to entre 500 más abajo y 500 más arriba (por lo menos). Este método sin duda es muy rudimentario, pero funciona. Quizá algún día automatice el script para que haga también una estimación del from y el to, pero eso será más adelante&#8230;</p>
<div class="codecolorer-container php blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">//Set User ID here</span><br />
<span style="color: #000088;">$uid</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">4</span><span style="color: #339933;">;</span><br />
<span style="color: #666666; font-style: italic;">//Album ID to start from. 'Guessing' required...</span><br />
<span style="color: #000088;">$from</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span><br />
<span style="color: #666666; font-style: italic;">//Album ID to finish at. 'Guessing' required...</span><br />
<span style="color: #000088;">$to</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">500</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #000088;">$server</span> <span style="color: #339933;">=</span> <span style="color: #990000;">gethostbyname</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'www.facebook.com'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$ii</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$from</span><span style="color: #339933;">;</span> <span style="color: #000088;">$ii</span> <span style="color: #339933;">&lt;</span> <span style="color: #000088;">$to</span><span style="color: #339933;">;</span> <span style="color: #000088;">$ii</span><span style="color: #339933;">++</span> <span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
sockAccess<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$ii</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #000000; font-weight: bold;">function</span> sockAccess<span style="color: #009900;">&#40;</span><span style="color: #000088;">$ii</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
<span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$uid</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$page</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;album.php?aid=<span style="color: #006699; font-weight: bold;">$ii</span>&amp;id=<span style="color: #006699; font-weight: bold;">$uid</span>&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$server</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$errno</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$errstr</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$fp</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$fp</span> <span style="color: #339933;">=</span> <span style="color: #990000;">fsockopen</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$server</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">80</span><span style="color: #339933;">,</span> <span style="color: #000088;">$errno</span><span style="color: #339933;">,</span> <span style="color: #000088;">$errstr</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">30</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$fp</span> <span style="color: #339933;">===</span> <span style="color: #cc66cc;">0</span> <span style="color: #009900;">&#41;</span><br />
<span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">&quot;Error <span style="color: #006699; font-weight: bold;">$errstr</span> (<span style="color: #006699; font-weight: bold;">$errno</span>)&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #000088;">$out</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;GET /<span style="color: #006699; font-weight: bold;">$page</span> HTTP/1.1<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$out</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;Host: <span style="color: #006699; font-weight: bold;">$server</span><span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$out</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$out</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot; en-US; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.2<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$out</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;Connection: Close<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span><br />
f write<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$fp</span><span style="color: #339933;">,</span> <span style="color: #000088;">$out</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$content</span> <span style="color: #339933;">=</span> <span style="color: #990000;">fgets</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$fp</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$code</span> <span style="color: #339933;">=</span> <span style="color: #990000;">trim</span><span style="color: #009900;">&#40;</span> <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$content</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">9</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">4</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
f close<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$fp</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$code</span> <span style="color: #339933;">!=</span> <span style="color: #cc66cc;">200</span> <span style="color: #009900;">&#41;</span><br />
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Album found!: http://www.facebook.com/album.php?aid=<span style="color: #006699; font-weight: bold;">$ii</span>&amp;id=<span style="color: #006699; font-weight: bold;">$uid</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <span style="color: #339933;">!</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ii</span><span style="color: #339933;">%</span><span style="color:#800080;">10</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><br />
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Trying around: <span style="color: #006699; font-weight: bold;">$ii</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span></div></div>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.eltecnoblog.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.eltecnoblog.com/2010/11/06/facebook-hacking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Añadir SPF estricto (fail) a cPanel</title>
		<link>http://www.eltecnoblog.com/2010/10/01/anadir-spf-estricto-fail-a-cpanel/</link>
		<comments>http://www.eltecnoblog.com/2010/10/01/anadir-spf-estricto-fail-a-cpanel/#comments</comments>
		<pubDate>Fri, 01 Oct 2010 15:41:44 +0000</pubDate>
		<dc:creator>guillem</dc:creator>
				<category><![CDATA[Email]]></category>
		<category><![CDATA[cPanel]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[fail]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[spf]]></category>

		<guid isPermaLink="false">http://www.eltecnoblog.com/?p=31</guid>
		<description><![CDATA[Para las cuentas ya existentes: ls /var/cpanel/users &#124; while read a; do /usr/local/cpanel/bin/spf_installer $a '' 1 done Para las nuevas, vamos a WHM->DNS Functions->Edit Zone Templates y en el Simple y en el Standard añadimos una línea al final con: %domain%. IN TXT &#8220;v=spf1 a mx -all&#8221;]]></description>
			<content:encoded><![CDATA[<p>Para las cuentas ya existentes:</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>cpanel<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">users</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #c20cb9; font-weight: bold;">read</span> a; <span style="color: #000000; font-weight: bold;">do</span><br />
<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>cpanel<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>spf_installer <span style="color: #007800;">$a</span> <span style="color: #ff0000;">''</span> <span style="color: #000000;">1</span><br />
<span style="color: #000000; font-weight: bold;">done</span></div></div>
<p>Para las nuevas, vamos a WHM->DNS Functions->Edit Zone Templates y en el Simple y en el Standard añadimos una línea al final con:</p>
<p>%domain%. IN TXT &#8220;v=spf1 a mx -all&#8221; </p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.eltecnoblog.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.eltecnoblog.com/2010/10/01/anadir-spf-estricto-fail-a-cpanel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Buscar links rotos en una web</title>
		<link>http://www.eltecnoblog.com/2010/06/16/buscar-links-rotos-en-una-web/</link>
		<comments>http://www.eltecnoblog.com/2010/06/16/buscar-links-rotos-en-una-web/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 08:42:42 +0000</pubDate>
		<dc:creator>guillem</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[wget]]></category>

		<guid isPermaLink="false">http://www.eltecnoblog.com/?p=26</guid>
		<description><![CDATA[Vía diariolinux.com leo una receta interesante sobre como buscar enlaces rotos en una web mediante wget: wget --spider &#160;--no-parent -r -o log.txt http://tuweb.com En concreto, cada una de los parámetros funciona según sigue: &#8211;spider: recorrer la web sin descargar nada. -r: recursivo. -o fichero: salida del comando (para que nos quede guardado en fichero) –no-parent: [...]]]></description>
			<content:encoded><![CDATA[<p>Vía <a href="http://diariolinux.com/2010/06/11/receta-como-obtener-listado-de-links-rotos/http://diariolinux.com/2010/06/11/receta-como-obtener-listado-de-links-rotos/">diariolinux.com</a> leo una receta interesante sobre como buscar enlaces rotos en una web mediante wget:</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">wget</span> <span style="color: #660033;">--spider</span> &nbsp;<span style="color: #660033;">--no-parent</span> <span style="color: #660033;">-r</span> <span style="color: #660033;">-o</span> log.txt http:<span style="color: #000000; font-weight: bold;">//</span>tuweb.com</div></div>
<p>En concreto, cada una de los parámetros funciona según sigue:<br />
&#8211;spider: recorrer la web sin descargar nada.<br />
-r: recursivo.<br />
-o fichero: salida del comando (para que nos quede guardado en fichero)<br />
–no-parent: no subirà a directorios padre.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.eltecnoblog.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.eltecnoblog.com/2010/06/16/buscar-links-rotos-en-una-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sustituir una cadena concreta en multiples archivos recursivamente</title>
		<link>http://www.eltecnoblog.com/2010/06/15/sustituir-una-cadena-concreta-en-multiples-archivos-recursivamente/</link>
		<comments>http://www.eltecnoblog.com/2010/06/15/sustituir-una-cadena-concreta-en-multiples-archivos-recursivamente/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 18:41:36 +0000</pubDate>
		<dc:creator>guillem</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[cadena]]></category>
		<category><![CDATA[grep]]></category>
		<category><![CDATA[reemplazar]]></category>
		<category><![CDATA[sustituir]]></category>

		<guid isPermaLink="false">http://www.eltecnoblog.com/?p=21</guid>
		<description><![CDATA[Pues hoy vamos a comentar algo parecido a lo que ya puse hace un tiempo pero concretando más. De hecho vamos a especificar el nombre del archivo y la cadena a encontrar: grep -r &#8211;include=nombre_del_fichero -l &#8220;cadena_a_buscar&#8221; . &#124; xargs perl -pi.bak -e &#8216;s/cadena_a_buscar/cadena_que_reemplaza/g&#8217; Los nombres creo que son autoindicativos&#8230; además esto crea una copia [...]]]></description>
			<content:encoded><![CDATA[<p>Pues hoy vamos a comentar algo parecido a lo que ya puse hace un tiempo pero concretando más. De hecho vamos a especificar el nombre del archivo y la cadena a encontrar:</p>
<p>grep -r &#8211;include=nombre_del_fichero -l &#8220;cadena_a_buscar&#8221; . | xargs perl -pi.bak -e &#8216;s/cadena_a_buscar/cadena_que_reemplaza/g&#8217;</p>
<p>Los nombres creo que son autoindicativos&#8230; <img src='http://www.eltecnoblog.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>además esto crea una copia de seguridad por si nos equivocamos&#8230;</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.eltecnoblog.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.eltecnoblog.com/2010/06/15/sustituir-una-cadena-concreta-en-multiples-archivos-recursivamente/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>register_globals con mod_suphp</title>
		<link>http://www.eltecnoblog.com/2010/06/04/register_globals-con-mod_suphp/</link>
		<comments>http://www.eltecnoblog.com/2010/06/04/register_globals-con-mod_suphp/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 14:05:35 +0000</pubDate>
		<dc:creator>guillem</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[register_globals]]></category>

		<guid isPermaLink="false">http://www.eltecnoblog.com/?p=19</guid>
		<description><![CDATA[Aunque activar register_globals no es para nada una buena idea, sigue habiendo algunos maldi___ scripts por ahí que lo necesitan. ¿Como se hace en PHP5 en una instalación vía mod_suphp? En la carpeta en cuestión creamos un fichero llamado php.ini con el texto &#8216;register_globals = 1&#8242; (sin las comillas lógicamente.)]]></description>
			<content:encoded><![CDATA[<p>Aunque activar register_globals no es para nada una buena idea, sigue habiendo algunos maldi___ scripts por ahí que lo necesitan.</p>
<p>¿Como se hace en PHP5 en una instalación vía mod_suphp?<br />
En la carpeta en cuestión creamos un fichero llamado <em>php.ini</em> con el texto &#8216;register_globals = 1&#8242; (sin las comillas lógicamente.)</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.eltecnoblog.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.eltecnoblog.com/2010/06/04/register_globals-con-mod_suphp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Replace string in multiple files</title>
		<link>http://www.eltecnoblog.com/2009/11/18/replace-string-in-multiple-files/</link>
		<comments>http://www.eltecnoblog.com/2009/11/18/replace-string-in-multiple-files/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 16:30:10 +0000</pubDate>
		<dc:creator>guillem</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.eltecnoblog.com/2009/11/18/replace-string-in-multiple-files/</guid>
		<description><![CDATA[To do a multiple file replace of a specified string, just run the following perl -pi.bak -e &#8216;s/what to change/what to change to/g&#8217; * This also makes a backup of the files, with extension .bak If you just want to modify, for example, PHP files, use the same but at the end replace &#8216;*&#8217; with [...]]]></description>
			<content:encoded><![CDATA[<p>To do a multiple file replace of a specified string, just run the following</p>
<p>perl -pi.bak -e &#8216;s/what to change/what to change to/g&#8217; *</p>
<p>This also makes a backup of the files, with extension .bak</p>
<p>If you just want to modify, for example, PHP files, use the same but at the end replace &#8216;*&#8217; with &#8216;*.php&#8217;</p>
<p>That&#8217;s all</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.eltecnoblog.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.eltecnoblog.com/2009/11/18/replace-string-in-multiple-files/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Find inside files</title>
		<link>http://www.eltecnoblog.com/2009/11/04/find-inside-files/</link>
		<comments>http://www.eltecnoblog.com/2009/11/04/find-inside-files/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 17:04:19 +0000</pubDate>
		<dc:creator>guillem</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.eltecnoblog.com/2009/11/04/find-inside-files/</guid>
		<description><![CDATA[Easy way to find inside files on Linux: grep -r &#8220;what youre looking for&#8221; * Yup, that&#8217;s it!]]></description>
			<content:encoded><![CDATA[<p>Easy way to find inside files on Linux:</p>
<p>grep -r &#8220;what youre looking for&#8221; *</p>
<p>Yup, that&#8217;s it!</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.eltecnoblog.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.eltecnoblog.com/2009/11/04/find-inside-files/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Test email routing with exim</title>
		<link>http://www.eltecnoblog.com/2009/11/04/test-email-routing-with-exim/</link>
		<comments>http://www.eltecnoblog.com/2009/11/04/test-email-routing-with-exim/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 17:01:55 +0000</pubDate>
		<dc:creator>guillem</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.eltecnoblog.com/2009/11/04/test-email-routing-with-exim/</guid>
		<description><![CDATA[This is just a quick note on how to check email router with exim: exim -bt test@test.com Where test@test.com is the address you&#8217;d like to test.]]></description>
			<content:encoded><![CDATA[<p>This is just a quick note on how to check email router with exim:</p>
<p>exim -bt test@test.com</p>
<p>Where test@test.com is the address you&#8217;d like to test.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.eltecnoblog.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.eltecnoblog.com/2009/11/04/test-email-routing-with-exim/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

