Desempaquetado NetGear RNDP6000

Hola a todosfoto de Eloy Mier Pérez

Después de un tiempo sin escribir, ahora saco un momento para continuar con el tema.

A medida que la tecnología avanza, vemos como productos que antes estaban vetados para el usuario domestico, ahora en cambio son prácticamente tan imprescindibles como en el mundo empresarial. Un caso muy claro es el referente a los dispositivos denominados NAS (o almacenamiento de red/Network attached storage).

Estos dispositivos no son mas que de 1 a n discos que están conectados a la LAN de casa o de la oficina y que permiten, a través de la propia LAN, el acceso a los elementos compartidos que publican.

Dependiendo del dinero que nos gastemos en el dispositivo, así sera el mismo. Normalmente el número de discos que el dispositivo puede albergar es directamente proporcional al precio del cacharro en cuestión. Podemos ver en el mercado dispositivos NAS de 2 huecos (2xHD) sobre los 300€ y también podemos ver dispositivos con 6 huecos (6xHD) que rondan los 1200€.

De igual forma, los dispositivos mas caros, presentan mas funcionalidad, por ejemplo ISCSI, o accesos varios a las comparticiones, por ejemplo HTTP/S, NFS, FTP, etc….también dependiendo del dispositivo puede o no ofrecer servicios adicionales como servicios de streaming (SqueezCenter, itunes server o DLNA entre otros), servicios de descubrimiento (Bonjour o uPnP). Y ya por ultimo, los dispositivos mas abiertos pueden permitir la instalación de addons realizados tanto por el fabricante como por la comunidad, como es el caso del dispositivo que nos ocupa.

Ya he escrito algún articulo en el que estaba involucrada alguna NAS, pero nunca he tenido ocasión de mostrar como viene desde el fabricante ninguna de ellas….la verdad, mas por dejadez que por imposibilidad, pero bueno, vamos a solucionarlo en el presente artículo.

Esta vez traigo un articulo un tanto distinto a lo que estamos acostumbrados por estos lares. Hoy vamos a ver cómo nos llega del fabricante una ReadyNAS Pro 6000 de NetGear. En casa ya tengo una 6350, pero cuando la desempaquete, no me di cuenta de la posibilidad de escribir este articulo. Ahora que tengo una segunda oportunidad no la voy a dejar escapar.

Sin mas pasemos a ver el paquete que me ha mandado el fabricante:

Esta es la caja que me ha llegado, en perfectas condiciones y perfectamente sellada por NetGear como se puede apreciar en los precintos.

Abrimos la parte superior del paquete y aparece otro paquete mas pequeño. Cuando estaba abriéndolo me recordó a las muñecas rusas, xDDD. Menos mal que dentro de esta caja no me encontré otra, sino me da un yuyu.

Sacamos la caja interna y podemos apreciar que viene precintada exactamente lo mismo que la externa:

Con la información del numero de serie y modelo de la unidad (borrado por motivos de seguridad):

Bueno, abrimos la caja interna y ya aparecen los contenidos. En primer plano ya aparece el sobre con la guía rápida de usuario (elemento que no suele valer de nada) y el CD relacionado con el producto que suele contener el software de control del mismo y la documentación completa del producto.

Estos son los cables que acompañan a la unidad, un rj45 de red y 2 mas de alimentación:

Una vez sacado el sobre y los cables podemos ver la unidad empaquetada perfectamente:

La sacamos de la cajita:

Y quitamos las protecciones y plásticos, y esta es la NAS en cuestión:

Aquí se pueden apreciar los 6 huecos para discos que tiene esta unidad. Delante de la unidad podéis ver uno de los cajones en los que se atornilla un disco para proceder a agregarlo al dispositivo NAS.

Bueno, pues hasta aquí la revisión de la llegada de esta máquina.

Como he comentado yo tengo una como esta funcionando en casa. Si alguno de los lectores tiene alguna cuestión mas concreta de la unidad, que no dude en preguntar, que para eso estamos.

Un saludo a todos y buenas noches.

