[TIP] Enlaces simbólicos en NTFS

Para todos los que viven hablando mal de Windows en favor de Linux les tengo una mala noticia: NTFS no tiene nada que envidiarle al mejor de los EXT4 o BTRFS, no señor. Si no estás de acuerdo, mas abajo podés dejar un comentario.

Como estará de bien hecho el sistema de archivos, que ¡hasta soporta enlaces simbólicos!. (Claro que pagando, como todo lo que viene del lado oscuro de la fuerza).

Y te digo mas: Hace mas de 12 años que NTFS soporta enlaces simbólicos. Desde Windows 2000 en adelante, de hecho. Para poder hacer uso de una característica tan “pro”, Microsoft pretendía que compremos el Resource Kit para la versión de WIndows correspondiente. Es decir, casi como cuando comprás un juguete nuevo y querés ponerlo a funcionar inmediatamente pero no podés por que “No incluye baterías”.

¿No entendiste un carajo todavía?

Un enlace simbólico es un archivo o directorio en cualquiera de tus unidades físicas formateadas en NTFS que no contiene nada si no que es simplemente un puntero, un indicador a otro archivo o directorio contenido en otra ubicación distinta de cualquiera de tus discos rígidos.

¿Nunca te preguntaste como hace Windows 7 para contener lo mismo en c:\documents and settings y c:\users? Bueno, eso mismo, por ejemplo.

Maldito el día en que me propuse ponerle una imágen a cada artículo. Ahora no se que poner en este y esto fué lo que apareció en Google images al googlear la palabra "junction".

Esto aparece en Google Images al buscar Junction. Maldito el día en que me propuse ponerle una imágen a cada artículo.

Si bien se le dá el nombre de enlace simbólico y el funcionamiento es mas o menos parecido, no confundir con los enlaces simbólicos y enlaces físicos de Linux por que para ser exactos, esto que en NTFS proponen como “simbólico” es mas bien un punto medio, una combinación de ambas ideas.

Un enlace simbólico en NTFS puede tener distinto nombre con respecto al archivo original, al igual que los enlaces simbólicos de Linux, pero a su vez es una entrada en la tabla de asignación que le da otro nombre al mismo contenido, como los enlaces físicos –o duros, hard links– en Linux.

Para que se entienda: Si bien puede llamarse distinto, si eliminás el enlace simbólico, te llevas puesta también la información que hubiera contenida en el archivo o directorio original. Esto con los enlaces simbólicos de Linux no pasa.

¿Que utilidad puede tener?

Muchas, o ninguna, depende de vos. A mi en particular se me ocurren unas cuantas. Tantas que hasta tengo junction en el path de ejecución –no miento– para tenerlo siempre a mano y acá es a donde quería llegar:

Si te comprás el Windows Resource Kit para tu versión de Windows, disponés de linkd, la utilidad para gestionar enlaces simbólicos. Si sos pobre pero querés linkd, vas y bajás junction de la gente de sysinternals, que paradójicamente hizo siempre tan buenas herramientas que fué comprada por Mícrosoft, que ahora te ofrece gratis lo mismo por lo que además te cobra por otro lado.

junction para windows usa exactamente la misma sintaxis que ln en Linux:

junction <que cosa> <en donde>

¿Querés que tu Windows XP tenga una carpeta c:\users como en Windows 7? Facil:

junction c:\users «c:\Documents and Settings»

Podés deshacer estos cambios usando:

junction –d c:\users

Que cosa mas inútil, ¿no?

…Y como era de esperarse viniendo de Microsoft: No funciona sobre unidades de red.

12 comentarios

    1. Siempre encontré que Dropbox + enlaces simbólicos era la mejor combinación para mantener un respaldo de un proyecto (un desarrollo, una página web, un trabajo para la universidad, etc) SIN tener que meter esa carpeta dentro de la carpeta Dropbox. WIN para Linux (y ahora para Windows también!)

  1. muy buen post, muy bien explicado. nunca, en mi modo de usar mi entorno windows, me hizo falta hacer uso de enlaces simbólicos, pero lo tendré en cuenta para entonces… sí usé, y me vino muy bien, algo similar, que fue montar un disco rígido en una carpeta. la famosa carpeta «descargas» que tenía en mi windows estaba en otro disco. y no usaba dos directorios separados porque era el directorio default de todas las descargar en winxp

  2. Aquí tienes tres utilidades gratuitas que permiten administrar enlaces simbólicos y similares:

    1. Link Shell Extension (el mejor de todos, y la página incluye una completísima explicación de toda la enjundia de los enlaces simbólicos, enlaces duros, uniones, etc.): http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html

    2. Junction Link Magic: http://rekenwonder.com/linkmagic.htm

    3. Symlinker: http://code.google.com/p/symlinker/

    Ojalá los puedas probar y comentes cómo te va.

    1. Mañana hago un: «[HowTo] Como preparar pesto» y seguro viene uno y me cambia la nuez moscada por canela.
      Esto es lo bueno de tener un blog. Siempre hay alguien que sabe mas que uno. No importa el tópico a tratar :D.

      Un día de estos los pruebo, ya me los agendé por lo pronto. Muchas gracias.

      ¡Saludos!

  3. NTFS es un buen sistema de archivos… con XP medio que patinaba un poco, cada corte de luz era rezar para que no se perdieran datos; pero luego se ve que lo mejoraron y hoy con Seven anda muy bien (es raro ver un chkdsk al inicio luego de un apagón)

    En cuanto a Microsoft… bueh, es el mismo arroz una y otra vez. Cada vez que querés «customizar» el sistema tenés que recurrir a herramientas de terceros (algunas gratuitas, otras pagas).
    Esa es la gran virtud que posee Linux, todas las herramientas están al alcance de la mano (o del repo)

    A «ln» lo uso para linkear imágenes ISO de distros lives directamente al grub.
    Por ejemplo SystemRescueCD lo tengo linkeado como sysrescd.iso, si sale una nueva versión, la bajo, relinkeo al nuevo ISO y listo.

    1. Una de las grandes ventajas de poder hablar de gigabytes de RAM, ¿no?. Antes, bootear una iso era impensable.

      No quiero ser pájaro de mal agüero (bueno, en realidad si quiero y hasta lo disfruto un poco) pero he visto y en mas de una oportunidad, particiones NTFS que alojaban otrora robustos Windows 7 hechas remil mierda al punto de complicar o hacer imposible la recuperación de datos. Así que no, no pongo las manos en el fuego por NTFS como no pongo las manos por ningún filesystem. (Al menos por ahora).

      Yo si tiemblo con los cortes de luz aunque hoy en día no es tanto por el sistema de archivos si no mas bien por el precio de los discos rígidos. Je.

      ¡Saludos!

  4. Hum, me olvide de mencionar lo muy anticuado que me parece NTFS.
    1) En una particion ext4 y en una NTFS, hacé algo monstruoso como $ mkdir -p {1..100}/{1..100}
    2) Para ser más justos, borrá la cache con # sync; sysctl vm.drop_caches=2
    3) Borrá la carpeta con algun navegador de archivos GUI. Preferentemente Nautilus, dado lo lento que es. De cualquier forma es virtualmente instantáneo.
    4) Para ser más justos, reinciá a windows y borrá la carpeta con rmdir /s /q.
    5) Espera casi medio minuto mientras borra tan sólo 10.000 entradas.
    6) Blogueá sobre cómo NTFS no tiene nada que envidiarle al mejor de los EXT4.
    Problem?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *