87 - Compartir archivos en Linux
Diferentes opciones para compartir archivos en Linux, ya sea desde un NAS, desde tu Rasbperry o desde donde tu necesites, también con Windows y MacOSX
Un motivo mas que interesante para tener una Raspberry en tu red es para poder compartir archivos y directorios con otros equipos. Dado el bajo consumo de la Rasbperry, de forma que siempre la puedes tener en funcionamiento, te permite utilizarla para compartir archivos en Linux en tu red. De esta forma, estos archivos y directorios siempre estarían disponibles para su consumo. Es mas, si tienes tu propia red virtual, como te comenté en el episodio 52 del podcast, esos archivos y directorios los tendrás disponibles donde vayas.
Uno de los problemas en los que te puedes ver envuelto al aterrizar en Linux es que tienes diferentes opciones para un mismo fin. Esto que en principio debería ser una ventaja, sin lugar a dudas también es un problema. Es un problema porque despista, porque a tu pregunta de ¿como puedo compartir archivos en Linux? te puedes encontrar con media docena de respuestas distintas, y unas tan válidas como otras. Esto último es relativamente cierto, porque depende de que es lo que quieras hacer.
Al final, efectivamente, podrás compartir el mismo directorio pero el rendimiento de las diferentes soluciones entenderás que no es el mismo. Dependiendo de las circunstanciaras, una solución puede ser mejor que otra. Sin embargo, en muchas ocasiones no vas a apreciar diferencia, y en otras ocasiones no podrás utilizar alguna de las alternativas que indico por que no estén habilitadas, o simplemente por que quieres compartir con otro sistema operativo que no tiene tantas posibilidades.
Compatir archivos en Linux
De las diferentes opciones que tienes para compartir un directorio en red me centraré en tres opciones, Samba, NFS y SSHFS
Compartir archivos en Linux con Samba
La primera de las opciones es Samba. Samba es un software liberado bajo licencia GNU/GPL, que proporciona servicios de impresión e intercambio de archivos utilizando el protocolo SMB/CIFS para todo tipo de clientes, tanto Windows, como Mac OS como Linux. Precisamente el hecho de que esté disponible para las tres grandes plataformas lo hace ideal precisamente para esto, para compartir.
Pero Samba va mas allá de simplemente compartir, también te permite validar usuarios, servir colas de impresión, y autenticar, utilizando para ello su propio archivo de usuarios. La instalación de Samba en tu Raspberry o en cualquier equipo de tu red es tremendamente sencillo. Solo tienes que seguir los pasos que indico en el tutorial sobre compartir achiros en red con Samba.
Dependiendo de si lo quieres utilizar como cliente o servidor, es necesario realizar una configuración mas detallada. Sin embargo, como te indico en el tutorial anterior, no es nada complejo, y con los pasos indicados lo tendrás resuelto fácilmente.
Compartir con NFS
La siguiente de las opciones para compartir archivos en Red es utilizando NFS. Este es el que vengo utilizando por defecto en los últimos años. El inconveniente de este protocolo es que hasta hace unos años no estaba soportado por Windows, y no se como estará el soporte para Mac. La cuestión es que a partir de Windows 7, es posible habilitar el soporte NFS bajo Windows. Sin embargo, la ventaja de este protocolo frente a Samba es que para archivos pequeños es significativamente más rápido NFS que Samba, como puedes ver en esta comparativa de rendimiento entre NFS y Samba. Para archivos grandes, la diferencia ya no es significativa. Con lo cual, siempre primará que esté disponible para todos los equipos.
La instalación de NFS en tu Rasbperry o en cualquier otro equipo, es tan sencilla como Samba. Para la instalación solo tienes que seguir los pasos del tutorial sobre NFS en Raspberry, y antes de que te quieras dar cuenta ya lo tendrás listo. Por último, indicarte que, tal y como pasaba con su primo hermano Samba, en el caso de NFS, la configuración del servidor es mas complicada que el cliente, que prácticamente no tienes nada que hacer.
Compartir archivos en Linux con SSHFS
El inconveniente de NFS es que no es un protocolo cifrado, con lo que si lo que pretendes es compartir archivos en una red pública, desde luego que no es la mejor solución. Es necesario utilizar otra opción que resuelva este problema. Desde luego si estás en una red pública, y solo tienes que copiar unos pocos archivos, siempre lo puedes hacer a través de tu VPN, como te he comentado en la introducción del episodio, y mediante SSH, ya lo tendrías resuelto. Sin embargo, ¿que sucede si tienes que copiar una gran cantidad de archivos? es mas, ¿que sucede si estas copias las tienes que hacer frecuentemente? desde luego que utilizando scp
no es la mejor solución.
La solución para estos casos la puedes encontrar en SSHFS, que te permite montar un sistema de archivos remoto vía SSH. Una de las ventajas que tiene este protocolo es que está disponible tanto para Linux, como para MacOS como para Windos, y por supuesto también está disponible para Android.
El inconveniente de esta solución es que es significativamente mas lenta que las anteriores, tanto Samba como NFS. Y es significativamente mas lenta, precisamente por su gran virtud, es decir el cifrado, que las comunicaciones son cifradas. Según comento en el artículo sobre como compartir archivos vía SSHFS, en el caso de lectura y escritura secuencial, la velocidad de NFS es prácticamente el doble que en el caso de SSHFS. Sin embargo, en el caso de la lectura aleatoria, prácticamente no se aprecia diferencia, mientras que la escritura aleatoria vuelve a repetir los resultados anteriores, siendo NFS el doble de rápido que SSHFS
Una interesante ventaja de SSHFS frente a Samba y NFS es que no necesitas instalar nada en la parte del servidor. solo te tienes que conectarte y a correr. Dicho esto, evidentemente, y como ya te puedes imaginar, es significativamente mas sencillo instalar SSHS que cualquiera de las otras dos soluciones.
Automontaje
Con independencia del sistema por el que te decantes para compartir archivos en Linux, indicarte que cualquiera de los tres se puede montar en el arranque de tu equipo. Es decir, se puede realizar un montaje automático, y no es necesario que montes en cada ocasión, con lo que esto ya te permite despreocuparte de este problema. El inconveniente lo encontrarás en el supuesto de que no se encuentre el directorio remoto, porque en ese caso, tu equipo tardará mas en iniciarse.
Cómo puedo acceder una carpeta compartida de ubuntu a mint y fedora?
Desde luego no te molestas en leer.
Hola Jose,
Me había puesto hecho un basilisco pensando que ese comentario era para mi… Desde luego, que piel mas fina que se me está quedando.
Un saludo.