Solucionando problemas de nombres de ficheros estraños/peculiares en Linux

Hola a todos de nuevofoto de Eloy Mier Pérez

De vez en cuando, normalmente debido a entradas anteriores, el sistema acaba teniendo algunos nombre de ficheros extraños o peculiares. De forma habitual son fácilmente eliminables del sistema, pero ¿que pasaría si nos encontramos con un fichero cuyo nombre comienza por – (por ejemplo -file o incluso -f)?, el comando:

rm -file

no funcionará. rm entenderá que se le están pasando cuatro opciones -f, -i, -l y por ultimo -e, y finalizará en la opción -l, por que no es una opción válida.

Podrías intentar usando un carácter de escape en el shell de la siguiente forma:

rm \-file

No obstante, si piensas un poco en lo que esta sentencia hace te darás cuenta de que así tampoco funcionará. El shell verá el código de escape, lo eliminará y pasará completo -file al comando rm; por lo tanto nos encontraremos con el mismo problema. Lo que necesitamos es escapar el comando rm, no el shell.

Existen varias formas de solucionar esto. La primera es usando --. Esta opción la usan muchos comandos para indicar el fin de las opciones. Si quisieses crear un directorio con nombre -test y posteriormente quisieses borrar ese directorio y todo su contenido el siguiente comando debiera funcionar:

rm -rf -- -test

-rf establece las opciones iniciales; el -- señala el final de las opciones, y que el resto después de esa señal debe ser pasado tal cual al comando. En el caso que nos ocupa, es el nombre del directorio a borrar.

Puedes probar con los siguientes comandos:

mkdir -- -test
ls -l -- -test
rm -rf -- -test

La otra opción posible es especificar el directorio del fichero. Para borrar el fichero -file en el directorio actual, debemos usar:

rm ./-file

Esta solución debería funcionar con otros comandos también. Para probar puedes ejecutar:

touch ./-file
ls -l ./-file
rm ./-file

Desde este momento, cuando te encuentres con este tipo de problemas en los nombres de fichero en tus directorios, ya no creo que tengas problema para dar buena cuenta de ellos ¿verdad?

Un saludo a tod@s y hasta la próxima.

Usando ramfs y tmpfs

linuxSi las velocidades de lectura/escritura no alcanzan tus necesidades, la solución mas barata y que menos tiempo te va a ocupar es simplemente colocar los ficheros mas pesados en memoria RAM. Las operaciones de lectura y escritura sobre la memoria RAM son significativamente mas rápidas que sobre cualquier sistema de ficheros basado en disco. Las transferencias de información sensibles a la entrada salida de disco, por ejemplo aquellas relacionadas con bases de datos, consiguen beneficios extremos simplemente moviendo los ficheros involucrados a sistemas de ficheros basados en memoria RAM.
¿Y por que la RAM? pues simplemente por que la memoria RAM es muy rápida. Los tiempos de acceso a la memoria trabajan en el nivel de nanosegundos al contrario que el disco mas rápido que opera a nivel de milisegundos. La memoria RAM no rota. Las unidades mecánicas si que lo hacen, lo que significa que los tiempos de posicionamiento son significativamente mas lentos que los equivalentes basados en memoria RAM. Por ejemplo, la memoria RAM DDR3 mueven datos a velocidades que pueden exceder 10GB/s. Por el contrario, uno de los discos mas potentes que se pueden encontrar actualmente de 15,000 RPM UltraStar de Hitachi, transfiere información entre unos lentísimos 119MB/s a 198MB/s sostenidos y a 600MB/s como pico.La RAM tiene un mayor tiempo medio entre fallos (MTBF -Mean Time Between Failures). Por el hecho de que la RAM no es un dispositivo mecánico, no disfruta de altos ratios de fallos de posicionamiento de disco, y todo ello proporcionando una esperanza de vida bastante mayor a la que proporciona una típica unidad de disco.
Existen dos tipos de sistemas de ficheros basados en memoria RAM: tmpfs y ramfs. Vamos a ver ahora como configurar un sistema de ficheros basado en RAM, algunos consejos generales de uso y como evitar los problemas mas comunes que se nos pueden plantear por el camino.

