Páginas

miércoles, 28 de diciembre de 2011

Compartir carpetas en redes linux mediante nfs


Hola, estoy haciendo un programa el cual va a estar trabajando en distintos ordenadores, pero los datos (ficheros de imagenes), van a estar en uno en concreto (al que le llamo ordenador_servidor).
¿Como se pueden compartir un carpeta entre varios ordenadores con sistemas linux todos ellos?



Pues en el blog de http://www.technoblog.com.ar/index.php/2010/01/como-compartir-carpetas-en-una-red-linux-usando-nfs/
encontre la solución.

Pasos a seguir:
1. Instalo en los ordenadores servidor y clientes el programa nfs:
sudo apt-get install nfs-common nfs-kernel-server


2. En el ordenador  servidor, editamos el archivo /etc/exports para crear la carpeta compartida y añadimos en la ultima linea lo siguiente
/home/test      *(rw,sync,no_subtree_check)
Con esta linea indicamos que estamos compartiendo la carpeta que esta en /home/test con todos los usuarios de la red (por eso le ponemos "*"), y con los permisos de lectura y escritura. ("rw")


 Guardamos los cambios del archivo.

3. Reiniciamos el servicio nfs en el ordenador servidor:

sudo /etc/init.d/nfs-kernel-server restart
4. Para comprobar que se ha compartido escribimos:
sudo exportfs

Y nos mostrara que las carpetas carpetas que tengamos compartidas 


5. Ahora necesitamos saber cual es el IP del ordenador servidor:

ifconfig

Este comando nos dara cual es el ip. Suponemos que nos haya dado el numero:
Direc. inet:192.168.1.102

6. Nos vamos al ordenador cliente, creamos una carpeta en nuestro directorio llamada "compartida_ext"

mkdir /home/usuario/compartida_ext


, y creamos con gedit un script en bash, llamandolo "compartida.sh":

gedit compartida.sh

Y le añadimos:
sleep 30
echo "password_root" |sudo -S mount 192.168.1.102:/home/test /home/usuario/compartida_ext


La palabra password_root, la tenemos que sustituir por  pasword del root de nuestro sistema en el ordenador cliente.

Esto lo que hace es esperar 30 segundo,para que de tiempo al ordenador conectarse a la red, y luego monta la carpeta compartida.

Podemos poner en el inicio del sistema que arranque este script, asi siempre que  arranquemos el ordenador a los 30 segundos tendremos la carpeta ya accesible.

¡¡¡ terminado y funcionando !!!


Fuente:
-http://www.technoblog.com.ar/index.php/2010/01/como-compartir-carpetas-en-una-red-linux-usando-nfs/

- http://es.wikipedia.org/wiki/Network_File_System

- https://sites.google.com/site/fpoprogramadorsistemas/nfs-protocolo-de-red-sistema-de-archivos-de-red