jueves, febrero 10, 2011

Como montar un disco externo NTFS en CentOS 5

Hola, aquí de nuevo con un poco más de agregado para el conocimiento ilimitado que siempre queremos ofrecer!

Esta vez el post se trata de como hacer que Linux CentOS 5 pueda reconocer un dispositivo externo USB formateado en NTFS, como todos sabemos, Linux no identifica particiones en NTFS en automatico, o más bien, si las identifica, pero no permite la lectura ni escritura en estas y al momento de conectarlas arroja el comentario que no se pudo montar el dispositivo. 

Linux trabaja con facilidad con los siguientes sistemas de archivos:
  • Fat32 o vfat: Es el sistema de archivos tradicional de MS - DOS y las primeras versiones de Windows.  Por esta razón, es considerado como un sistema universal, aunque padece de una gran fragmentación y es un poco inestable.
  • ext2: Hasta hace poco era el sistema estándar de Linux.  Tiene una fragmentación bajísima, aunque es un poco lento manejando archivos de gran tamaño.
  • ext3: Es la versión mejorada de ext2, con previsión de pérdida de datos por fallos del disco o apagones.  En contraprestación, es totalmente imposible recuperar datos borrados.  Es compatible con el sistema de archivos ext2.  Actualmente es el más difundido dentro de la comunidad GNU / Linux y considerado el estándar de facto.
  • ext4: Es un sistema de archivos con registro por diario ("Journaling" en inglés), anunciado el 10 de octubre del 2006 como una mejora compatible de ext3.  La principal novedad en ext4 es Extent, o la capacidad de reservar un área contigua para un archivo; esto puede reducir hasta eliminar completamente la fragmentación de arcihvos.  Es el sistema de archivos por defecto desde Ubunto Jaunty.
  • ReiserFS: Es el sistema de archivos de última generación para Linux.  Organiza los archivos de tal modo que se agilizan mucho las operaciones con éstos.  El problema de ser tan actual es que muchas herramientas (por ejemplo, para recuperar datos) no lo soportan.
  • swap: Es el sistema de archivos para la partición de intercambio de Linux.  Todos los sistemas de Linux necesitan una partición de este tipo para cargar los programas y no saturar la memoria RAM cuando se excede su capacidad.  En Windows, esto se hace con el archivo pagefile.sys en la misma partición de trabajo, con los problemas que conlleva.
Cabe mencionar que en Linux no existe el concepto de "unidad" (C:, D:, etc.) sino que las particiones se "montan" en el árbol de carpetas.  Eso no nos debe preocupar mucho.  Sólo comentar que la carpeta raíz de ese árbol se denota con "/" y que las particiones se suelen montar en la carpeta "/media", esto nos ayudará a comprender un poco más esto del "montado" de unidades externas.

En fin, sigamos con el "cómo" de este asunto.


Si queremos formatear un disco de 1 Tb con un sistema de archivos en FAT32 no nos conviene, puesto que el FAT32 no soporta todo ese espacio, y vamos a terminar con menos espacio en disco del que pagamos.  Verdad que no queremos eso?  Pero si queremos tener todo ese espacio para almacenar lo que se nos pegue la gana, por lo que, siguiendo estas sencillas instrucciones, hasta un niño de 10 años (al menos los niños de hoy en día, porque yo a los 10 años jugaba con He - Man y G.I. Joe´s y no me preocupaba por "sistemas de archivos") podrá montar un disco NTFS en CentOS 5.

Primero que nada nesecitamos el "ntfs mount", para esto debemos de instalar dos paquetes, pero no los descarguen directo del Web por favor!  Utilicen la terminal del CentOS ubicada en "Aplicaciones > Accesorios > Terminal" (hay traduzcan la ruta al lenguaje en el que tengan instalado el S.O.).

Ok, ya que tienen la "Terminal" abierta (que no parece más que un archivito de texto), tecleen lo siguiente para descargar el "ntfs-3g":

wget http://marush.com/wp-content/uploads/2009/03/ntfs-3g-100921-el5i686.rpm

Y después tecleen esto para instalarlo:

rpm -ihv ntfs-3g-200921-el5i686.rpm

Ahora necesitamos utilizar "fuse" (la verdad no sé porqué, pero si el "fuse" no podemos montar ntfs-3g):

wget http://sourceforge.net/projects/fuse/files/fuse-2.X/2.6.0/fuse-2.6.0.tar.gz/download

Después de esto, ejecuta el siguiente comando:

tar xvfz fuse-2.6.0.tar.gz

Esto crea el direcotio "fuse-2.6.0", así que en la terminal escribimos: cd fuse-2.6.0 para ir hasta este directorio, y ya estando allí ahora tecleamos (recuerden de dar enter después de cada línea, por eso está escrito de esta manera):

./configure
make
make install

Con esto queda lista la instalación, ahora prueba con este comando (acuérdate que seguimos escribiendo en la terminal):

fdisk -l

Y te va a aparecer algo como esto:

Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        9729    78043770   8e  Linux LVM
Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1       60801   488384001    7  HPFS/NTFS


No te asustes!  esto significa que todo esta bien!  Ahora a "montar" la unidad:

mkdir /500gb (o cualquiera que sea el nombre del disco que salió con el comando anterior (marcado en azul))
mount /dev/sdb1 /500gb -t ntfs-3g -r -o umask=0222  (En la dirección debes de poner la ubicación de donde esta el nombre del disco(marcado en azul) y agregarle un 1)


Ahora a revisar que tu unidad esté allí:

ls -ltr /500gb

Con eso ya podrás tener "montada" tu unidad externa con sistema NTFS!

Ahora, también puedes montarlo automáticamente utilizando el archivo fstab (/etc/fstab) en tu sistema de Linux, sólo tienes que aprender lo que el contenido significa y podrás editarlo, creeme, es muy fácil, pero esto lo dejamos para otro tuto.

Saludos y espero que les haya ayudado!