ramfs

Tmpfs y ramfs realizan su labor de forma muy diferente. Ramfs solo puede usar memoria del sistema, además no aparece con el comandodf –h, no tiene limitación de tamaño y no proporciona mensajes de error cuando se sobrepasa el limite de tamaño opcional. Por lo tanto, se pueden establecer limites en un sistema de ficheros ramfs pero no vamos a recibir ninguna advertencia cuando excedamos ese limite al igual que tampoco el sistema nos va a prevenir de ello.

Como ejemplo, la sintaxis normal para montar un nuevo sistema de ficheros es:

# mount –t fs_type device mount_dir

La sintaxis para configurar un sistema de ficheros ramfs de 200MB para una base de datos en el directorio /opt/data es la siguiente:

# mount –t ramfs –o size=200m ramfs /opt/data

Como se ha comentado con anterioridad, este sistema de ficheros no se verá con el comando df –h. La única forma de ver el sistema ramfs es usando el comando mount.

# mount

/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
ramfs on /opt/db type ramfs (rw,size=200m)

Si tratas de escribir mas de 200MB de información en este sistema de ficheros, la escritura se realizará sin problemas y no vas a recibir ningún mensaje de error en la operación respecto al tamaña del sistema. El límite de 200MB es un valor superfluo y no tiene efecto en el tamaño real ni en cuanta información puedes o no escribir en él. Este es el mayor problema de ramfs.

Debido a que los administradores de sistemas suelen ser un grupo bastante saturado de trabajo, en ocasiones dejan ficheritos sueltos en los sistemas de ficheros después de instalar parches, después de instalar software o después de rutinas de test sobre los propios sistemas. El sistema de ficheros ramfs podría proporcionar solución a este problema de una forma acorde. Todos aquellos ficheros marcados como no esenciales para el almacenamiento a largo plazo podrían residir en una zona de almacenamiento temporal (ramfs) hasta que esos ficheros no sean necesarios. Desmontando el sistema de ficheros ramfs lograremos que el sistema vuelva a la normalidad y no tendremos que preocuparnos de las tareas de limpieza que vienen después de las labores comentadas.

tmpfs

Los administradores de sistemas encuentran que para tareas que requieren información “valiosa!, tmpfs es una opción bastante mejor que ramfs. Ramfs tiene un tamaño definido, puede usar RAM o espacio de swap para almacenamiento y muestra mensajes de error cuando se sobrepasa el tamaño especificado. La sintaxis es igual a la de ramfs.

# mount –t tmpfs –o size=200m tmpfs /opt/data

El comando df –h muestra el sistema tmpfs montado como cualquier otro sistema de ficheros.

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                      360G  225G  117G  66% /
/dev/sda1              99M   25M   70M  27% /boot
tmpfs                 200M     0  200M   0% /opt/data

Y el comando mount muestra lo siguiente:

# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
tmpfs on /opt/db type tmpfs (rw,size=200m)

Cuando excedas los limites del sistema tmpfs montado, recibiras un mensaje del sistema “No hay espacio disponible en el dispositvo” informándote de que el sistema de ficheros esta lleno. El sistema de ficheros tmpfs se comporta exactamente igual que los sistemas de ficheros basados en disco excepto por su naturaleza volátil.

Tanto ramfs como tmpfs son un tipo de almacenamiento volátil. En otras palabras, si el sistema se cuelga, se reinicia o se apaga por cualquier motivo, la información contenida en ese tipo de sistema de ficheros es borrada. Únicamente por esta razón, se deben hacer copias periódicas de esta información a una ubicación permanente. Recordemos el dicho, “Seguro, rápido, barato; selecciona solo 2.” Usar sistemas de ficheros basados en RAM es rápido y barato pero no es seguro.

Saludos a todos y hasta la próxima.

Montar sistemas de ficheros NFS

