Este será un post corto, pero es algo que sé que resultará útil si eres un creador de contenido y usas archivos como distintas plantillas para crear algo más elaborado.
Un problema que he tenido yo desde que he estado cacharreando con proyectos del Unity es que uso muchas veces los mismos archivos y copio estos archivos a distintos proyectos, con el tiempo estos archivos van consumiendo el espacio dentro de nuestro disco duro, este problema es muy común en todo tipo de proyectos, por ejemplo si usas Fl-studio y Lmms, tiendes a copiar los samples de instrumentos en la carpeta raíz del programa, si tienes varios emuladores de una misma consola, tiendes a copiar las BIOS y los juegos dentro de las carpetas raíz, si tienes editores de imágenes como Photoshop o Gimp, copias los patrones etc.
Por eso he decidido centralizar estos archivos en una carpeta principal y protegerlo contra escritura, solo sacar copias de estos archivos originales para modificarlos etc, pero esta idea es tonta porque no soluciona el problema de espacio, entonces hice un experimento con Fl-studio y Lmms que paso a explicar a continuación.
El poder oculto de los accesos directo en Linux.
Un acceso directo viene siendo un enlace a otro archivo ubicado en otra parte, desde que vengo usando Windows desde el año 2000 nunca le vi la utilidad porque Windows no los reconocía como archivos, el problema se debe a que su extensión es *.lnk que solo tiene un texto que indica la ruta del archivo no mas.
Desde que me pasé a Linux, los accesos directos ahora sí que tienen sentido, porque hay dos tipos de enlace:
Un enlace como simbólico (#softlink o acceso directo) como el de Windows con la ventaja que en Linux no existe como tal, extensiones de archivo, pudiendo actuar el enlace como un archivo en sí mismo. También tienen la ventaja que este tipo de vinculo puede enlazarse fuera del disco duro del dispositivo a una carpeta de red, pendrive, disco duro externo, la desventaja es que, si se borra el archivo original, se pierde el enlace y esto se debe a que el archivo apunta a la ruta del archivo original. Estos enlaces son identificables por tener el símbolo de una flechita en el icono.
Está el enlace duro (#hardlink o enlace físico) que tiene aún mayor sentido, este enlace duro no viene siendo un enlace a la ruta de un archivo, sino un enlace en la posición de memoria dentro del disco duro, su ventaja es que, al destruir el archivo original los enlaces no pierden la conexión y aun puedes realizar copias de los enlaces restantes, en otras palabras este enlace nunca se rompe, la única desventaja es que sus enlaces solo funcionan dentro de la misma partición y a simple vista se ven como un archivo cualquiera pudiéndote confundir.
Entonces la idea es desde la carpeta de librerías, que será la carpeta central que contendrá todos los archivos originales, distribuir enlaces simbólicos o duros a las distintas plantillas de los distintos programas, de esta manera puedo enriquecer las herramientas de estos programas sin tener problemas de espacio y pudiéndome facilitar el migrar los archivos originales a otro lugar.
Mi experimento con Fl-Studio y Lmms me sirvió para enlazar los samples de audio de los instrumentos de los directorios base de ambos programas, pudiendo ambos programas contar con los mismos instrumentos sin que signifique un consumo de espacio en disco duro.
¿Como se hacen estos enlaces en Linux?
Abres una terminal, escribes el comando #ln, luego el archivo original y luego el nombre del archivo destino.
$ ln archivo_original.txt enlace_duro.txt # Por defecto hace un enlace duro.
$ ln -s archivo_original.txt enlace_suave.txt # Enlace suave con -s
Otra manera de crear un enlace simbólico es haciendo clic derecho sobre un archivo y seleccionar enviar a escritorio.
Conclusiones.
Una consideración que hay que tener es que al modificar un archivo desde un enlace ya sea simbólico o físico, estas alterando el archivo original, por lo que los cambios se verán reflejados en todos los enlaces y por ende en todos tus proyectos, así que hay que tener cuidado con lo que realmente se desea hacer.
Si los archivos originales no van a ser modificados, como en el caso de los samples, las BIOS, los pinceles, las paletas, los shaders, las roms de tus juegos, es mejor tener estos archivos como de solo lectura.
Si la aplicación y los enlaces están en una misma partición usa enlaces físicos, pero si están en particiones distintas o discos externos, usa siempre enlaces simbólicos.
Por último la carpeta que contiene los archivos originales, procura que esté oculta, que solo pueda ser modificada por el administrador o por el dueño de los archivos. Si son tus archivos personales mantenlo dentro de tu carpeta personal.
Se muy ordenado con el nombre y la estructura de las carpetas y de los archivos, esto facilitará poder encontrarlos fácilmente, de esta manera será más rápido hacer cualquier proyecto, modificarlo y migrarlo con facilidad.
No siendo mas nos vemos en un próximo post. Hasta otra
Comments