EL CÓMO DEL UMSDOS <author>Jacques Gelinas, <tt><htmlurl url="mailto:jacques@solucorp.qc.ca" name="jacques@solucorp.qc.ca"></tt> &nl Traducido por: Carlos García Arques <tt><htmlurl url="mailto:cgarcia@dit.upm.es" name="cgarcia@dit.upm.es"></tt> <date>v1.1, 13 November 1995 <abstract> Umsdos es un sistema de ficheros de Linux sobre uno FAT. Ofrece una alternativa al sistema de ficheros ext2. Su objetivo principal es conseguir una más fácil coexistencia con los datos de una partición FAT, compartiéndola. En este documento primero se explica cómo usar <tt>umsdos</tt> con diversas configuraciones, y después se explica cómo funciona y se da alguna información. Se deja para el lector la decisión de si es una buena elección para él. </abstract> <toc> <sect>¿Dónde está el UMSDOS? <p> <sect1>Historia <p> El proyecto <tt/umsdos/ comenzó en 1992 y se puso a disposición de la red en enero del 1994 en forma de parche. Se incluyó en la distribución estándar del núcleo (<em>kernel</em>) de linux en Julio, comenzando con el núcleo 1.1.36. <tt/umsdos/ fue pronto adoptado por la distribución <em/Slackware/, incluso antes de que fuera oficialmente incluido en el núcleo. <tt/umsdos/ empezó a ser mejorado a partir del núcleo 1.1.60. Su rendimiento ha mejorado radicalmente, especialmente en lo que se refiere a escritura. A partir del 1.1.70 (más o menos), vuelve a ser estable. Un error de consideración fue corregido en <em/Linux/ 1.2.2. El error en cuestión estaba dando la lata a los usuarios desde el principio (se cambiaba el nombre a algunos ficheros dando la impresión de que habían desaparecido). Nótese que la <em/Slackware/ 2.2 aún incluye la versión 1.2.1 del núcleo, luego contiene ese error. <sect1>Disponibilidad <p> Está disponible como parche para los núcleos 1.0.x. Va incluido en los núcleos 1.2. Se puede compilar dentro del núcleo o cargarlo como módulo. Sin embargo, hay que tener en cuenta que hoy por hoy, si se quiere usar <tt/umsdos/ en forma de módulo cargable se debe también usar el sistema de ficheros Ms-DOS como módulo cargable. Esto es debido a una limitación en el sistema de módulos (algunos símbolos se exportan sólo cuando los controladores se instalan como módulos). <sect1>Distribuciones que lo soportan <p> Por el momento creo que sólo <em/Slackware/ lo incluye. Seguramente me equivoco, así que por favor corregidme. <sect1>Lugar original donde encontrarlo <p> El lugar original de <tt/umsdos/ es <tt><htmlurl url="ftp://sunsite.unc.edu" name="sunsite.unc.edu"></tt>. Se debe buscar en el directorio &nl; <tt>/pub/Linux/system/Filesystems/umsdos</tt>. <sect1>Documentación Técnica <p> Hay un montón de documentación sobre el funcionamiento interno de <tt/umsdos/. Se encuentra disponible tanto en formato <tt/HTML/ como en formato texto en la misma ubicación que las utilidades. Por lo que yo sé, la versión <tt/HTML/ no está disponible en ningún servidor de Web. Se debe transferir, destarrar, y leer localmente. <sect1>Quién lo escribió <p> Jacques Gelinas <tt><htmlurl url="mailto:jacques@solucorp.qc.ca" name="jacques@solucorp.qc.ca"></tt> <sect><tt/umsdos/ como partición raíz <p> <sect1>El concepto de la pseudorraíz. <p> Mediante el uso de <tt/umsdos/, <em/Linux/ se puede instalar en una partición de DOS normal y corriente. <em/Linux/ se instala entonces como segundo (o tercer) sistema operativo en la partición. Para evitar conflictos con los nombres de los ficheros (Si ya hubiera, por ejemplo, un directorio bin, o tmp, en el disco C:), <tt/umsdos/ utiliza un inteligente truco: La pseudorraíz. Todos los ficheros de <em/Linux/ se instalan en un subdirectorio del DOS llamado <tt/linux/. Generalmente <tt/C:\LINUX/. La estructura normal de directorios de <em>Linux/Unix</em> va ahí. Así se tiene <itemize> <item> <verb/C:\LINUX\BIN/ <item> <verb/C:\LINUX\ETC/ <item> <verb/C:\LINUX\LIB/ <item> <verb/C:\LINUX\ROOT/ <item> <verb/C:\LINUX\SBIN/ <item> <verb/C:\LINUX\TMP/ <item> <verb/C:\LINUX\USR/ <item> <verb/C:\LINUX\VAR/ </itemize> Cuando arranca, el <tt/umsdos/ trata de encontrar el directorio <tt/linux/ y el <tt>/linux/etc</tt>. Si existen, activa el modo pseudorraíz. Básicamente, el modo pseudorraíz cambia el directorio raíz de la partición a <tt/C:\LINUX/ con lo que queda el árbol de directorios convencional de <em/Unix/ <itemize> <item><verb>/bin</verb> <item><verb>/etc</verb> <item><verb>/lib</verb> <item><verb>/root</verb> <item><verb>/sbin</verb> <item><verb>/tmp</verb> <item><verb>/usr</verb> <item><verb>/var</verb> </itemize> A esta lista añade uno nuevo llamado <tt/DOS/, que es un directorio virtual. <sect1>Lo que hay que saber de la pseudorraíz <p> <itemize> <item> Sólo se puede activar este modo al arrancar el sistema. No hay manera de activarlo mediante una operación de montado (con el comando <tt/mount/). <item> Este mecanismo no es más que una visión diferente de un sistema de ficheros <tt/umsdos/ normal. Esto significa que una partición que se usa habitualmente como partición raíz se puede montar normalmente sin que se produzca ningún efecto de pseudorraíz. Por ejemplo, si se arranca linux con un disquete de mantenimiento y se monta la que es habitualmente la partición raíz en <tt>/mnt</tt>, todos los directorios de linux se encontrarán en <tt>/mnt/linux/bin, /mnt/linux/etc</tt>, etc... </itemize> <sect>Distintos aspectos del funcionamiento de <tt/umsdos/ <sect1>Opciones de <tt/mount/ <p> Se pueden usar las mismas opciones que para el sistema de ficheros Ms-DOS. La opción <tt/conv=/ es cuestionable en un sistema <tt/umsdos/. Yo sugiero evitarla. Las opciones que más probablemente se querrá usar son <itemize> <item><tt/uid=/ <item><tt/gid=/ <item><tt/umask=/ </itemize> Únicamente se debe recordar que <tt/umsdos/ trata los directorios no promovidos de la misma forma que el sistema de ficheros <em/Ms-DOS/. Las opciones de arriba se aplicarán globalmente a todos los directorios no promovidos. <em/uid/ establece el propietario por omisión, <em/gid/ establece el grupo por omisión, y <em/umask/ establece los permisos por omisión. <sect1>Cómo establecer los valores por omisión para la raíz <p> <tt/umssetup/ sirve para establecer en tiempo de ejecución el propietario de la partición raíz. Para otras particiones <tt/umsdos/, se pueden usar las opciones de mount o umssetup. La manera recomendada para particiones no raíz es poner la opción apropiada en <tt>/etc/fstab</tt>. Aquí va un ejemplo. Se debería poner lo siguiente en <tt>/etc/rc.d/rc.S</tt> <tscreen><verb> /sbin/umssetup -u jack -g group -m 0755 / </verb></tscreen> <sect1>Swap o no swap <p> El uso de un fichero de intercambio (<em/swap/) es por lo general más lento que una partición de intercambio. Sin embargo, es mucho más flexible. Un fichero de intercambio en una partición <tt/umsdos/ se configura de la misma manera que para cualquier otro sistema de ficheros de <em/Linux/. Por ejemplo, para poner 8 megaoctetos de fichero de intercambio en el directorio raíz: <tscreen><verb> dd if=/dev/zero bs=1024k count=8 of=/swap mkswap /swap 8192 sync swapon /swap </verb></tscreen> Una vez hecho esto, se puede poner lo siguiente en <tt>/etc/fstab</tt> <tscreen><verb> /swapswapswapdefault </verb></tscreen> Y el fichero de intercambio se activará en cada arranque del sistema (hay por lo general un "<tt/swapon -a/" en <tt>/etc/rc.d/rc.S</tt>). <sect>Cómo arrancar un sistema <tt/umsdos/ <p> <sect1>Loadlin <p> El paquete <tt/lodlin15.tgz/ está disponible en <tt><htmlurl url="ftp://sunsite.unc.edu/pub/Linux/system/Bootutils" name="ftp://sunsite.unc.edu/pub/Linux/system/Bootutils"></tt> Esta utilidad es especialmente apropiada para arrancar un sistema <tt/umsdos/. Generalmente todo lo que hay que hacer es <tscreen><verb> Arrancar el DOS C:>loadlinx zimage root=D: </verb></tscreen> Donde <tt/zimage/ es una imagen normal (comprimida) del núcleo que simplemente se ha copiado a algún sitio del disco del DOS. <tt/D:/ es el disco del DOS donde se ha instalado <em/Linux/. <sect1>Con un disquete <p> Arrancar un sistema <tt/umsdos/ con un disquete no es distinto a arrancar un sistema <em/Ext2/. Se necesita un fichero (<tt/zImage/) con una imagen comprimida del núcleo convenientemente inicializado para localizar la partición raíz <tt/umsdos/. Esto se consigue generalmente con la orden <tt/rdev/. La secuencia siguiente inicializa una <tt/zImage/ y la pone en un disquete. <tscreen><verb> rdev zImage /dev/hda1 rdev -R zImage 0 dd if=zImage bs=8192 of=/dev/fd0 </verb></tscreen> Si esto parece lioso, se puede simplemente crear un disco de arranque de Ms-DOS e incluir lo siguiente en él: <itemize> <item><tt/loadlin.exe/ <item><tt/loadlinx.exe/ <item><tt/zimage/ </itemize> y ponerle un <tt/autoexec.bat/ como este <tscreen><verb> loadlinx zimage rw root=C: </verb></tscreen> <sect1><tt/LILO/ <p> <tt/LILO/, el programa de arranque oficial de <em/Linux/ también se puede usar para arrancar un sistema <tt/umsdos/. Sin embargo, no tengo ninguna experiencia con él. Desde la versión 1.1.60 debería funcionar. Por favor mandadme correo si sabéis algo. <sect1>Cómo defragmentar una partición <tt/umsdos/ <p> Se puede hacer con cualquier herramienta de DOS. Los ficheros creados por <tt/umsdos/ no tienen nada de especial. Y <tt/umsdos/ no espera nada especial (estructura del directorio, orden de las entradas en el directorio, etc...) del sistema de ficheros DOS que lo soporta. Por lo que yo sé, no hay ninguna herramienta de <em/Linux/ que haga esto. <sect1>Trucos avanzados <p> <tt/umsdos/ se apoya en el fichero <tt/--linux-.---/ que a su vez se apoya en el directorio del <em/DOS/. A algunos usuarios puede apetecerles experimentar un poco. La utilidad <tt/udosctl/, que es parte del paquete <tt/umsdos_progs/ (que también contiene <tt/umssync/ y <tt/umssetup/) permite hacer operaciones básicas con los directorios (listado, borrado) independientemente del fichero <tt/--linux-.---/ y del directorio del <em/DOS/. <sect>Principios básicos <p> <sect1>Introducción <p> <tt/umsdos/ hace corresponder los ficheros de <em/Linux/ directamente con ficheros de <em/Ms-DOS/. La traducción es uno a uno (biyectiva). No se toca el contenido de los ficheros. <tt/umsdos/ sólo actúa sobre los nombres. Con los ficheros especiales (enlaces y dispositivos, por ejemplo) utiliza una gestión especial. Por cada directorio hay un fichero llamado <tt/--linux-.---/. <sect1><tt/umsdos/ puede reemplazar al sistema de ficheros <em/Ms-DOS/. <p> Se puede ver <tt/umsdos/ como un superconjunto de propósito general del sistema de ficheros <em/Ms-DOS/ de linux. Esta flexibilidad es, de hecho, la causa de gran parte de la confusión sobre <tt/umsdos/. Aquí está el porqué. Si se intenta montar un disquete <em/DOS/ recién formateado con esto <tscreen><verb> mount -t umsdos /dev/fd0 /mnt </verb></tscreen> Y se hace esto, <tscreen><verb> ls / >/mnt/FICHEROCONNOMBREMUYLARGO ls -l /mnt </verb></tscreen> Se obtiene lo siguiente <tscreen><verb> -rwxr-xr-x 1 root root 302 Apr 14 23:25 ficheroc </verb></tscreen> Así, que, por el momento, parece como si el sistema de ficheros <tt/umsdos/ no hiciera mucho más (la verdad es que nada más) que el sistema de ficheros <em/Ms-DOS/ normal de <em/Linux/. <em/???/ <sect1>Promoción de directorios <p> No es muy impresionante por el momento. Ahora viene la gracia. A menos que se promueva, un directorio <em/DOS/ será manejado igual por <tt/umsdos/ que como lo sería por el sistema de ficheros <em/DOS/. <tt/umsdos/ utiliza un fichero especial en cada subdirectorio para hacer la traducción entre las capacidades extendidas de <tt/umsdos/ y las limitaciones del sistema de ficheros <em/DOS/. Este fichero es invisible para los usuarios de <tt/umsdos/, pero es visible cuando se arranca en <em/DOS/. Para evitar llenar la partición <em/DOS/ inútilmente con esos ficheros (<tt>--linux-.---</tt>), el fichero es ahora opcional. Si no existe, <tt/umsdos/ se comporta como <em/Ms-DOS/. Cuando se promueve un directorio, cualquier operación posterior será hecha con la semántica completa de la que normalmente disfrutan los usuarios de <em/Unix/ y <em/Linux/. Y cualquier subdirectorio creado desde entonces (en un directorio ya promovido) será promovido silenciosamente. Esta característica permite organizar la partición <em/DOS/ en material del <em/DOS/ y material del <em/Linux/. Es importante entender que el fichero <tt/--linux-.---/ ocupa algo de espacio (generalmente 2k por directorio). El <em/DOS/ habitualmente utiliza bloques grandes (de hasta 16k para una partición de 500M), así que evitar que haya ficheros <tt/--linux-.---/ en todas partes puede resultar beneficioso. <sect1>Cómo promover: <tt>/sbin/umssync</tt> <p> Se puede promover un directorio en cualquier momento usando <tt>/sbin/umssync</tt>. Se puede usar en cualquier momento. Al promover un directorio ocurre lo siguiente <itemize> <item>Se crea un <tt/--linux-.---/. <item>Se establece una relación uno a uno (biyectiva) entre el contenido del fichero <tt/--linux-.---/ y lo que en ese momento sea el contenido del directorio. </itemize> <tt>/sbin/ummsync</tt> conserva un fichero <tt/--linux-.---/ ya existente. No lo crea de la nada todas las veces. Simplemente le añade las entradas que le falten (Ficheros creados durante una sesión <em/DOS/) y le quita las entradas que se refieran a ficheros que ya no existen en el directorio <em/DOS/. De ahí le viene el nombre. <tt/umssync/ pone <em/--linux-.---/ en sincronismo con el directorio <em/DOS/ que hay debajo. <sect1>Uso de <tt>/sbin/umssync</tt> durante el arranque <p> Es una buena idea poner, si no existiera, una llamada a <tt>/sbin/umssyc</tt> al final del fichero <tt>/etc/rc.d/rc.S</tt>. La línea siguiente es adecuada para la mayor parte de los sistemas: <tscreen><verb> /sbin/umssync -r99 -c -i+ / </verb></tscreen> La opción <tt/-c/ evita que <tt/umssync/ promueva directorios. Solamente actualizará los ficheros <tt/--linux-.---/ donde ya existan. Esa línea tiene utilidad si se accede al directorio <em/Linux/ durante las sesiones <em/DOS/. No existe en <em/Linux/ una manera eficiente de decir que un directorio ha sido modificado por el <em/DOS/ así que <tt/umsdos/ no puede hacer un <em/umssync/ según se necesite. <sect1>Cómo DESpromover <p> Simplemente hay que eliminar el fichero <tt/--linux-.---/ usando el <em/DOS/. Aunque quien lo haga acabará arrepintiéndose. <sect1>¿Qué pasa con los ficheros creados durante una sesión <em/DOS/? <p> A menos que se use <tt/umssync/ en un directorio donde el <em/DOS/ haya añadido o borrado ficheros, se advertirán algunas dificultades: <itemize> <item>No hace que se caiga el sistema ni causa grandes problemas, sólo incomodidad :-) <item>Los ficheros creados por el <em/DOS/: <itemize> <item>Serán invisibles desde <em/Linux/. <item>Cuando se intente crear un fichero con el mismo nombre, dará un mensaje de error diciendo que el fichero ya existe. <item>Esto, más que un verdadero problema, crea confusión. No daña el sistema de ficheros. </itemize> <item>Los ficheros borrados por el <em/DOS/ no causan problemas. <tt/umsdos/ advertirá su ausencia en el primer acceso. Se mostrará (y generalmente se escribirá en <tt>/var/adm/syslog</tt>) un mensaje al respecto. </itemize> <sect>Instalación/Desinstalación y algunos truquillos <p> La instalación de un sistema basado en <tt/umsdos/ no difiere gran cosa de la instalación de un sistema <em/Linux/ ordinario (basado en <em/Ext2/). Hay dos diferencias fundamentales. <sect1>La pseudorraíz <tt>/mnt/linux</tt> <p> Los pasos normales de una instalación son <enum> <item>Hacer una partición con <tt/fdisk/ y formatearla. <item>Montarla en el directorio <tt>/mnt</tt> de nuestro disco raíz de instalación. <item>Copiar todos los paquetes en <tt>/mnt</tt>. </enum> El paso 1 no es necesario con <tt/umsdos/ (¿acaso no era el objetivo de <tt/umsdos/ no tener que reformatear?). Es posible instalar un sistema <tt/umsdos/ simplemente copiando todos los paquetes en <tt>/mnt</tt>. Funcionaría, pero crearía una ristra de subdirectorios en el directorio raíz del <em/DOS/ (<tt/C:/) y no sería agradable. Esa es la razón por la que todas las instalaciones con <tt/umsdos/ usan la pseudorraíz. Y es la gran diferencia entre una instalación normal con <em/Ext2/ y una con <tt/umsdos/: Los ficheros se copian en <tt>/mnt/linux</tt>. <sect1>Preparar <tt>/mnt/linux</tt> <p> <tt>/mnt/linux</tt> no es un directorio ordinario. Tiene que ser promovido para que maneje correctamente los nombres largos de <em/Linux/ y los ficheros especiales (enlaces, dispositivos). Los pasos requeridos para poner a punto <tt>/mnt/linux</tt> son: <enum> <item><tt>mkdir /mnt/linux</tt> <item><tt>umssync /mnt/linux</tt> </enum> ¡Y ya está! <sect1>Asegurarse de que <tt>/mnt/linux/</tt> está correctamente configurado. <p> A pesar de que la puesta a punto de <tt>/mnt/linux</tt> es muy sencilla, hay circulando por ahí muchos paquetes de instalación que lo hacen mal. ¿Cómo es posible? <!--<quote> --> El problema de instalación más importante suele provenir del uso de versiones incompatibles del programa <tt/umssync/. <tt/umsdos/ fue actualizado en Linux 1.1.88 (No lo recuerdo con exactitud) y quedó un fallo en <tt>umssync</tt>. Para evitar confusión entre la comunidad de <em/Linux/, se decidió incrementar el nivel de compatibilidad requerido para todas las herramientas de <tt/umsdos/. Las antiguas versiones de las utilidades fueron simplemente rechazadas. Parece que muchas distribuciones no han actualizado el <tt>umssync</tt> de sus disquetes de instalación. <!--</quote> --> Todavía hay muchas distribuciones en ese estado por ahí. El resultado de hecho es que el directorio <tt>/mnt/linux</tt> no se promueve y se truncan todos los nombres largos de fichero y se rechazan todos los ficheros especiales. Es posible comprobar si algo ha ido mal en los primeros momentos de la instalación. Gracias al mecanismo de pseudoconsolas de <em/Linux/ se puede hacer sin salir del programa de instalación. Hay que seguir los siguientes pasos: <enum> <item>Pulsar <tt>Alt-F2</tt> (la tecla <tt/Alt/ al mismo tiempo que la tecla <tt/F2/). <item>entrar como superusuario (<tt/root/). <item><tt>cd /mnt/linux</tt> Si eso falla, es que se está haciendo demasiado pronto. Al terminar la selección de paquetes es un buen momento para hacerlo. <item><tt>>TOTO</tt> <item><tt>ls -l</tt> Debería aparecer un fichero vacío llamado <tt/TOTO/ en letras mayúsculas. Si aparece en minúsculas algo ha ido mal. Intentaremos ejecutar <tt/umssync/ de nuevo. <tt/umssync/ puede usarse una y otra vez sin ningún problema. <tt>umssync .</tt> &nl (el punto es parte de la orden) &nl Si no aparece ningún mensaje de error, volveremos a hacer la comprobación del <tt/TOTO/. Si aparece <tt/TOTO/ correctamente todo está bien. La instalación tiene algo extraño, pero lo hemos solucionado. <item>Pulsar <tt>Alt-F1</tt> para volver a la pantalla de instalación. </enum> <!--<code> --> Si la comprobación falla, la mejor solución es hacerse con un disco de instalación más moderno. Normalmente se puede arreglar el disco raíz de instalación poniéndole una versión más moderna de <tt/umssync/. No es difícil, pero se requiere un sistema <em/Linux/ en funcionamiento. Simplemente hay que montar el disco raíz y reemplazar el <tt/umssync/ problemático por uno nuevo. <!-- </quote> --> <sect1><tt/Oops releasing pseudo root .../ <p> La mayor parte de las instalaciones <tt/umsdos/ que fallan lo hacen mostrando ese curioso mensaje. Por muy extraño que parezca el mensaje, no se trata de un bug (<em/error/) en <tt/umsdos/. Estas son las causas conocidas: <itemize> <item>La más común La instalación de <em/Slackware/ trata de configurar un fichero de intercambio (<em/swap/) en los primeros momentos de la instalación. Para hacerlo, pide que se seleccione una partición (un disco del DOS), entonces lo monta y configura el fichero de intercambio. Cuando se instala un sistema <em/Slackware/, se debe configurar la partición receptora antes de instalar nada. Esto normalmente significa que se monta la partición <em/DOS/ en <tt>/mnt</tt>, se crea el directorio <tt>/mnt/linux</tt>, y se le aplica <tt/umssync/. De ahí es de donde viene la mayor parte de los problemas. La mayoría de los usuarios olvidan el paso de "configuración de la partición receptora" (<em>"setup target partition"</em>) y pasan sin más al resto de la instalación. Como <tt>/mnt</tt> está ya montado, este error pasa desapercibido. Eso significa que <tt>/mnt/linux</tt> no ha sido creado adecuadamente (No ha sido promovido). Ningún fichero especial, ni enlace, ni fichero con nombre largo se podrá crear correctamente. <item>Programa <tt/umssync/ no válido No se ha creado <tt>/mnt/linux</tt> correctamente. Esto está generalmente causado por un programa <tt>umssync</tt> inadecuado en el disco de instalación raíz. <item>Un antiguo error en <tt/umsdos/ <p> Había un error en <tt/umsdos/ previo a <em/Linux 1.2.2/. El modo pseudo-root no se activaba adecuadamente si no existía el fichero <tt>/etc/init</tt>. Ahora <tt/init/ se ubica en <tt>/sbin</tt>. Se puede solucionar esto haciéndose con un nuevo núcleo. Eso es lo recomendado puesto que había otro error que se solucionó en la versión 1.2.2. Si no es posible la actualización, habrá que hacer lo siguiente <enum> <item>Arrancar con el disquete de instalación. <item>Entrar como superusuario. <item><tt>mount -t umsdos /dev/hdXX /mnt</tt> Donde <tt>/dev/hdXX</tt> es la partición <em/DOS/. <item><tt>cd /mnt/linux/etc</tt> <item><tt>ln -s ../sbin/init init</tt> <item><tt>cd /</tt> <item><tt>Ctrl-Alt-Del</tt> <item>Arrancar el sistema <tt/umsdos/ normalmente. </enum> </itemize> Por desgracia, los dos primeros problemas de instalación producen una instalación completamente inservible. Se debe desinstalar (Véase la sección siguiente) y volver a instalar. <sect1>Cómo DESinstalar un sistema <tt/umsdos/ <p> Una cosa que sorprende agradablemente de <tt/umsdos/ y su mecanismo de pseudorraíz es que se puede DESinstalar sin problemas. Simplemente hay que arrancar en <em/DOS/ y borrar recursivamente el directorio <tt/linux/. Eso es todo. <tt/umsdos/ no requiere ningún controlador especial en el config.sys, ni crea nada extraño fuera del directorio <tt/linux/. <sect1>Mover un sistema <tt/umsdos/ a otro disco <em/DOS/ <p> Se puede hacer desde <em/Linux/ o desde <em/DOS/. Sólamente hay que copiar recursivamente el directorio <tt/linux/ de un disco al otro. Después hay que ajustar el sistema de arranque (generalmente el programa loadlin) y el fichero <tt>/etc/fstab</tt>. <tt/umsdos/ puede vivir en cualquier disco <em/DOS/. No hay necesidad de instalarlo en el disco <tt/C:/, ni en el primer disco duro. No importa en absoluto. De hecho, se puede decidir tener varias instalaciones <tt/umsdos/ en distintos discos simplemente para experimentar. <sect1>Cómo instalar 50 sistemas con <tt/umsdos/ <p> ¿Y si instalamos un montón de sistemas <em/Linux/ en un santiamén? Los sistemas <tt/umsdos/ viven en un mundo <em/DOS/. Se puede sacar provecho de esto si se quiere instalar <em/Linux/ fácilmente. Se puede instalar y configurar un sistema con <tt/umsdos/ en un ordenador, y, cuando se está satisfecho con la configuración y los distintos paquetes seleccionados, arrancar en <em/DOS/ y copiar el directorio <tt/linux/ completo al servidor de ficheros de <em/DOS/ (en caso de que exista, claro. Tal vez un PC-NFS). Entonces se va a otro ordenador con <em/DOS/ y simplemente se copian los ficheros del disco de red al disco duro local. Eso es todo. Sólamente habrá que ajustar el fichero .bat de arranque (<em/Loadlinx/) y ya. Con unos ajustes mínimos (nombre de la máquina, dirección IP), cualquiera puede instalar un sistema <em/Linux/ en un minuto. Los lectores interesados apuntarán que instalar un sistema <em/Linux/ copiando un sistema en funcionamiento también sirve para cualquier otro tipo de sistema <em/Linux/, incluyendo los basados en <em/Ext2/. Una de las bellezas de <em/Linux/ es que no hay fichero ocultos que tengan que ser instalados por un mágico programa de instalación. <sect>Disponer una sección <em/Linux/ en una partición <em/DOS/ <p> Incluso para los usuarios de <em/Ext2/ (sistema de ficheros nativo de <em/Linux/) tiene utilidad <tt/umsdos/. La siguiente es una situación frecuente: <itemize> <item>Como <em/Linux/ es tu sistema operativo preferido, la partición de <em/Linux/ empieza a llenarse más y más. <item>Tu partición de <em/DOS/ está medio vacía y cogiendo polvo. <item>De repente te quedas sin espacio en la partición <em/Ext2/. <item>Aún no estás seguro de querer deshacerte del <em/DOS/. </itemize> <tt/umsdos/ puede salvar la situación. Se puede poner un directorio <em/Linux/ en la partición de <em/DOS/ y usarlo sin restricciones para <em/Linux/. Por ejemplo, pongamos que queremos crear un nuevo directorio llamado <tt/"extra"/ en el disco <tt/C:/. Y queremos que se comporte como un directorio normal de <em/Linux/. Habría que hacer lo siguiente (suponiendo que <tt/C:/ es <tt>/dev/hda1</tt>): <tscreen><verb> mkdir /c /sbin/mount -t umsdos /dev/hda1 /c mkdir /c/extra umssync /c/extra </verb></tscreen> Hay que ser superusuario (<tt/root/) para hacerlo. Si se configura el <tt>/etc/fstab</tt> adecuadamente, siempre se tendrá acceso al directorio <tt>/c/extra</tt>. <sect>POR-QUÉ-UMSDOS <label id="porque"> <p> No basta con explicar cómo funciona o se instala un sistema con <tt/umsdos/. La mayoría de la gente busca algunos consejos sobre si usar <tt/umsdos/ o no. <sect1>El objetivo de <tt/umsdos/ <p> El objetivo de <tt/umsdos/ era facilitar la instalación de <em/Linux/. Otro objetivo era facilitar su DESinstalación. La idea detrás de esto era favorecer la difusión de <em/Linux/. La instalación de un nuevo sistema operativo es siempre problemática. <em>OS/2</em> por ejemplo enguarrina tranquilamente el directorio raíz del disco <tt>C:</tt> con una ristra de nuevos directorios. Si eres tan inteligente como yo, además te borra los ficheros <tt/config.sys/ y <tt/autoexec.bat/ :-( El invento de la pseudorraíz de <tt/umsdos/ evita esta invasión no deseada. <em/Linux/ se puede DESinstalar sin ningún efecto lateral. <sect1>Quién lo necesita <p> Si se tiene un disco duro pequeño, <tt/umsdos/ permite compartir el espacio del disco entre <em/DOS/ y <em/Linux/. Un disco de menos de 300M es en mi opinión un disco pequeño. Baso esta opinión en el tamaño de los diversos paquetes disponibles hoy día. Un popular procesador de textos se puede cepillar unos 70 megaoctetos si se seleccionan todas las opciones. Si se tiene un disco duro más grande, se debe tomar en consideración la opción de tener una partición dedicada para <em/Linux/ donde use el sistema de ficheros <em/Ext2/. <em/Ext2/ utiliza un tamaño de bloque más pequeño que <em/DOS/ (exactamente 1K) por lo que instalar muchos ficheros pequeños utiliza menos espacio que en una partición <tt/umsdos/. <sect1>Acerca de la eficiencia <p> Lo siguiente es aplicable a <tt/umsdos/ si se le compara con <em/Ext2/. <itemize> <item>El manejo de directorios es más rápido en <em/Ext2/. Esto es debido a la sobrecarga de la estructura de doble directorio de <tt/umsdos/. <item>El acceso a los ficheros (lectura y escritura) es probablemente más rápido en <tt/umsdos/ que en <em/Ext2/. Esto es debido a la simplicidad del sistema de ficheros con <em/FAT/ usado por el <em/DOS/. Téngase en cuenta que esta simplicidad tiene un coste: <itemize> <item>Un máximo de alrededor de 65.000 ficheros o bloques por partición. Esto también significa que una partición de 500 megaoctetos utiliza un tamaño de bloque de 16K. En otras palabras, un fichero que contenga un sólo octeto consumirá 16K de espacio de disco. <item>Todo es controlado por una <tt/FAT/ ubicada al principio del disco duro. Esto hace probablemente más frágil al sistema de ficheros <em/DOS/. <item>No se toman precauciones para evitar la fragmentación de los ficheros. Un sistema <tt/umsdos/ se usará generalmente como estación de trabajo de un sólo usuario. En ese caso tiene demasiada importancia. Si se usa como sistema multiusuario, los ficheros se esparcirán por todo el disco, reduciendo la eficiencia de los accesos a los mismos. </itemize> <item>Los enlaces simbólicos se guardan en ficheros normales. Si se intenta tener muchos, se encontrará que <tt/umsdos/ usa bastante más espacio de disco que <em/Ext2/. </itemize> <sect>Anexo: El INSFLUG <label id="Grupos"> <p> El <em/INSFLUG/ forma parte del grupo internacional <it/Linux Documentation Project/, encargándose de las traducciones al castellano de los Howtos (Comos), así como la producción de documentos originales en aquellos casos en los que no existe análogo en inglés. En el <bf/INSFLUG/ se orienta preferentemente a la traducción de documentos breves, como los <em/COMOs/ y <em/PUFs/ (<bf/P/reguntas de <bf/U/so <bf/F/recuente, las <it/FAQs/. <tt/:)/ ), etc. Diríjase a la sede del INSFLUG para más información al respecto. En la sede del INSFLUG encontrará siempre las <bf/últimas/ versiones de las traducciones: <tt><htmlurl url="http://www.insflug.org" name="www.insflug.org"></tt>. Asegúrese de comprobar cuál es la última versión disponible en el Insflug antes de bajar un documento de un servidor réplica. Se proporciona también una lista de los servidores réplica (<it/mirror/) del Insflug más cercanos a Vd., e información relativa a otros recursos en castellano. Francisco José Montilla, <tt><htmlurl url="mailto:pacopepe@insflug.org" name="pacopepe@insflug.org"></tt>. </article>