Hola a todos.ubuntu
redhat01 icon
Hoy me he visto en la necesidad de montar un sistema de ficheros de red y voy a documentar los pasos necesarios de forma general para todo aquel que lo necesite.
Para el montaje se necesita en el sistema el paquete nfs-common. Así que lo instalamos sin mas problema con:

sudo aptitude install nfs-common

root@ubuntuEEEBox:/var/lib/vmware/VirtualMachines# aptitude install nfs-common
Leyendo lista de paquetes… Hecho
Creando árbol de dependencias
Leyendo la información de estado… Hecho
Leyendo la información de estado extendido
Inicializando el estado de los paquetes… Hecho
Se instalarán los siguiente paquetes NUEVOS:
libevent1{a} libgssglue1{a} libnfsidmap2{a} librpcsecgss3{a} nfs-common portmap{a}
0 paquetes actualizados, 6 nuevos instalados, 0 para eliminar y 0 sin actualizar.
Necesito descargar 351kB de ficheros. Después de desempaquetar se usarán 1171kB.
¿Quiere continuar? [Y/n/?]
Escribiendo información de estado extendido… Hecho
Des:1 http://es.archive.ubuntu.com intrepid/main portmap 6.0-6ubuntu1 [36,2kB]
Des:2 http://es.archive.ubuntu.com intrepid/main libevent1 1.3e-3 [44,7kB]
Des:3 http://es.archive.ubuntu.com intrepid/main libgssglue1 0.1-2 [22,3kB]
Des:4 http://es.archive.ubuntu.com intrepid/main libnfsidmap2 0.20-1 [23,2kB]
Des:5 http://es.archive.ubuntu.com intrepid/main librpcsecgss3 0.18-1 [32,4kB]
Des:6 http://es.archive.ubuntu.com intrepid-updates/main nfs-common 1:1.1.2-4ubuntu1.1 [192kB]
Descargados 351kB en 1s (234kB/s).
Preconfigurando paquetes …
Seleccionando el paquete portmap previamente no seleccionado.
(Leyendo la base de datos …
167883 ficheros y directorios instalados actualmente.)
Desempaquetando portmap (de …/portmap_6.0-6ubuntu1_i386.deb) …
Seleccionando el paquete libevent1 previamente no seleccionado.
Desempaquetando libevent1 (de …/libevent1_1.3e-3_i386.deb) …
Seleccionando el paquete libgssglue1 previamente no seleccionado.
Desempaquetando libgssglue1 (de …/libgssglue1_0.1-2_i386.deb) …
Seleccionando el paquete libnfsidmap2 previamente no seleccionado.
Desempaquetando libnfsidmap2 (de …/libnfsidmap2_0.20-1_i386.deb) …
Seleccionando el paquete librpcsecgss3 previamente no seleccionado.
Desempaquetando librpcsecgss3 (de …/librpcsecgss3_0.18-1_i386.deb) …
Seleccionando el paquete nfs-common previamente no seleccionado.
Desempaquetando nfs-common (de …/nfs-common_1%3a1.1.2-4ubuntu1.1_i386.deb) …
Procesando activadores para man-db …
Configurando portmap (6.0-6ubuntu1) …
* Starting portmap daemon…                                                                                                                              [ OK ]

Configurando libevent1 (1.3e-3) …

Configurando libgssglue1 (0.1-2) …

Configurando libnfsidmap2 (0.20-1) …

Configurando librpcsecgss3 (0.18-1) …

Configurando nfs-common (1:1.1.2-4ubuntu1.1) …

Creating config file /etc/idmapd.conf with new version

