domingo, 4 de noviembre de 2007

¿Cómo desfragmentar (o defragmentar) un disco duro en Linux?

KobraSoft en ForoMSN nos da la respuesta cuando explica;
Con GNU/Linux no ocurre fragmentación de ficheros, o al menos no ocurre de manera sustancial. Los sistemas de archivos son mucho más avanzados que los de Windows, por lo que no es necesario desfragmentar tu disco duro.

5 comentarios:

Roman Alberto dijo...

Hola, espero que estes bien!! Soy nuevo en GNU-Linux, la verdad es una maravilla. Gracias, te debo un café. Ojalá estemos geograficamente en las misma zona. Un saludo!!!!

Profesor Frink dijo...

bla bla bla. cachorro, y si en Ubuntu tengo una partición NTFS?

Anónimo dijo...

La única razón para tener una partición NTFS en Ubuntu es porque tienes Windows... ve a dicho sistema y ejecuta la herramienta necesaria.

La fragmentación excesiva en el sistema de archivos NTFS es inevitable.

schakal87 dijo...

q tal es verdad q las particiones por defecto de linux no hay problema de fragmentacion pero mi caso es q tengo un disco duro externo con ntfs pues paso archivos de win a linux de diferentes pc asi q necesito desfragmentar pero desde mi pc q tiene linux .
Alguien q me ayude con un repositorio q me ayude con el caso

josher1601 dijo...

Hola, pues la verdad que en linux si se puede desfragmentar un directorio o un disco... este script en Perl ayuda a realizar esa tarea...

primero se van a la raiz

1. cd /

Luego crean el archivo

2. touch desfragmentar.pl

Luego insertan este escript

3. Copiar este codigo en desfragmentar.pl

#!/usr/bin/perl -w

#this script search for frag on a fs
use strict;

#number of files
my $files = 0;
#number of fragment
my $fragments = 0;
#number of fragmented files
my $fragfiles = 0;

#search fs for all file
open (FILES, "find " . $ARGV[0] . " -xdev -type f -print0 |");

$/ = "\0";

while (defined (my $file = )) {
open (FRAG, "-|", "filefrag", $file);
my $res = ;
if ($res =~ m/.*:\s+(\d+) extents? found/) {
my $fragment = $1;
$fragments += $fragment;
if ($fragment > 1) {
$fragfiles++;
}
$files++;
} else {
print ("$res : not understand for $file.\n");
}
close (FRAG);
}
close (FILES);

print ( $fragfiles / $files * 100 . "% non contiguous files, " . $fragments / $files . " average fragments.\n");

Luego le dan permisos

4. chmod u+x desfragmentar.pl

Y para finalizar se ejecuta de esta forma

5. ./desfragmentar.pl /home/USUARIO

USUARIO = carpeta que desean desfragmentar, esto se puede realizar con cualquier directorio.

Espero les sirva.

FUENTE: http://forums.gentoo.org/viewtopic-p-3111409-highlight-.html#3111409

Si la información que encontraste aquí te sirvió se buena persona e invítame un café o al menos dame un link desde tu blog o sitio web, ¿si?



¡Mira cuánto ofrecen por estos dominios!