OpenMandriva: Mageia (Mageia 9) 20/Agosto/2023 - Anuncio, Descargas.
Blogdrake recomienda descargar las imágenes de instalación (iso) vía torrent para evitar corrupción de datos, aprovechar mejor su ancho de banda y mejorar la difusión de las distribuciones.
Acceso al disco duro remoto
Antes de empezar esta sección del manual debes saber que, aunque se expondrán diversos métodos, al final los únicos con los que quedé aceptablemente satisfecho sirven en KDE y en GNOME. Puede que en otros entornos de escritorio se pueda hacer algo similar. Pero no encontré una forma buena (para mi gusto) de acceder al disco duro remoto que sea genérica. No obstante, puede que las cosas aquí mostradas sean suficientes para ti.
Configuración de NFS
Históricamente, la forma de acceder a los contenidos del disco duro de otro ordenador en Unix y posteriormente en GNU/Linux fue el sistema de archivos NFS (ojo, NFS, no NTFS). NFS funciona igual que cualquier otro sistema de archivos: le dices un punto de montaje (el directorio en el que se verán los contenidos del sistema de archivos) y unas opciones (en este caso el nombre del ordenador remoto y con qué directorio trabajar) y listo, ya puedes acceder al directorio del disco duro remoto en tu disco duro local.
Al menos, en una visión general teórica. En la práctica tiene un poco más de miga, ya que para hacer su magia NFS utiliza un demonio que también debe ser configurado. Veamos cómo.
A la hora de compartir directorios con NFS, en el archivo /etc/exports se indica qué directorios se compartirán y de qué manera. Es decir, indica qué directorios pueden verse desde qué ordenadores, si serán de lectura únicamente o lectura y escritura, si los cambios serán síncronos o asíncronos... Podríamos editarlo a mano, pero lo más práctico es utilizar el asistente de Mandriva draknfs.
draknfs puede ejecutarse lanzándolo en una consola como root, o desde el Centro de control de Mandriva, sección Recursos compartidos -> Compartir discos y directorios utilizando NFS. La idea es ejecutarlo en cada ordenador y compartir los directorios personales de cada usuario con el otro ordenador.
Una vez está ejecutándose, simplemente tendremos que agregar una entrada por cada directorio del disco duro que queremos que puedan montarse en otros ordenadores. En la entrada indicamos qué directorio compartir, desde qué ordenadores podrá accederse, el mapeo de usuarios no lo activamos (más que nada, porque en las pruebas que hice no acabé de entender cómo funciona exactamente :$ ), y en las opciones avanzadas activamos el acceso síncrono y desactivamos el acceso en modo de sólo lectura.
En nuestro caso, si estamos configurándolo en el ordenador nuevo en la sección de acceso pondremos el nombre del ordenador viejo, y si estamos configurándolo en el ordenador viejo pondremos el nombre del ordenador nuevo. El uso del modo síncrono hace que cuando se escribe algo en el directorio desde el ordenador remoto los cambios se envíen inmediatamente al ordenador que exporta el directorio (si no está activo, enviará los cambios cuando mejor le parezca). De este modo minimizaremos (aunque no eliminaremos) el riesgo de pérdida de datos por un corte de luz o similares. Y al desactivar el modo de sólo lectura podremos modificar los contenidos del directorio.
Una vez aceptado todo, draknfs escribe el archivo /etc/exports, que en el caso de mi ordenador nuevo es una cosa parecida a:
/home/dani HAL9003(no_all_squash,sync,secure,no_subtree_check,rw) /home/mcclane HAL9003(no_all_squash,sync,secure,no_subtree_check,rw)
La razonable preocupación de que desde Internet pudiesen montarse nuestros directorios por NFS no debe quitarnos el sueño, ya que al indicarle el nombre del ordenador viejo sólo éste podrá montar los directorios. Incluso si otro ordenador con el mismo nombre pudiese montarlo (que no creo, ya que en el archivo /etc/hosts el nombre del ordenador viejo está asociado al nuestro, y no al que pueda venir de Internet), el cortafuegos se lo impediría (si está configurado para bloquear NFS en la interfaz de red conectada a Internet, que es como debería estar).
Una vez los directorios están configurados para que puedan ser montados desde otros ordenadores toca ir al ordenador en que los vamos a montar para configurarlo.
Al igual que con cualquier punto de montaje, no es estrictamente necesario configurarlo previamente. Podemos montarlo como root mediante la orden mount en el momento que lo necesitemos. Pero la ventaja de configurar los puntos de montaje en /etc/fstab es que no necesitaremos especificar todas las opciones cuando usemos mount, y además podremos hacer que un usuario normal pueda montar el directorio, no sólo root.
De nuevo, podemos editar /etc/fstab a mano, o bien utilizar un asistente de Mandriva. Y sí, yo voy a usar el asistente ;) Se puede ejecutar como root en una consola mediante diskdrake --nfs, o desde el Centro de control de Mandriva, sección Recursos compartidos -> Acceder a recursos compartidos por NFS. El asistente habrá que ejecutarlo en cada ordenador en el que queramos montar directorios NFS remotos.
Dado que es una herramienta para configurar directorios exportados desde ordenadores remotos, lo primero que tenemos que hacer una vez arranca el asistente es buscar qué ordenadores encuentra. Al pulsar el botón Buscar servidores hará eso mismo (paciencia, porque puede tardar un poco y puede parecer que está colgado, pero en realidad está haciendo la búsqueda).
Cuando termine, nos mostrará una lista con los servidores NFS (incluido el propio ordenador si actúa como servidor NFS) y los directorios que exportan. Ahora simplemente tenemos que asociar a cada directorio remoto que queramos montar en el ordenador local un punto de montaje distinto (es decir, un directorio local en el que se verán sus contenidos).
Por ejemplo, como exportamos los directorios personales de los usuarios para poder acceder a ellos desde el ordenador opuesto, un buen lugar en el que montarlos en el ordenador viejo puede ser el directorio Ordenador nuevo del directorio personal de cada usuario (por ejemplo, /home/dani/Ordenador nuevo), y para montarlos en el ordenador nuevo el directorio Ordenador viejo del directorio personal de cada usuario.
Y una vez hecho esto, estableceremos las opciones de montaje del directorio seleccionado en el botón Opciones.
Nos interesa seleccionar la opción noauto. Si se montase automáticamente al arrancar, cuando el ordenador remoto estuviese apagado se quedaría esperando hasta que el otro ordenador se encendiese, o hasta que se rindiese y el montaje fallase (lo que ocurriese primero). Por tanto, es mejor montarlo explícitamente por nuestra cuenta cuando sepamos que el ordenador remoto está encendido.
Vamos con las opciones avanzadas. Dado que estamos exportando los directorios personales de los usuarios y que los montaremos cuando los necesitemos, es conveniente seleccionar la opción user. De este modo, se podrán montar por usuarios comunes y no sólo por el usuario root.
Del mismo modo que los directorios los exportamos con la opción sync, es recomendable activarla también cuando los vamos a montar.
Finalmente, por defecto en el campo Varios (que permite incluir opciones no contempladas en la lista que tiene encima) tenemos la opción soft. Borraremos dicha opción y en su lugar incluiremos hard,intr (importante, sin espacios ente ellas).
La diferencia entre soft y hard es que con soft si intenta hacer una operación NFS y el servidor no está disponible, la operación falla, por lo que puede fallar a mitad del guardado de un archivo si por algún motivo el servidor se queda tonto temporalmente, dejando el archivo corrupto. Con hard cuando intenta la operación y no lo consigue, se queda reintentando indefinidamente hasta que lo logre. La opción intr permite interrumpir la operación (matando la aplicación que la ejecutó, por ejemplo) en caso de necesitarlo.
Una vez aceptado todo, diskdrake --nfs crea los puntos de montaje y escribe en el archivo /etc/fstab una línea por cada directorio NFS, que en el caso de mi ordenador viejo son una cosa parecida a (aquí sólo se muestran las líneas de NFS, las de otros puntos de montaje no):
HAL9004:/home/dani /home/dani/Ordenador\040nuevo nfs user,sync,rsize=8192,wsize=8192,noauto,hard,intr 0 0 HAL9004:/home/mcclane /home/mcclane/Ordenador\040nuevo nfs user,sync,rsize=8192,wsize=8192,noauto,hard,intr 0 0
Nótese que para poner espacios en blanco en la ruta del directorio es necesario escribir \040, ya que el espacio en blanco se utiliza para separar los campos del archivo de configuración.
El problema que presenta este sistema es que tendremos que montar manualmente los directorios cuando los necesitemos, y desmontarlos cuando no los necesitemos o el ordenador remoto se apague.
Montaje automático de NFS con Autofs
Sería mucho mejor que el montaje fuese automático cuando entrásemos en los puntos de montaje, ¿verdad? Para eso está autofs. Pero antes de seguir, y para que nadie se haga ilusiones, ya anticipo que no utilizo el sistema que voy a exponer aquí, y que sólo lo muestro por si a alguien pudiese servirle o inspirarle para algo.
autofs es un sistema que se encarga de "interceptar" las entradas en ciertos directorios, de forma que cuando alguna aplicación intenta entrar automáticamente monta el sistema de archivos que lo tiene como punto de montaje.
La configuración de autofs tiene dos partes: por un lado está un archivo general en el que se indican los diversos puntos de montaje que vigilará autofs, y por otro un archivo de configuración específico para cada punto de montaje.
Curiosamente, no es necesario incluir un punto de montaje por cada directorio remoto que vayamos a montar. Podemos utilizar un único punto de montaje del que colgarán todos los directorios exportados por el ordenador remoto que nos interesen. Por ejemplo, en el ordenador viejo, el punto de montaje del ordenador nuevo puede ser /mnt/HAL9004, y dentro de éste autofs creará /mnt/HAL9004/dani y /mnt/HAL9004/mcclane.
Para ello, añadimos en el archivo /etc/autofs/auto.master del ordenador viejo:
/mnt/HAL9004 /etc/autofs/auto.HAL9004
Puede indicarse un timeout para que desmonte el punto de montaje tras N segundos en lugar del tiempo por defecto añadiendo una tercera columna "--timeout N". El punto de montaje debe existir previamente, tenemos que crearlo a mano de forma explícita. Y además debería estar vacío, ya que al montarlo lo que hubiese en él quedará oculto (aunque no se borrará ni nada similar, al desmontarlo volverán a estar visibles).
El archivo referenciado /etc/autofs/auto.HAL9004 se crea con el siguiente contenido:
dani -soft,rsize=8192,wsize=8192 HAL9004:/home/dani mcclane -soft,rsize=8192,wsize=8192 HAL9004:/home/mcclane
En el punto de montaje se crean dinámicamente las entradas indicadas en la primera columna, cuyos contenidos serán los del directorio de la tercera columna montado por NFS con las opciones de la segunda columna. Y sí, ya sé que antes dije que usar soft no era buena idea, pero en este caso es imprescinbidle. Más información al respecto luego.
Finalmente, para un acceso más fácil a los contenidos automontados, se hace un enlace desde cada una de las cuentas de usuario del ordenador viejo a los diversos directorios montados por NFS:
cd /home/dani ln -s /mnt/HAL9004/dani "Ordenador nuevo"
(si /home/dani/Ordenador nuevo existiese previamente habría que renombrarlo o eliminarlo antes de hacer el enlace).
El enlace blando hace que cuando se entre en /home/dani/Ordenador nuevo automáticamente se monte /mnt/HAL9004/dani y puedan verse sus contenidos. Y, además, los otros directorios de /mnt/HAL9004 no se montan, sólo se monta el directorio pedido (a pesar de estar todos listados en el mismo archivo).
Si desde el ordenador viejo entras al directorio del ordenador nuevo, el directorio del ordenador viejo que hay en dicho directorio (/home/dani/Ordenador nuevo/Ordenador viejo) no funcionará. No obstante, parece un poco extraño querer hacer eso :P
Ahora bien, los enlaces blandos presentan un serio problema, y es que si el servidor no está activo los procesos que accedan al directorio se quedarán esperando del orden de un minuto hasta que cejen en su empeño (si se usa soft). Si sólo ocurriese al entrar en el directorio en sí no sería mayor problema (aunque igualmente sería molesto si estamos haciendo una búsqueda por nuestro directorio personal, ya que cuando find o la aplicación que usásemos intentase entrar se quedaría tonta esperando). Pero tal y como está planteado, es decir, enlazando al propio directorio personal del ordenador remoto, el simple hecho de listar el enlace blando (al entrar en la carpeta personal con el navegador, en un diálogo de abrir archivo...) hace que la aplicación se quede tonta esperando.
Si en lugar de enlazar al directorio personal, que sólo existirá cuando esté encendido el otro ordenador, se enlaza al punto de montaje general, la espera sólo ocurre al entrar explícitamente al enlace blando. En cualquier caso, sigue sin ser una buena solución :(
Incluso si no hubiese ningún enlace en el directorio personal, por ejemplo una búsqueda general por el disco duro que pasase por el directorio /mnt/HAL9004 también se quedaría esperando.
Además de todo eso, en los manuales de NFS el uso de la opción soft aparece como una mala política que sólo da problemas, y que la opción que debería usarse es hard. Pero es que si usásemos hard, las aplicaciones no esperarían un poco y fallarían al intentar entrar sin el ordenador remoto encendido, sino que se quedarían esperando indefinidamente hasta que el servidor NFS estuviese disponible. Conclusión: autofs con NFS no es práctico en el entorno que se considera en este manual de un ordenador encendido casi siempre y el otro encendido con menos frecuencia.
Accediendo mediante KDE y GNOME
Al final, la mejor opción para mi gusto es usar las características de KDE y GNOME y entrar en el disco duro remoto por SSH igual que si estuviese en el propio ordenador.
Para ello, en el caso de KDE, se utilizan los KIO slaves, una tecnología que permite trabajar de forma transparente con los archivos independientemente de dónde se encuentren (en el disco duro local, en la papelera, en un FTP, en un servidor con SSH, en un dispositivo Bluetooth...). Para entrar en una página web en un navegador utilizamos http://nombreDeLaWeb. http es el protocolo a utilizar. Los KIO slaves siguen el mismo esquema. Primero el protocolo/nombre del KIO slave, y luego la identificación del sistema al que queremos acceder (si es necesario, ya que para acceder a la papelera sólo hace falta poner thrash://).
Por ejemplo, fish://HAL9003 o fish://dani@HAL9003. Sí, ahí pone fish, como pez en inglés. El KIO slave fish permite trabajar con archivos de un ordenador remoto siempre y cuando dicho ordenador tenga el servidor SSH ejecutándose y accesible. Por qué se llama fish y no SSH era también un misterio para mí... hasta que descubrí que viene de Files transferred over shell protocol. Otro KIO slave que hace algo similar conceptualmente, e igual en la práctica, es sftp (FTP seguro, también utilizando SSH para la conexión). No obstante, cabe mencionar que me encontré situaciones en las que fish funcionaba bien y sftp no, y viceversa. Es cuestión de probar.
Así pues, si abrimos Dolphin y ponemos la barra de dirección (lo que nos dice en qué carpeta estamos) en modo edición (vamos, hacemos click en ella para que deje de mostrarnos la ruta separada por > y nos deje escribir), al escribir fish://nombreDeOrdenadorRemoto y darle a intro nos preguntará un usuario y su contraseña. Al introducir los datos, voilá, podremos trabajar con el contenido del disco duro del ordenador remoto.
Además, la dirección permite indicar un nombre de usuario. De este modo, podemos poner fish://nombreDeUsuario@nombreDeOrdenadorRemoto y al dar a intro estaremos dentro directamente (siempre y cuando hayamos realizado los pasos ya comentados de conexión por SSH sin contraseña). Y lo mismo con sftp.
Esto se puede hacer no sólo en Dolphin o Konqueror, sino en (casi) cualquier aplicación, ya que incluso en el diálogo que nos pregunta desde dónde abrir un archivo o dónde guardarlo podemos utilizar KIO slaves. De hecho podemos abrir un archivo remoto con, por ejemplo, Kwrite, y al darle a Guardar automáticamente lo guardará en el ordenador remoto, sin tener que hacer nada especial.
En Dolphin existe un panel llamado Lugares en el que podemos incluir "accesos directos" a, como su nombre indica, lugares, entendidos estos como un directorio en el disco duro local, un servidor FTP, la papelera de reciclaje... siempre a través de los KIO slaves. De hecho, cuando introducimos un medio extraíble como un CD o una memoria USB, éste aparecerá automáticamente en los Lugares. Este panel no sólo se presenta en Dolphin (si está oculto se puede mostrar mediante Ver->Paneles->Lugares), sino que es compartida por el diálogo abrir de todas las aplicaciones de KDE.
Así que podemos crear una nueva entrada en el panel de lugares haciendo click derecho en una zona vacía del mismo y seleccionando Añadir entrada.... Ponemos una descripción tipo "Ordenador viejo" que será la que veamos en el panel de lugares, la ubicación tipo fish://dani@HAL9003/home/dani (naturalmente, esa ubicación es un ejemplo de mi ordenador) y activamos o desactivamos la opción de Mostrar sólo al usar esta aplicación según nos interese.
En el caso de GNOME, el sistema es muy similar a KDE. Nautilus y el diálogo de abrir archivo de las aplicaciones de GNOME comparten el panel de Lugares. No obstante, hasta donde yo sé en GNOME no hay nada parecido a los KIO slaves (aunque puedo estar equivocado porque no uso GNOME), lo que por otra parte pese a ser menos potente hace que sea más intuitivo conectar con un ordenador remoto.
Podemos crear una nueva entrada para un ordenador remoto en el panel de lugares abriendo Nautilus, y yendo a Archivo->Conectar con el servidor.... En Tipo de servicio seleccionamos SSH y rellenamos los valores de manera adecuada. Por ejemplo, en mi caso, en Servidor: HAL9003, Puerto: no se especifica (a no ser que SSH esté corriendo en un puerto distinto al 22 que es el por defecto), Carpeta: /home/dani, Nombre de usuario: dani, Añadir marcador activado y finalmente Nombre del marcador: Ordenador viejo. Desde ese momento, podremos entrar en el disco duro del ordenador remoto simplemente pulsando en el marcador llamado Ordenador viejo.
En cuanto a otros entornos de escritorio distintos a KDE o GNOME, desafortunadamente no tengo experiencia y no sé qué se puede hacer en ellos con este tema. Si lo sabes y quieres contribuir con el manual, no lo dudes ;)
- Blog de Kalvy
- Entra a tu cuenta o crea una para poder comentar.
Usuario
# 96261 Muy completo....
...nunca he usado nfs, pero este manual me viene de perlas para probar entre mi portatil mdv y mi desktop mdv.
Gracias.
Usuario linux #496861