Creating config file /etc/default/nfs-common with new version
Añadiendo usuario del sistema `statd’ (UID 119) …
Agregando nuevo usuario `statd’ (UID 119) con grupo `nogroup’ …
No se crea el directorio de inicio ‘/var/lib/nfs’.
* Starting NFS common utilities                                                                                                                           [ OK ]

Procesando activadores para libc6 …
ldconfig deferred processing now taking place
Leyendo lista de paquetes… Hecho
Creando árbol de dependencias
Leyendo la información de estado… Hecho
Leyendo la información de estado extendido
Inicializando el estado de los paquetes… Hecho
Escribiendo información de estado extendido… Hecho

Para el montaje del sistema de ficheros NFS usaremos el comando mount desde la máquina en la que lo queremos montar. Doy por supuesto que teneis otra máquina en la que el sistema de ficheros esta disponible, tal y como es mi caso.

mount naslocal01.local:/isos /mnt/naslocal01/isos
Warning Aviso
El punto de montaje de la máquina local DEBE existir previamente al montaje (en este caso /mnt/naslocal01/isos)

En el comando que acabamos de indicar, naslocal01.local es el nombre de la máquina que tiene el sistema de ficheros NFS, /isos es el sistema de ficheros que naslocal01 exporta y por ultimo /mnt/naslocal01/isos es la ubicación en mi máquina local donde quiero montar el sistema de ficheros remoto. Después de que el comando mount ha sido ejecutado (y el cliente tiene los permisos adecuados en el servidor naslocal01) el usuario puede lanzar sin problema el comando ls /mnt/naslocal01/isos para ver la lista de ficheros de /isos de naslocal01.

Montando sistemas de ficheros NFS usando /etc/fstab

Después de realizar con éxito el paso anterior, para mi es interesante que el sistema monte automáticamente el sistema de ficheros NFS en la ubicación indicada, asi que tendremos que usar como siempre el /etc/fstab y agregar la linea correspondiente. Esta linea debe indicar el nombre del servidor NFS, el directorio que el servidor esta exportando y el directorio en la máquina local en la que queremos que se monte. No olvidemos que para modificar el fichero /etc/fstab debemos ser root.

La linea agregada es:

naslocal01.local:/isos    /mnt/naslocal01/isos   nfs    rsize=8192,wsize=8192,timeo=14,intr    0     0

El punto de montaje /mnt/naslocal01/isos, como ya hemos comentado con anterioridad, debe existir en la máquina cliente. Después de añadir la linea al fichero /etc/fstab en la máquina cliente, lanzando el comando mount /mnt/naslocal01/isos en el shell de sistema veremos que monta sin problemas /isos desde el servidor.

root@ubuntuEEEBox:/var/lib/vmware/VirtualMachines# mount /mnt/naslocal01/isos/
root@ubuntuEEEBox:/var/lib/vmware/VirtualMachines# mount
/dev/mapper/vg1-lv_sistema on / type ext3 (rw,relatime,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
/proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
varrun on /var/run type tmpfs (rw,nosuid,mode=0755)
varlock on /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
lrm on /lib/modules/2.6.27-14-generic/volatile type tmpfs (rw,mode=755)
/dev/mapper/vg1-lv_home on /home type ext3 (rw,relatime)
securityfs on /sys/kernel/security type securityfs (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
/dev/sdc1 on /var/lib/vmware/VirtualMachines type ext3 (rw,_netdev)
naslocal01.local:/isos on /mnt/naslocal01/isos type nfs (rw,rsize=8192,wsize=8192,timeo=14,intr,addr=192.168.2.20)

Montando sistemas de ficheros NFS usando autofs (teórico por que no uso esta funcionalidad)

Una tercera opcion para el montaje de un sistema de ficheros NFS es usar autofs. Autofs usa el demonio auto automount para gestionar los puntos de montaje dinamicamente en el moento en el que se accede a ellos.

Autofs consulta el fichero /etc/auto.master para determinar los puntos de montaje definidos. En este momento Autofs lanza un proceso automount con los parámetros apropiados para cada punto de montaje. Cada una de las lineas del fichero define un punto de montaje y un fichero externo (map) que define el sistema de ficheros para montar por debajo de ese punto. Por ejemplo, el fichero /etc/auto.misc deberia definir un punto de montaje en el directorio /mnt/naslocal01/isos; esta relacion será definida en el fichero maestro /etc/auto.master.

Cada entrada en el fichero auto.master tiene tres campos. El primero de ellos es el punto de montaje. El segundo de los campos es la localizacion del fichero de descripcion del sistema de ficheros a montart. El tercero de los campos es opcional y contiene las opciones que queramos asociar al montaje.

Por ejemplo , para montar el directorio /isos de la máquina naslocal01.local en el punto de montaje /mnt/naslocal01/isos en nuestra máquina, deberiamos añadir la siguiente linea a nuestro fichero auto.master:

/mnt/naslocal01   /etc/auto.misc --timeout 60

Debemos añadir la linea al fichero mapeo /etc/auto.misc:

isos  -rw,soft,intr,rsize=8192,wsize=8192   naslocal01.local:/isos

El primero de los campos en el fichero /etc/auto.misc es el nombre del subdirectorio en /mnt/naslocal01. Este directorio será creado automaticamante por automount. El directorio no debe existir ya en la máquina cliente. El segundo de los campos contiene las opciones de montaje como ejemplo rw para permitir lectura/escritura a los usuarios. El tercero de los campos es la declaracion de la exportacion NFS que incluye nombre de host y directorio.

Note Nota
El directorio /mnt/naslocal01 debe existir en el sistema de ficheros del cliente.

Autofs es un servicio. Para levantar el servicio en el shell podemos escribir:

/etc/init.d/autofs restart

Para ver los puntos de montaje actuales:

/etc/init.d/autofs status

Como siempre, si modificamos el fichero de configuración /etc/auto.master mientras autofs está corriendo, debemos decirle al demonio de automount que lo recargue con:

/etc/init.d/autofs reload

Pues nada mas señores, hasta aqui hemos llegado por hoy.
Solo como comentario, la ultima perte de automount no la he probado, pues es un servicio que no tengo instalado en mi máquina, así que con cautela.

Recuperar ficheros borrados en Linux usando lsof

Una de las cosas mas bonitas que se pueden hacer con la versátil herramienta lsof es usarla para recuperar un fichero que acabas de borrar de forma accidental.

Un fichero en Linux esta apuntado por un inodo, que contiene la información del fichero (permisos, propietario y la localización de su contenido en el disco). La operación de borrado del fichero elimina el enlace, pero no el inodo en si mismo – if otro proceso tiene abierto el fichero, el inodo no se libera hasta que el otro proceso finaliza con él.

Para poder hacer la prueba podemos crearnos un fichero de texto(test.txt), lo salvamos y en el terminal ejecutamos algún comando que deje el fichero abierto, por ejemplo less test.txt. Ahora abrimos otro terminal y borramos test.txt con la orden rm test.txt. Una vez borrado si probamos con la orden ls test.txt obtendremos el siguiente mensaje de error:

eloy@ubuntuEEEBox:~$ ls test.txt
ls: no se puede acceder a test.txt: No existe el fichero ó directorio
eloy@ubuntuEEEBox:~$

El asunto es que el comando less todavía tiene referenciado el fichero test.txt. Esto podemos verificarlo mediante los siguientes comandos:

> lsof | grep test.txt
less 4607 eloy 4r REG 254,4 21 8880214 /home/juliet/test.txt (deleted)

Las columnas importantes son la segunda, que nos indica el PID del proceso que tiene el fichero abierto (4607), y la cuarta columna, que nos indica el descriptor del fichero (4). En esta situación, si echamos un vistazo en el directorio /proc, podremos encontrar todavía una referencia al inodo, desde la cual podemos restaurar el fichero original:

> ls -l /proc/4607/fd/4

lr-x—— 1 eloy  eloy 64 Apr 7 03:19
/proc/4607/fd/4 -> /home/eloy/test.txt (deleted)
> cp /proc/4607/fd/4 test.txt.bk

Nota: no se debe usar el flag -a con el comando cp, esto es debido a que con ese modificador se copiara el enlace simbólico roto, en vez de el fichero que nos interesa.

Ahora ya podemos verificar que la copia se ha realizado correctamente y que volvemos a tener el fichero en su estado actual.

Saludos a todos y hasta la próxima.