<?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>Linux &#38;&#38; PHP @ NomikOS – BLOG &#187; Recuperación de datos</title>
	<atom:link href="http://nomikos.info/tag/recuperacion-de-datos/feed" rel="self" type="application/rss+xml" />
	<link>http://nomikos.info</link>
	<description>Artículos y temas sobre programación web: Linux, PHP, jQuery, CodeIgniter/Kohana y mis trabajos en linea en RAC. Igor Parra Bastias – NomikOS</description>
	<lastBuildDate>Wed, 18 Aug 2010 14:22:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Recuperación de archivos borrados en linux y cómo convertir un sistema de archivos UFS de ext3 a ext2.</title>
		<link>http://nomikos.info/2009/03/01/recuperacion-de-archivos-borrados-en-linux-y-como-convertir-un-sistema-de-archivos-ufs-de-ext3-a-ext2.html</link>
		<comments>http://nomikos.info/2009/03/01/recuperacion-de-archivos-borrados-en-linux-y-como-convertir-un-sistema-de-archivos-ufs-de-ext3-a-ext2.html#comments</comments>
		<pubDate>Sun, 01 Mar 2009 17:24:04 +0000</pubDate>
		<dc:creator>NomikOS</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[ext2]]></category>
		<category><![CDATA[ext3]]></category>
		<category><![CDATA[Recuperación de datos]]></category>

		<guid isPermaLink="false">http://nomikos.info/?p=116</guid>
		<description><![CDATA[photo credit: simonbouchard Introducción Asi que lo borraste y ahora lo quieres de vuelta? Seguro que no. Debe haber sido un error. Echarse para atrás no lo hacemos los machotes ni las mujeres güenonas. Pasa que cuando te estas toda una tarde robándole a alguien su discografia completa de Groove Armada y pasas a llevar [...]


Posts relacionados:<ol><li><a href='http://nomikos.info/2010/05/25/como-leermontar-isomdf-en-linux.html' rel='bookmark' title='Permanent Link: Cómo leer/montar ISO/MDF en linux.'>Cómo leer/montar ISO/MDF en linux.</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<div class="photodropper"><a href="http://www.flickr.com/photos/10729228@N07/3383316089/" title="Centos" target="_blank"><img src="http://farm4.static.flickr.com/3470/3383316089_76293f68cd_m.jpg" alt="IMG_5181" border="0" /></a><br /><small><a href="http://creativecommons.org/licenses/by-nc-nd/2.0/" title="Attribution-NonCommercial-NoDerivs License" target="_blank"><img src="http://nomikos.info/wp-content/plugins/photo-dropper/images/cc.png" alt="Creative Commons License" border="0" width="16" height="16" align="absmiddle" /></a> <a href="http://www.photodropper.com/photos/" target="_blank">photo</a> credit: <a href="http://www.flickr.com/photos/10729228@N07/3383316089/" title="simonbouchard" target="_blank">simonbouchard</a></small></div>
<h1>Introducción</h1>
<p>Asi que lo borraste y ahora lo quieres de vuelta? Seguro que no. Debe haber sido un error. Echarse para atrás no lo hacemos los machotes ni las mujeres güenonas.</p>
<p>Pasa que cuando te estas toda una tarde robándole a alguien su discografia completa de Groove Armada y pasas a llevar F7 en el <a title="http://nomikos.info/2009/05/uso-del-administrador-de-archivos-midnight-commander-y-gnome-commander-en-linux-tutorial/" href="http://nomikos.info/2009/05/uso-del-administrador-de-archivos-midnight-commander-y-gnome-commander-en-linux-tutorial/">midnight commander</a> y que de puro capo no + tienes desconectado el &#8220;confirm before delete&#8221;, claro te dices: &#8220;cáspita, p q soy g&#8221;.</p>
<div style="clear:both"></div>
<p>No era la primera vez que asi me reprendía.<br />
Lo bueno de linux es que siempre puedes tener la seguridad de que algo se puede hacer, incluso con metidas de pata gloriosas.<span id="more-116"></span></p>
<p>Primero ve al sitio de estos cabros buenos pa&#8217; la pega <a href="http://www.cgsecurity.org/wiki/TestDisk">http://www.cgsecurity.org/wiki/TestDisk</a> y obtén tu copia GRATUITA de &#8220;TestDisk &#038; PhotoRec 6.10 (17 July 2008), Data Recovery&#8221;.</p>
<p>A la fecha de este artículo bajé la versión beta o sea: &#8220;TestDisk &#038; PhotoRec 6.11-WIP, Data Recovery&#8221;. En la versión 6.10 no encontré la opción &#8220;undelete&#8221;. Ya te está gustando Ah?</p>
<p>Para hacerla corta aqui está el link del programa que usaremos <a href="http://www.cgsecurity.org/testdisk-6.11-WIP.linux26.tar.bz2">http://www.cgsecurity.org/testdisk-6.11-WIP.linux26.tar.bz2</a>. También hay una copia para un kernel 2.4.</p>
<p>Dentro de otras particularidades de este software está la que nos interesa:</p>
<p><em>#  Undelete files from FAT, NTFS and ext2 filesystem</em></p>
<p>Asi es, &#8220;ext2 filesystem&#8221; y yo que tengo?</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><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;">cat</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>fstab<br />
<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>hda10 &nbsp; <span style="color: #000000; font-weight: bold;">/</span> &nbsp; ext3 &nbsp; &nbsp;etc...</div></td></tr></tbody></table></div>
<p>Claro, cuando instalé el sistema, astutamente pensé &#8220;3 es más que 2&#8243; asi que usé ext3.</p>
<p>Aquí hay una buena explicación de por que no se pueden recucuperar archivos en ext3 <a href="http://lindesk.com/2009/01/recovering-deleted-data-linux-ext3-filesystem-use-trash-can/">http://lindesk.com/2009/01/recovering-deleted-data-linux-ext3-filesystem-use-trash-can/</a>.</p>
<p>Al parecer es un sistema de archivos más apropiado para servidores en los cuales se quiere evitar al máximo la fragmentación de sus archivos. Cuando queda un espacio libre es inmediatamente ocupado por otros datos impidiendo así la recuperación de los anteriores que son sobrescritos.  Por otro lado ext3 es más seguro en cuanto a la integridad de los datos, salvaguardándolos muy bien , por ejemplo, en un corte de energía. (En este caso siempre puedes usar e2fsck para chequear un sistema ext2 (desmontado)). Esta integridad la logra mediane un sistema de transacciones llamado &#8220;journaling&#8221;</p>
<p>Cuando transformas ext 2 a ext3 dices:</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;"># afina mi file system 2 agregándole journaling</span><br />
tune2fs <span style="color: #660033;">-O</span> +has_journal <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>hda10</div></td></tr></tbody></table></div>
<p>Eso es un sistema ext3, ext2 más transacciones (<a href="http://es.wikipedia.org/wiki/Journaling">journaling</a>.). Las transacciones son muy fáciles de entender y ya las conocerás si has usado tablas innodb en MySQL:</p>
<p>Por ejemplo, este blog no usa transacciones por que la importancia de su contenido no lo amerita, Un post se graba o no se graba. Si no se graba debido a alguna falla, puedes intentarlo mas tarde. En cambio cuando sacas plata de un cajero, estarias muy molesto si el banco registra el retiro, luego el sistema falla y tu no alcanzas ni a ver los billetes. Eso no ocurre bajo una transacción. Si el proceso falla en alguna parte, la base de datos mantiene el estado anterior a ella. El costo de esta seguridad es velocidad y espacio.</p>
<p>Así que teniendo claro esto del <i>journaling</i> es un muy buen comienzo para entender la diferencia entre ambos sistemas de archivos.</p>
<blockquote><p>Todos estos trajines con el sistema de archivos son muy delicados. Hay que tener varias cosas en cuenta y atender todas las advertencias que el mismo sistema dá. Estudiar los comandos ante de usarlos con <i>man command</i> y leer buenas fuentes: <a href="http://es.wikipedia.org/wiki/Ext2">ext2</a>, <a href="http://es.wikipedia.org/wiki/Ext3">ext3</a>.</p></blockquote>
<p>So, teniendo dos pegas atrasadas y una sed no menor (entiéndase sed de sábado por la tarde) me dispuse a cambiar de file system. Aunque no tenía mucha idea de que es eso definitivamente me tiraría a huelga si no podía escuchar a los morrocotudos GA. De puro porfiado no +.</p>
<p>Mientras le metia mano a las entrañas del SO me decia &#8220;la voy a c, la voy a c&#8221;. En alguna parte había leído clarito: &#8220;Use This Software At Your Own Risk&#8221;, que según traduce la experiencia significa &#8220;si Ud. mete la pata seguro que será hasta el cogote&#8221;.</p>
<p>Ya basta de plática. A lo nuestro:</p>
<h1>Cómo convertir un sistema de archivos Unix (UFS) de ext3 a ext2</h1>
<p>Antes de proceder infórmate más de como funcionan estos comandos en tu propio sistema.</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><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;">man</span> tune2fs<br />
<span style="color: #c20cb9; font-weight: bold;">man</span> e2fsck</div></td></tr></tbody></table></div>
<p>Según estos muchachos <a href="http://www.troubleshooters.com/linux/ext2toext3.htm#_three2two">http://www.troubleshooters.com/linux/ext2toext3.htm#_three2two</a> los pasos a seguir son:</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><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;">umount</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>hda10<br />
tune2fs <span style="color: #660033;">-O</span> ^has_journal <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>hda10<br />
e2fsck <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>hda10<br />
Edit <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>fstab to change <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>hda10 to <span style="color: #c20cb9; font-weight: bold;">mount</span> <span style="color: #7a0874; font-weight: bold;">type</span> ext2<br />
<span style="color: #c20cb9; font-weight: bold;">mount</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>hda10</div></td></tr></tbody></table></div>
<p>Excelente, también lo dicen los chicos de Red Hat (En todo caso estos pasos son genéricos).<br />
No está de más agregar que como no puedes seguir parado si te sacas el piso a ti mismo, esto debes hacerlo desde otro dispositivo /dev que no sea el que vas a desmontar, obviamente.</p>
<p>Es decir:</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><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;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">umount</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>hda10<br />
<span style="color: #c20cb9; font-weight: bold;">umount</span>: <span style="color: #000000; font-weight: bold;">/</span>: device is busy</div></td></tr></tbody></table></div>
<p>O sea, el sistema te dice: estoy ocupado ejecutando linux! dummy&#8230;</p>
<p>En cambio si tienes tus archivos en otra partición, esa sí la puedes desmontar sin nigún problema, como lo harías con tu pendrive, por ejemplo.</p>
<p>Quieres hacer algo emocionante!</p>
<h1>Cambiar a nivel de ejecución 1: init1</h1>
<p>Esto es como ir al superconciente de tu sistema operativo. En el nivel 1 sólo operan los sistemas básicos de linux y sólo atiende a un usuario y en forma aislada de otros computadores. Por esto no hay servicios de red ni se ejecutan programas en segundo plano (demonios). Puedes interactuar con él a través de la linea de comandos y sólo habiendo asumido previamente privilegios de root.</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;"># asumir privilegios de root en forma persistente (-i).</span><br />
<span style="color: #666666; font-style: italic;"># abandonas estos privilegios usando el comando exit</span><br />
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #660033;">-i</span><br />
<br />
<span style="color: #666666; font-style: italic;"># antes de ejecutar init 1 ten presente que serán terminados todos</span><br />
<span style="color: #666666; font-style: italic;"># los procesos en niveles superiores a 1 como servidores y escritorio</span><br />
init <span style="color: #000000;">1</span></div></td></tr></tbody></table></div>
<p>Entonces, ahora díle que desmonte su sistema de almacenamiento principal que en este caso nombramos como /dev/hda10.</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br /></div></td><td><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;">umount</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>hda10<br />
<span style="color: #666666; font-style: italic;"># lo hará limpiamente.</span><br />
<br />
<span style="color: #666666; font-style: italic;"># retirar journal (ext3)</span><br />
tune2fs <span style="color: #660033;">-O</span> ^has_journal <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>hda10<br />
<br />
<span style="color: #666666; font-style: italic;"># chequear file system</span><br />
<span style="color: #666666; font-style: italic;"># si todo va bien debe responder con &quot;clean&quot;</span><br />
e2fsck <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>hda10<br />
<br />
<span style="color: #666666; font-style: italic;"># edita /etc/fstab y cambia ext3 por ext2 para /dev/hda10</span><br />
<span style="color: #c20cb9; font-weight: bold;">vi</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>fstab<br />
<br />
<span style="color: #666666; font-style: italic;"># como estamos suponiendo que /dev/hda10 es tu partición</span><br />
<span style="color: #666666; font-style: italic;"># principal lo mejor será reiniciar</span><br />
<span style="color: #000000; font-weight: bold;">/</span>sbin<span style="color: #000000; font-weight: bold;">/</span>shutdown <span style="color: #660033;">-r</span> now</div></td></tr></tbody></table></div>
<p>En el código anterior cambia hda10 por tu dispositivo. Podrás identificarlo con <i>cat /etc/fstab</i> y no olvides editar /etc/fstab y cambiar ext3 por ext2. Y muy, muy importante, no olvides ejecutar también <i>e2fsck /dev/hda10</i>.</p>
<p>(luego continuamos, tengo que hacerle cariño al gato)</p>


<p>Posts relacionados:<ol><li><a href='http://nomikos.info/2010/05/25/como-leermontar-isomdf-en-linux.html' rel='bookmark' title='Permanent Link: Cómo leer/montar ISO/MDF en linux.'>Cómo leer/montar ISO/MDF en linux.</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://nomikos.info/2009/03/01/recuperacion-de-archivos-borrados-en-linux-y-como-convertir-un-sistema-de-archivos-ufs-de-ext3-a-ext2.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
