NOMBRE
mtools - utilidades para acceder a discos DOS en UNIX
INTRODUCCIÓN
Mtools es una colección de herramientas de dominio público que permite a sistemas Unix manipular ficheros de MS-DOS: leer, escribir y mover ficheros en un sistema de ficheros MS-DOS (típicamente un disco flexible). Hasta donde es razonable, cada programa intenta emular la orden equivalente de MS-DOS. Sin embargo, las restricciones innecesarias y otras rarezas de DOS no se emulan. Por ejemplo, es posible mover subdirectorios de un subdirectorio a otro.
Mtools es suficiente para dar acceso a sistemas de ficheros MS-DOS. Por ejemplo, órdenes como mdir a: funcionan en el disquete a: sin ningún montaje preliminar ni otro procedimiento de inicio (suponiendo que el ’/etc/mtools.conf’ funciona en su máquina). Con MTOOLS, uno puede cambiar disquetes también sin tener que desmontar y montarlos.
DÓNDE OBTENER MTOOLS
MTOOLS puede encontrarse por lo menos en los sitios siguientes (y sus espejos):
ftp://prep.ai.mit.edu/pub/gnu/mtools-3.8.tar.gz
ftp://linux.wauug.org/pub/knaff/mtools/mtools-3.8.tar.gz
ftp://sunsite.unc.edu/pub/Linux/utils/disk-management/mtools-3.8.tar.gz
Antes de informar de un fallo, asegúrese de que no ha sido ya corregido en los parches Alfa que pueden encontrarse en:
http://www.poboxes.com/Alain.Knaff/mtools
ftp://linux.wauug.org/pub/knaff/mtools
Nota: Es altamente probable que la 1ª dirección de Internet haya dejado de existir tras Noviembre de 1997. La dirección wauug es permanente.
Estos parches se denominan mtools-version-ddmm.taz, donde version significa la versión base, dd es el día y mm es el mes. Debido a falta de espacio, yo usualmente sólo dejo el parche más reciente.
Hay una lista de correo de MTOOLS en mtools [AT] linux.org. Por favor, envíe todos los informes de fallos a esta lista. Puede suscribirse mandando un mensaje con la sola frase ’subscribe mtools [AT] linux.org’ en el cuerpo del mensaje a majordomo [AT] linux.org. Los anuncios de nuevas versiones de mtools también se mandarán a la lista, además de a los grupos de noticias de anuncios sobre Linux. La lista de correo se archiva en http://linux.wauug.org/hypermail/mtools/latest .
CARACTERÍSTICAS COMUNES DE TODAS LAS ÓRDENES DE MTOOLS
Opciones y
nombres de ficheros
Los caminos de fichero en MS-DOS se componen de una letra de
dispositivo seguida por dos puntos, un subdirectorio y un
nombre de fichero. Sólo la última parte es
obligatoria, las primeras son opcionales. Los nombres de
fichero sin la letra de dispositivo, para MTOOLS se refieren
a ficheros de Unix. Los nombres de directorio pueden emplear
como separador ’/’ o
’\’. El uso del separador
’\’ o comodines requiere que los
nombres se entrecomillen para protegerlos del shell. Sin
embargo, los comodines en nombres de fichero de Unix no
deben encerrarse entre comillas porque queremos que
el shell los expanda.
Las rutinas de "concordancia de patrones" de expresiones regulares siguen las reglas al estilo Unix. Por ejemplo, ’*’ concuerda con todos los ficheros de MS-DOS en lugar de ’*.*’. Los bits de atributo de archivo, oculto, lectura exclusiva y sistema, no se tienen en cuenta durante la concordancia de patrones.
Todas las opciones emplean el signo - (menos) como su primer carácter, no / como en MS-DOS.
La mayoría de las órdenes de MTOOLS permiten como parámetros varios nombres de fichero, lo que no sigue los convenios de MS-DOS, pero es más amigable.
La mayoría de órdenes de MTOOLS permiten opciones que les instruyen sobre cómo manejar las coincidencias de nombres de ficheros. Vea la sección sobre coincidencias de nombres de ficheros para más detalles. Todas las órdenes aceptan la opción -V que muestra el número de versión, y la mayoría acepta la opción -v, que cambia al modo prolijo. En modo prolijo, estas órdenes muestran el nombre del fichero de MS-DOS sobre el que actúan, a menos que se diga otra cosa. Vea la sección Órdenes, para una descripción de las opciones específicas de cada orden.
Letras de
dispositivo
El significado de las letras de dispositivo depende de las
arquitecturas objetivo, o destino. Sin embargo, en la
mayoría de ellas, la unidad A es la primera unidad de
disquete, la unidad B es la segunda unidad de disquete (si
la hay), la unidad J es una unidad Jaz, si la hay, y la
unidad Z es una unidad Zip (si la hay). En aquellos sistemas
donde el nombre del dispositivo derive del ID. SCSI, se
supone que la unidad Jaz está en el objetivo SCSI 4,
y la Zip en el 5 (éstos son los valores
predeterminados de fábrica). En Linux, ambas unidades
se suponen en la segunda unidad del bus SCSI (/dev/sdb).
Todo esto puede cambiarse mediante un fichero de
configuración (vea la sección
Configuración).
Directorio
de trabajo actual
La orden mcd (’mcd’) se emplea para
establecer el dispositivo y el directorio de trabajo
actuales (relativos al sistema de ficheros MS-DOS), de otro
modo se supone que el valor predeterminado es A:/.
Sin embargo, al contrario de en MS-DOS, sólo hay un
directorio de trabajo para todas las unidades, y no una por
cada unidad.
Nombres de
fichero largos al estilo VFAT
Esta versión de MTOOLS admite nombres de ficheros
largos al estilo de VFAT. Si un nombre de fichero Unix es
demasiado largo como para caber en un nombre corto de DOS,
se guarda como un nombre largo de VFAT, y se genera un
nombre corto acompañante. Este nombre corto es lo que
se ve cuando se examina el disco con una versión de
DOS anterior a la 7.0 (esto es, anterior a Windows95). La
tabla siguiente muestra algunos ejemplos de nombres
cortos:
Nombre largo
nombre MS-DOS Razón del cambio
------------ ------------- ----------------------
estoesuntest ESTOES~1 nombre demasiado largo
alain.knaff ALAIN~1.KNA extensión muy larga
prn.txt PRN~1.TXT PRN es un dispositivo
.abc ABC~1 no hay ningún nombre
frio+calor FRIO_CA~1 carácter ilegal
Como se ve, las siguientes transformaciones ocurren al hacer derivar un nombre corto:
* |
Los caracteres ilegales se reemplazan por subrayados. Los caracteres ilegales son ;+=[]’,\"*\\<>/?:|. | ||
* |
Los puntos extra, que no pueden interpretarse como un separador de nombre principal y extensión, se quitan. | ||
* |
Se genera un número ~n. | ||
* |
El nombre se acorta de modo que quepa en la limitación 8+3. |
El nombre de fichero inicial al estilo de Unix (corto o largo) se llama también el nombre primario, y el nombre corto derivado de él se llama también el nombre secundario.
Ejemplo:
mcopy /etc/motd a:Nombremuylargo
Mtools crea una entrada VFAT para Nombremuylargo y usa NOMBREMU como un nombre corto. Nombremuylargo es el nombre primario, y NOMBREMU es el secundario.
mcopy /etc/motd a:motd
Motd encaja en los límites de nombres de fichero DOS. Mtools no necesita hacer derivar otro nombre. Motd es el nombre primario, y no hay nombre secundario.
En resumen: el nombre primario es el nombre largo, si existe, o el nombre corto si no hay nombre largo.
Aunque VFAT es mucho más flexible que FAT, aún hay nombres que no son aceptables, incluso en VFAT. Aún quedan algunos caracteres ilegales (\"*\\<>/?:|), y los nombres de dispositivo todavía están reservados.
Nombre Unix
Nombre largo Razón del cambio
----------- ------------ -------------------------------
prn prn-1 PRN es un nombre de dispositivo
ab:c ab_c-1 carácter ilegal
Como puede ver, si un nombre largo es ilegal ocurren las siguientes transformaciones:
* |
Los caracteres ilegales se reemplazan por subrayados, | ||
* |
Se genera un número -n. |
Coincidencias
de nombres
Cuando se escribe un fichero en disco, su nombre largo
(nombre primario) o corto puede colisionar con el de un
fichero o directorio ya existente. Esto puede suceder para
todas las órdenes que creen nuevas entradas de
directorio, como mcopy, mmd,
mren, mmove, mwrite y
mread. Cuando ocurre una coincidencia de nombres,
MTOOLS le pregunta qué debe hacer. Ofrece algunas
elecciones:
overwrite
Sobreescribe el fichero existente. No es posible sobreescribir un directorio con un fichero.
rename
Renombra el fichero creado recientemente. MTOOLS pregunta el nuevo nombre de fichero.
autorename
Renombra el fichero recién creado. MTOOLS escoge él mismo un nombre, sin preguntar.
skip |
Pasa este fichero de largo y se mueve al siguiente, si lo hay. |
Para escoger una de estas acciones, teclee su primera letra cuando se le pregunte. Si emplea una letra minúscula, la acción sólo se aplica a este fichero solo; si usa una letra mayúscula, la acción se aplica a todos los ficheros, y no se le preguntará más.
También puede escoger las acciones (para todos los ficheros) en la línea de órdenes, cuando llame a MTOOLS:
-o |
Sobreescribe los nombres primarios de forma predeterminada. | ||
-O |
Sobreescribe los nombres secundarios de forma predeterminada. | ||
-r |
Renombra los nombres primarios de forma predeterminada. | ||
-R |
Renombra los nombres secundarios de forma predeterminada. | ||
-a |
Auto-renombra los nombres primarios de forma predeterminada. | ||
-A |
Auto-renombra los nombres secundarios de forma predeterminada. | ||
-s |
Se salta los nombres primarios de forma predeterminada. | ||
-S |
Se salta los nombres secundarios de forma predeterminada. | ||
-m |
Pregunta al usuario qué hacer con los nombres primarios. | ||
-M |
Pregunta al usuario qué hacer con los nombres secundarios. |
De forma predeterminada, se le pregunta al usuario en el caso de coincidencias en el nombre primario, y se auto-renombra el nombre secundario.
Si ocurre una coincidencia de nombre en un directorio Unix, MTOOLS sólo pregunta si sobreescribir el fichero o saltárselo.
Sensibilidad
a la caja tipográfica del sistema de ficheros
VFAT
El sistema de ficheros VFAT es capaz de recordar la caja
tipográfica (i.e., si las letras son
minúsculas o mayúsculas) de los nombres de
ficheros. Sin embargo, no se permite que los nombres de
ficheros que se diferencian sólo en la caja
tipográfica coexistan en el mismo directorio. Por
ejemplo, si Ud. almacena un fichero llamado
NombreFicheroLargo en un sistema de ficheros VFAT, mdir
muestra este fichero como NombreFicheroLargo y no como
Nombreficherolargo. Sin embargo, si Ud. luego intenta
añadir NombreFicherolargo al mismo directorio, no
puede, porque no se mira la caja tipográfica para las
comprobaciones de coincidencia de nombres.
El sistema de ficheros VFAT permite almacenar la caja tipográfica de un nombre de fichero en el byte de atributo, si todas las letras del nombre de fichero tienen la misma caja, y si todas las letras de la extensión tienen la misma caja también. MTOOLS usa esta información cuando muestra los ficheros, y también para generar el nombre de fichero Unix cuando copia con mcopy a un directorio Unix. Esto puede llevar a resultados inesperados cuando se aplica a ficheros escritos con una versión anterior a 7.0 de DOS: de hecho, los nombres de ficheros al viejo estilo DOS transforman todas las letras a mayúsculas. Esto es diferente del comportamiento de la versión antigua de MTOOLS que lo que hacía era generar nombres de ficheros Unix con todas las letras en minúsculas.
Formatos de
alta capacidad
MTOOLS admite una variedad de formatos que permiten
almacenar más datos en discos que lo usual. Debido a
las diferentes capacidades de los sistemas operativos, estos
formatos no se aceptan en todos los ss.oo. MTOOLS reconoce
estos formatos de forma transparente donde se acepten.
Para formatear estos discos, se necesita usar una herramienta específica del sistema operativo. Para Linux, se pueden encontrar herramientas adecuadas para disquetes en el paquete fdutils en los sitios siguientes, aparte quizás de en su distribución favorita, como Debian o similar:
ftp://linux.wauug.org/pub/knaff/fdutils/. ftp://sunsite.unc.edu/pub/Linux/utils/disk-management/fdutils-*
Vea las páginas del Manual incluidas en ese paquete para más detalles. Use superformat para todos los formatos salvo XDF; y para éste, emplee xdfcopy.
Más
sectores
El método más antiguo de meter más
datos en un disco es emplear más sectores y
más pistas. Aunque el formato estándar usa 80
pistas y 18 sectores (en un disco de alta densidad de
3½’’), es posible usar hasta 83 pistas
(en la mayoría de las unidades de disquete) y hasta
21 sectores. Este método permite almacenar hasta 1743
kB en un disco de alta densidad de 3½’’.
Sin embargo, los discos de 21 sectores son el doble de
lentos que los estándares de 18 sectores, porque
éstos están empaquetados tan juntos que se
necesita intercalarlos. Este problema no ocurre en los
formatos de 20 sectores.
Estos formatos se aceptan en numerosas utilidades shareware de DOS como fdformat y vgacopy. En su infinita soberbia, Bill Gate$ creyó que él inventó esto, y lo llamó ’discos DMF’, o ’discos formateados de Windows’. Pero en realidad, ¡ya existía desde hacía años! MTOOLS admitía estos formatos en Linux, en SunOS y en el DELL Unix PC.
Sectores
más grandes
Al usar sectores más grandes es posible ir más
allá de la capacidad que se puede obtener con los
sectores estándar de 512 bytes. Esto es así a
causa de la cabecera del sector. La cabecera del sector
tiene el mismo tamaño, sin importar cuántos
bytes de datos haya en el sector. Así, nos ahorramos
algo de espacio usando menos, pero más
grandes, sectores. Por ejemplo, 1 sector de 4 kB sólo
toma espacio para la cabecera una vez, mientras que 8
sectores de 512 bytes tienen también 8 cabeceras,
para la misma cantidad de datos útiles.
Este método permite almacenar hasta 1992 kB en un disco de alta densidad de 3½’’.
MTOOLS admite estos formatos sólo en Linux.
2m
El formato 2m fue inventado originalmente por Ciriaco
García de Celis. También emplea sectores
más grandes de lo usual para hacer caber más
datos en el disco. Sin embargo, usa el formato
estándar (18 sectores de 512 bytes cada uno) en el
primer cilindro, para hacer estos discos más
fáciles de manejar en DOS. De hecho este
método permite tener un sector de arranque de
tamaño estándar, que contiene una
descripción de cómo debería leerse el
resto del disco.
Sin embargo, lo malo de esto es que el primer cilindro puede contener menos datos que los otros. Desafortunadamente, DOS sólo puede manejar discos donde cada pista contenga la misma cantidad de datos. Así que 2m oculta el hecho de que la primera pista contenga menos datos mediante el empleo de una FAT sombreada. (Usualmente, DOS almacena la FAT en dos copias idénticas, por seguridad adicional. XDF almacena sólo una copia, y le dice a DOS que almacena dos. Así se ahorra los mismo que tomaría de espacio la segunda copia.) Esto también significa que Ud. nunca use un disco 2m para almacenar nada más que un sistema de ficheros DOS.
MTOOLS admite estos formatos sólo en Linux.
XDF
XDF es un formato de alta capacidad usada por OS/2. Puede
contener 1840 kB por disco. Esto es menor que los mejores
formatos 2m, pero su ventaja principal es que es
rápido: 600 ms por pista. Esto es más
rápido que el formato de 21 sectores, y casi tan
rápido como el formato estándar de 18
sectores. Para acceder a estos discos, asegúrese de
que MTOOLS ha sido compilado con soporte de XDF, y de que se
defina la variable use_xdf para la unidad en el
fichero de configuración. Vea la sección
Compilación de MTOOLS y ’variables
misceláneas’, para los detalles sobre
cómo hacer esto. El acceso rápido XDF
sólo está disponible para núcleos Linux
más recientes que el 1.1.34.
MTOOLS admite este formato sólo en Linux.
Cuidado / Atención distribuidores: Si MTOOLS se compila en un núcleo Linux más reciente que 1.3.34, no funcionará en un núcleo más antiguo. Sin embargo, si ha sido compilado en un núcleo más antiguo, aún se ejecutará en un núcleo más nuevo, aunque el acceso XDF será más lento. Se recomienda que los autores de una distribución sólo incluyan los binarios de MTOOLS compilados en núcleos más viejos de 1.3.34 hasta que salga el 2.0, que ya ha salido. Cuando haya salido, como es el caso ya, se pueden (y deben) distribuir los binarios de MTOOLS compilados en núcleos más nuevos. Los binarios de MTOOLS compilados en núcleos anteriores al 1.3.34 no se ejecutarán en un núcleo 2.1 ó posterior.
Códigos
de salida
Todas las órdenes de MTOOLS devuelven 0 en caso de
éxito, 1 en caso de fallo total, ó 2 en caso
de fallo parcial. Todas las órdenes de MTOOLS
realizan unas pocas comprobaciones saludables antes de
seguir, para asegurarse de que el disco es desde luego un
disco de MS-DOS (no por ejemplo un disco ext2 o minix).
Estas comprobaciones pueden rechazar discos parcialmente
corruptos, que de todas formas podrían aún ser
legibles. Para evitar estas comprobaciones, defina la
variable de entorno MTOOLS_SKIP_CHECK o la variable
correspondiente del fichero de configuración (vea la
sección variables globales).
Fallos
Un efecto colateral desafortunado al no adivinar el
dispositivo correcto (cuando se admiten múltiples
capacidades de discos) es un mensaje de error ocasional del
controlador de dispositivo. Éstos pueden ser pasados
por alto con seguridad.
El código de comprobación de la FAT se atraganta en discos de 1,72 MB mformat-eados con MTOOLS anterior a la versión 2.0.7. Defina la variable de entorno MTOOLS_FAT_COMPATIBILITY (o la variable correspondiente del fichero de configuración, ’variables globales’) para que no se realice la comprobación de la FAT.
CÓMO COMFIGURAR MTOOLS PARA SU ENTORNO
Descripción
Esta sección explica la sintaxis de los ficheros de
configuración para MTOOLS. Los ficheros de
configuración se llaman
’/etc/mtools.conf’ y
’~/.mtoolsrc’. Si la variable de
entorno MTOOLSRC está definida, su contenido
se usa como el nombre de fichero para un tercer fichero de
configuración. Estos ficheros de configuración
describen los siguientes elementos:
*
Opciones y variables de configuración globales
*
Opciones y variables por dispositivo
*
Tablas de traducción de caracteres
Localización
de los ficheros de configuración
’/etc/mtools.conf’ es el fichero de
configuración global para todo el sistema, y
’~/.mtoolsrc’ es el fichero de
configuración privado del usuario.
En algunos sistemas, el fichero de configuración se llama ’/etc/defaults/mtools.conf’ o /usr/local/etc/mtools.conf en su lugar.
Sintaxis del
fichero de configuración general
Los ficheros de configuración están
construidos a base de secciones. Cada sección empieza
con una palabra reservada que la identifica, seguida por dos
puntos. Luego vienen asignaciones de variables y opciones.
Las asignaciones de variables toman la siguiente forma:
nombre=valor
Opciones son palabras reservadas solitarias sin que las siga un signo igual ni un valor. Una sección acaba o al final del fichero o donde empiece la siguiente.
Las líneas que comiencen con un signo sostenido (#) son comentarios. Los caracteres nueva-línea son equivalentes a espacio en blanco (excepto donde acaben un comentario). El fichero de configuración es insensible a la caja tipográfica, excepto para elementos encerrados entre comillas (como nombres de ficheros).
Valores
predeterminados
Para la mayoría de las plataformas, MTOOLS contiene
valores predeterminados razonables para unidades
físicas de disquete codificados en el programa
compilado. De forma que uno usualmente no necesita
molestarse tocando el fichero de configuración, si
todo lo que uno quiere hacer con MTOOLS es acceder a las
disqueteras. Por otra parte, se necesita el fichero de
configuración si uno también quiere usar
MTOOLS para acceder a las particiones del disco duro y a los
ficheros imagen de DOSEmu.
Variables
globales
Las opciones globales se pueden poner a 1 ó a 0.
Se reconocen
las siguientes opciones globales:
MTOOLS_SKIP_CHECK
Si se pone a 1, MTOOLS no realiza la mayoría de sus comprobaciones salubres. Esto se necesita para leer algunos discos de Atari que se han construido con las ROMs antiguas, y que no serían reconocidos de otra forma.
MTOOLS_FAT_COMPATIBILITY
Si se pone a 1, MTOOLS no realiza las comprobaciones del tamaño de la FAT. Algunos discos tienen una FAT mayor de la que realmente necesitan. Éstos se rechazan si esta opción está a 0 ó no está presente.
MTOOLS_LOWER_CASE
Si se pone a 1, MTOOLS muestra todos los nombres cortos de ficheros con todas sus letras mayúsculas, en minúsculas. Esto se ha hecho para permitir un comportamiento que fuera consistente con versiones más antiguas de MTOOLS que no sabían nada de los bits de caja tipográfica.
MTOOLS_NO_VFAT
Si se pone a 1, MTOOLS no generará entradas VFAT para nombres de ficheros con letras en minúsculas y mayúsculas mezcladas, pero por otra parte nombres legales de ficheros DOS. Esto es útil cuando se trabaja con versiones de DOS que no pueden tragar los nombres largos VFAT, como con FreeDOS.
MTOOLS_DOTTED_DIR
En un directorio ancho, muestra el nombre corto con un punto en vez de espacios separando el nombre base y la extensión.
MTOOLS_NAME_NUMERIC_TAIL
Si se pone a 1 (y éste es el valor predeterminado), genera finales numéricos para todos los nombres largos (~1). Si se pone a 0, sólo genera finales numéricos cuando si no lo hiciera ocurriera una coincidencia de nombres.
MTOOLS_TWENTY_FOUR_HOUR_CLOCK
Si vale 1, usa la notación europea para los tiempos (formato de 24 horas); si no, emplea la anglosajona de UK/US (am/pm).
Ejemplo: Insertar la siguiente línea en su fichero de configuración hace que MTOOLS se pase las comprobaciones salubres:
MTOOLS_SKIP_CHECK=1
Las variables globales también se pueden definir en el entorno:
export MTOOLS_SKIP_CHECK=1
Las variables
globales de cadena se pueden poner a cualquier valor:
MTOOLS_DATE_STRING
El formato empleado para mostrar las fechas de ficheros. El valor predeterminado es "dd-mm-yyyy".
Opciones y
variables por unidad
Información general
Las opciones y valores específicas de cada unidad
pueden describirse en una sección de la unidad
correspondiente. Una sección de unidad empieza con
drive "letra-unidad" :
Luego vienen pares variable=valor y opciones.
Ésta es una muestra de una descripción de unidad:
drive a:
file="/dev/fd0" use_xdf=1
Configuración
de la geometría del disco
La información de geometría describe las
características físicas del disco. Tiene tres
propósitos:
formatear
La información de geometría se escribe en el sector de arranque del disco recién construido. Sin embargo, uno puede también describir la información de geometría en la línea de órdenes. Vea la sección de mformat para más detalles.
filtrar
En algunos sistemas Unix hay ficheros especiales de dispositivo que sólo admiten una geometría física. Por ejemplo, Ud. puede necesitar un fichero especial diferente para acceder a un disco como de alta densidad o como de baja densidad. La geometría se compara con la geometría real almacenada en el sector de arranque para asegurarse de que este fichero especial de dispositivo es capaz de leer correctamente el disco. Si la geometría no concuerda, esta entrada de unidad falla, y se intenta la siguiente entrada de unidad que tenga la misma letra de unidad. Vea la sección de múltiples descripciones para más detalles sobre cómo suministrar varias descripciones para una letra de unidad.
Si no se suministra ninguna información de geometría en el fichero de configuración, se aceptan todos los discos. En Linux (y en Sparc) existen ficheros especiales de dispositivo con geometría configurable (’/dev/fd0’, ’/dev/fd1’, etc.), y por lo tanto no se necesita (ni se tiene en cuenta) el filtrado para unidades de disco. (Mtools aún hace el filtrado en ficheros planos (imágenes de disco) en Linux: el propósito principal de esto es por motivos de comprobación, puesto que yo no tengo acceso a un Unix que necesite realmente el filtrado).
geometría inicial
La información de geometría (si está disponible) también se emplea para establecer la geometría inicial en ficheros especiales de dispositivo configurables. Esta geometría inicial se emplea para leer el sector de arranque, que contiene la geometría real. Si no se suministra ninguna información de geometría en el fichero de configuración, no se hace la configuración inicial. En Linux, esto no se necesita realmente de ninguna forma, puesto que los dispositivos configurables son capaces de auto-detectar el tipo de disco lo bastante precisamente (para la mayoría de formatos comunes) como para leer el sector de arranque.
Una información de geometría errónea puede conducir a errores muy extraños. Por eso yo recomiendo vivamente que Ud. no use la configuración de geometría a menos que realmente la necesite.
Se dispone de
las siguientes variables relacionadas con la
geometría:
cylinders
tracks |
El número de cilindros. (cylinders es la forma preferida, tracks está considerada anticuada.) | ||
heads |
El número de cabezas (lados). |
sectors
El número de sectores por pista.
Ejemplo: la siguiente sección de unidad describe una unidad de 1,44 MB:
drive a:
file="/dev/fd0H1440"
fat_bits=12
cylinders=80 heads=2 sectors=18
Se dispone de las siguientes descripciones abreviadas de geometría:
1.44m |
disco de alta densidad de 3½’’. Equivalente a: fat_bits=12 cylinders=80 heads=2 sectors=18 | ||
1.2m |
disco de alta densidad de 5¼’’. Equivalente a: fat_bits=12 cylinders=80 heads=2 sectors=15 | ||
720k |
disco de doble densidad de 3½’’. Equivalente a: fat_bits=12 cylinders=80 heads=2 sectors=9 | ||
360k |
disco de doble densidad de 5¼’’. Equivalente a: fat_bits=12 cylinders=40 heads=2 sectors=9 |
Las descripciones de formato abreviado pueden enmendarse. Por ejemplo, 360k sectors=8 describe un disco de 320 kB y es equivalente a: fat_bits=12 cylinders=40 heads=2 sectors=8
Opciones de
apertura
Por otra parte, se dispone de las siguientes opciones:
sync |
Todas las operaciones de E/S se harán síncronamente |
nodelay
El fichero o dispositivo se abre con la opción O_NDELAY. Esto se necesita en algunas arquitecturas no Linux.
exclusive
El fichero o dispositivo se abre con la opción O_EXCL. En Linux, esto asegura acceso exclusivo a la unidad de disquete. En la mayoría de otras arquitecturas, y para ficheros planos, no tiene ningún efecto en absoluto.
Variables de
unidad de propósito general
Se dispone de las siguientes variables de unidad de
propósito general:
file |
El nombre del fichero o dispositivo que contiene la imagen de disco. Esto es obligatorio. El nombre del fichero debe estar entre comillas. |
use_xdf
Si está puesto a un valor distinto de cero, mtools también intenta acceder a este disco como a un disco XDF. XDF es un formato de alta capacidad empleado por OS/2. Esto está desactivado por omisión. Vea la sección XDF para más detalles.
partition
Le dice a mtools que trate a la unidad como a un dispositivo particionado, y que emplee la partición dada. Sólo las particiones primarias están accesibles empleando este método, y están numeradas de la 1 a la 4. Para las particiones lógicas, use la variable más general offset. La variable partition está pensada para unidades desmontables como las Syquests, unidades ZIP, y discos magneto-ópticos. Aunque el DOS tradicional ve a las Syquests y discos magneto-ópticos como a ’disquetes gigantescos’ que no están particionados, OS/2 y Windows NT los tratan como discos duros, esto es, dispositivos con particiones. La opción partition también es útil con imágenes de disco de DOSEMU. No está recomendada para discos duros para los que se dispone de acceso directo a las particiones mediante el montaje.
scsi |
Cuando se pone a 1, esta opción le dice a mtools que emplee E/S SCSI cruda en vez de las llamadas estándares read/write para acceder al dispositivo. Actualmente, esto se acepta en HP/UX, Solaris y SunOS. Esto se necesita porque en algunas arquitecturas, como en SunOS o Solaris, a los medios de almacenamiento masivo de PC no se puede acceder usando las llamadas al sistema read y write, porque el S.O. espera que contengan una "etiqueta de disco" específica de Sun. |
Como el acceso crudo SCSI siempre emplea el dispositivo entero, Ud. necesita especificar además la opción "partition".
En algunas arquitecturas, como en Solaris, mtools necesita privilegios de root para ser capaz de usar la opción scsi=1. De modo que mtools debe instalarse set uid root en Solaris si quiere acceder a unidades Zip o Jaz. Mtools emplea sus privilegios de superusuario para abrir el dispositivo, y para hacer las llamadas de E/S SCSI. Además, los privilegios de root sólo se usan para unidades descritas en un fichero de configuración general como pueda ser ’/usr/local/etc/mtools.conf’, y no para aquéllas descritas en ’~/.mtoolsrc’ o ’$MTOOLSRC’.
privileged
Cuando se pone a 1, esto le dice a mtools que use sus privilegios set-uid y set-gid para abrir la unidad dada. Esta opción sólo es válida para unidades descritas en ficheros de configuración general (como ’/usr/local/etc/mtools.conf’, no ’~/.mtoolsrc’ ni ’$MTOOLSRC’). Obviamente, esta opción tampoco vale para nada si mtools no se instala setuid o setgid. Esta opción viene implícita si ’scsi=1’, pero de nuevo sólo para unidades descritas en ficheros de configuración generales. Esta opción privileged también puede ponerse explícitamente a 0, para decirle a mtools que no emplee sus privilegios para una unidad dada incluso si se ha definido scsi=1.
Mtools sólo necesita instalarse setuid si Ud. emplea las variables de unidad privileged o scsi. Si Ud. no usa estas opciones, mtools funciona perfectamente bien incluso cuando no se instale setuid root.
vold |
Instruye a mtools para que interprete el nombre de dispositivo como un identificador vold en vez de como un nombre de fichero. El identificador vold se traduce a un nombre de fichero real usando las funciones media_findname() y media_oldaliases() de la biblioteca volmgt. Esta opción sólo está disponible si mtools fue configurado con la opción --enable-new-vold antes de la compilación. |
nolock
Instruye a mtools para que no use candados en esta unidad. Esto se necesita en sistemas con semánticas de candados que fallan a menudo. Sin embargo, habilitar esto hace a la operación menos segura en casos donde varios usuarios pueden acceder a la misma unidad a la vez.
offset
Describe dónde en el fichero empieza el sistema de ficheros MS-DOS. Esto es útil para particiones lógicas en imágenes del disco de DOSEMU y para discos RAM de Atari. Por omisión, es cero, significando que el sistema de ficheros empieza justo en el principio del dispositivo o fichero.
fat_bits
El número de bits de la FAT. Este número puede ser 12 ó 16. Esto se necesita muy raras veces, puesto que casi siempre puede deducirse de información en el sector de arranque. Por el contrario, describir el número de bits de la FAT puede en realidad ser perjudicial si lo da mal. Sólo debería emplear esta variable si mtools obtiene el número auto-detectado de bits de la FAT de manera errónea, o si quiere formatear con mformat un disco con un número extraño de bits de FAT.
precmd
En algunas variantes de Solaris, es necesario llamar a ’volcheck -v’ antes de abrir un dispositivo de disquete, para que el sistema se dé cuenta de que desde luego hay un disco en la unidad. precmd="volcheck -v" en la cláusula de la unidad establece el comportamiento deseado.
Sólo la variable file es obligatoria. Los otros parámetros pueden dejarse sin poner. En ese caso se emplea un valor predeterminado o auto-detectado.
Suministrar
varias descripciones de una unidad
Es posible suministrar múltiples descripciones para
una unidad. En ese caso, las descripciones se prueban en
orden hasta que se encuentre una que encaje. Las
descripciones pueden fallar por varias razones:
1. |
porque la geometría no es apropiada, |
|||
2. |
porque no hay ningún disco en la unidad, |
|||
3. |
o por otros problemas. |
Las definiciones múltiples son útiles cuando se usen dispositivos físicos que son sólo capaces de admitir una sola geometría de disco. Ejemplo:
drive a:
file="/dev/fd0H1440" 1.44m
drive a: file="/dev/fd0H720" 720k
Esto le dice a mtools que use /dev/fd0H1440 para discos 1.44m (de alta densidad) y /dev/fd0H720 para discos 720k (de doble densidad). En Linux, esta característica no se necesita realmente, puesto que el dispositivo /dev/fd0 es capaz de manejar cualquier geometría.
Uno puede también emplear descripciones múltiples de unidad para acceder a ambas unidades físicas a través de una letra de unidad:
drive z:
file="/dev/fd0"
drive z: file="/dev/fd1"
Con esta descripción, mdir z: accede a la primera unidad física si contiene un disco. Si la primera unidad no contiene un disco, mtools comprueba la segunda unidad.
Cuando se empleen ficheros de configuración múltiples, las descripciones de unidad en los ficheros que se analicen en último lugar tienen preferencia sobre las de la misma unidad en ficheros analizados anteriormente. Para evitar esto, emplee las palabras reservadas drive+ o +drive en vez de drive. La primera añade una descripción al final de la lista (esto es, se probará en último lugar), y la primera la añade al principio de la lista.
Tablas de
traducción de conjuntos de caracteres
Si Ud. vive en los EE.UU., en Europa Occidental o en
Australia, puede omitir esta sección.
Por
qué se necesitan las tablas de traducción de
conjuntos de caracteres
DOS emplea un mapa de códigos de caracteres distinto
de Unix. Los caracteres de 7 bits aún tienen el mismo
significado, sólo los caracteres con el octavo bit a
uno se ven afectados. Para empeorar las cosas, hay
disponibles varias tablas de conversión dependiendo
del país donde Ud. esté. La apariencia de los
caracteres se define mediante páginas de
código. Estas páginas de código no son
las mismas para todos los países. Por ejemplo,
algunas páginas de código no contienen letras
mayúsculas acentuadas. Por otra parte, algunas
páginas de código contienen caracteres que no
existen en Unix, como ciertos caracteres para dibujar
líneas o consonantes acentuadas empleadas en algunos
países de Europa Oriental. Esto afecta a dos cosas,
relativas a nombres de ficheros:
letras mayúsculas
En nombres cortos, sólo se permiten letras mayúsculas, aparte de dígitos. Esto también cuenta para caracteres acentuados. Por ejemplo, en una página de código que no contenga letras mayúsculas acentuadas, las letras minúsculas acentuadas se transforman en sus correspondientes sin acentuar.
nombres de fichero largos
Micro$oft al fin ha hecho algo con la cabeza y emplea un mapa más estándar para los nombres de fichero largos. Usan Unicode, que es básicamente una versión de 32 bits de ASCII. Sus primeros 256 caracteres son idénticos a ISO-Latin1, que se emplea en Unix. Así, la página de código también afecta a la correspondencia entre los códigos empleados en nombres largos y los usados en nombres cortos.
Mtools considera los nombres de fichero introducidos en la línea de órdenes como que tienen el mapa de Unix, y traduce los caracteres para obtener los nombres cortos. Por omisión, se emplea el código de página 850 con el mapa suizo mayúsculas/minúsculas. Yo escogí esta página de código porque su conjunto de caracteres existentes es el que más se parece al de Unix. Ítem más, esta página de código cubre la mayoría de caracteres en uso en los EE.UU., Australia y Europa Occidental. Sin embargo, es aún posible escoger un mapa diferente. Hay dos métodos: la variable country y tablas explícitas.
Configuración
usando Country
La variable COUNTRY se recomienda para gente que
también tiene acceso a los ficheros del sistema
MS-DOS y documentación. Si Ud. no tiene acceso a
éstos, yo le sugeriría que mejor usara las
tablas explícitas en vez de esto.
Sintaxis:
COUNTRY="país[,[pág-cod], fichero-país]"
Esto le dice a mtools que emplee una tabla de traducción de Unix a DOS que concuerde con país y una tabla de minúsculas a mayúsculas para país y que emplee el fichero fichero-país para obtener la tabla de minúsculas a mayúsculas. El código del país es muy a menudo el prefijo telefónico del país. Refiérase a la página de ayuda de DOS en "country" para más detalles. Los parámetros pág-cod y el fichero-país son opcionales. Por favor no teclee los corchetes, están ahí sólo para decirle qué parámetros son opcionales. El fichero fichero-país se suministra con MS-DOS, y normalmente se llama ’COUNTRY.SYS’, y se guarda en el directorio ’C:\DOS’. En la mayoría de los casos, no lo necesita, puesto que las tablas de traducción más comunes están compiladas en mtools. Así que no se preocupe si Ud. está en una caja (computador) con sólo Unix, que no trae este fichero.
Si no se da pág-cod, se emplea una página de código predeterminada por país. Si no se da el parámetro fichero-país, se emplean valores predeterminados codificados en el programa compilado para la tabla minúsculas a mayúsculas. Esto es útil para sistemas Unix distintos de Linux, que pueden no tener disponible el fichero ’COUNTRY.SYS’ a mano.
Las tablas de Unix a DOS no están contenidas en el fichero ’COUNTRY.SYS’, y entonces mtools siempre emplea valores predeterminados codificados en el programa compilado para éstas. De forma que sólo se admite una cantidad limitada de páginas de código. Si su página de código preferida falta, o si Ud. conoce el nombre del fichero de Windows95 que contiene este mapa, por favor, mándeme unas líneas a Alain.Knaff [AT] poboxes.com.
La variable COUNTRY también puede definirse empleando el entorno.
Configuración
usando tablas de traducción explícitas
Las tablas de traducción pueden describirse en el
mismo fichero de configuración. Se necesitan dos
tablas: primero la tabla de DOS a Unix, y luego la de
minúsculas a mayúsculas. Una tabla de DOS a
Unix empieza con la palabra reservada tounix,
seguida por dos puntos y 128 números hexadecimales.
Una tabla de minúsculas a mayúsculas comienza
con la palabra reservada fucase, seguida por dos
puntos y 128 números exadecimales.
Las tablas sólo muestran las traducciones para caracteres cuyos códigos son mayores que 128, porque la traducción de los códigos menores es trivial.
Ejemplo:
tounix:
0xc7 0xfc 0xe9 0xe2 0xe4 0xe0 0xe5 0xe7
0xea 0xeb 0xe8 0xef 0xee 0xec 0xc4 0xc5
0xc9 0xe6 0xc6 0xf4 0xf6 0xf2 0xfb 0xf9
0xff 0xd6 0xdc 0xf8 0xa3 0xd8 0xd7 0x5f
0xe1 0xed 0xf3 0xfa 0xf1 0xd1 0xaa 0xba
0xbf 0xae 0xac 0xbd 0xbc 0xa1 0xab 0xbb
0x5f 0x5f 0x5f 0x5f 0x5f 0xc1 0xc2 0xc0
0xa9 0x5f 0x5f 0x5f 0x5f 0xa2 0xa5 0xac
0x5f 0x5f 0x5f 0x5f 0x5f 0x5f 0xe3 0xc3
0x5f 0x5f 0x5f 0x5f 0x5f 0x5f 0x5f 0xa4
0xf0 0xd0 0xc9 0xcb 0xc8 0x69 0xcd 0xce
0xcf 0x5f 0x5f 0x5f 0x5f 0x7c 0x49 0x5f
0xd3 0xdf 0xd4 0xd2 0xf5 0xd5 0xb5 0xfe
0xde 0xda 0xd9 0xfd 0xdd 0xde 0xaf 0xb4
0xad 0xb1 0x5f 0xbe 0xb6 0xa7 0xf7 0xb8
0xb0 0xa8 0xb7 0xb9 0xb3 0xb2 0x5f 0x5f
fucase:
0x80 0x9a 0x90 0xb6 0x8e 0xb7 0x8f 0x80
0xd2 0xd3 0xd4 0xd8 0xd7 0xde 0x8e 0x8f
0x90 0x92 0x92 0xe2 0x99 0xe3 0xea 0xeb
0x59 0x99 0x9a 0x9d 0x9c 0x9d 0x9e 0x9f
0xb5 0xd6 0xe0 0xe9 0xa5 0xa5 0xa6 0xa7
0xa8 0xa9 0xaa 0xab 0xac 0xad 0xae 0xaf
0xb0 0xb1 0xb2 0xb3 0xb4 0xb5 0xb6 0xb7
0xb8 0xb9 0xba 0xbb 0xbc 0xbd 0xbe 0xbf
0xc0 0xc1 0xc2 0xc3 0xc4 0xc5 0xc7 0xc7
0xc8 0xc9 0xca 0xcb 0xcc 0xcd 0xce 0xcf
0xd1 0xd1 0xd2 0xd3 0xd4 0x49 0xd6 0xd7
0xd8 0xd9 0xda 0xdb 0xdc 0xdd 0xde 0xdf
0xe0 0xe1 0xe2 0xe3 0xe5 0xe5 0xe6 0xe8
0xe8 0xe9 0xea 0xeb 0xed 0xed 0xee 0xef
0xf0 0xf1 0xf2 0xf3 0xf4 0xf5 0xf6 0xf7
0xf8 0xf9 0xfa 0xfb 0xfc 0xfd 0xfe 0xff
La primera tabla hace corresponder códigos de caracteres DOS a códigos de caracteres Unix. Por ejemplo, el carácter DOS de número 129. Éste es una u con diéresis: ’ü’. Para traducirla a Unix, miramos al carácter número 1 en la primera tabla (1 = 129 - 128). Éste es 0xfc. (Ojo, la numeración comienza en 0.) La segunda tabla hace corresponder letras minúsculas DOS con letras mayúsculas DOS. La misma letra u con diéresis, ’ü’ se corresponde con el carácter 0x9a que es una u con diéresis mayúscula, esto es ’Ü’, en DOS.
Caracteres
Unicode mayores que 256
Si un nombre existente MS-DOS contiene caracteres Unicode
mayores que 256, éstos se traducen a subrayados o a
caracteres que se parezcan visualmente. Por ejemplo, las
consonantes acentuadas se traducen a sus correspondientes
sin acento. Esta traducción se utiliza para mdir y
para los nombres de ficheros Unix generados por mcopy. Linux
admite Unicode también, pero desafortunadamente muy
pocas aplicaciones lo admiten como para andar
preocupándome con esto en mtools. Lo más
importante, xterm aún no puede mostrar Unicode. Si
hay suficiente demanda, podría incluir soporte para
Unicode en los nombres de ficheros Unix también.
Cuidadín: Cuando se borran ficheros con mtools, el subrayado concuerda con todos los caracteres que no puedan representarse en Unix. ¡Tenga cuidadín con mdel!
Localización
de los ficheros de configuración y orden en que se
analizan
Los ficheros de configuración se analizan en el orden
siguiente:
1. |
valores predeterminados codificados en el programa compilado | ||
2. |
’/etc/mtools.conf’ o ’/usr/local/etc/mtools.conf’, según versiones de Unix, distribuciones de Linux, o como se escoja al instalar. | ||
3. |
’/etc/mtools’ Esto sólo es por compatibilidad hacia atrás, y sólo se analiza si ’mtools.conf’ no existe. | ||
4. |
’~/.mtoolsrc’. | ||
5. |
’$MTOOLSRC’ (el fichero apuntado por la variable de entorno MTOOLSRC) |
Las opciones descritas en el último fichero tienen preferencia sobre las descritas en los ficheros anteriores. Las unidades definidas en ficheros anteriores persisten si no se sustituyen o redefinen en los últimos. Por ejemplo, las unidades A y B pueden definirse en ’/etc/mtools.conf’ y las unidades C y D pueden definirse en ’~/.mtoolsrc’ . Sin embargo, si ’~/.mtoolsrc’ también describe la unidad A, esta nueva descripción sustituiría a la de la unidad A de ’/etc/mtools.conf’ en vez de añadirla a él. Si Ud. quiere añadir una nueva descripción de una unidad ya descrita en un fichero anterior, necesita emplear la palabra reservada +drive o drive+.
Compatibilidad
hacia atrás con la sintaxis antigua del fichero de
configuración
La sintaxis descrita aquí es nueva para la
versión mtools-3.0. La sintaxis antigua
orientada a la línea aún se admite. Cada
línea que comience con una sola letra se considera
como una descripción de unidad al estilo antiguo. Las
secciones de unidad al viejo y al nuevo estilo pueden
mezclarse en el mismo fichero de configuración, para
que la actualización sea más fácil. De
todas formas el soporte para la vieja sintaxis se
eliminará alguna vez, y para desaconsejar su uso, a
propósito omito aquí su
descripción.
LISTA DE ÓRDENES
Esta sección describe las órdenes disponibles de mtools, y los parámetros que acepta cada una. Las opciones que son comunes a todas las órdenes de mtools no se describen aquí, vea ’argumentos’ para su descripción.
Mattrib
Mattrib se emplea para cambiar los atributos de
ficheros MS-DOS. Tiene la siguiente sintaxis:
mattrib [-a|+a] [-h|+h] [-r|+r] [-s|+s] ficheromsdos [ ficheromsdos ... ]
Mattrib añade atributos a un ficheros MS-DOS (con el operador ’+’) o los quita (con el operador ’-’).
Mattrib admite los siguientes atributos:
a |
Bit de archivo. Empleado por algunos programas de copias de respaldo para indicar un nuevo fichero. | ||
r |
Bit de lectura exclusiva. Empleado para indicar un fichero de solo lectura. Los ficheros con este bit activo no pueden borrarse con DEL ni modificarse. | ||
s |
Bit de sistema. Empleado por MS-DOS para indicar un fichero del sistema operativo. | ||
h |
Bit de ocultación. Empleado para ocultar ficheros de DIR. |
Mbadblocks
La orden mbadblocks se emplea para
escudriñar un disquete MS-DOS y marcar sus bloques
malos sin usar como malos. Emplea la sintaxis siguiente:
mbadblocks unidad:
Mbadblocks escudriña un disquete MS-DOS buscando bloques malos. Todos los bloques malos sin usar se marcan como tales en la FAT. Esto está pensado para emplearse justo tras mformat. No está pensado para salvar discos malos.
Fallos
Mbadblocks debería (pero aún no lo hace
:-( ) también intentar salvar los bloques malos que
estén en uso leyéndolos repetidamente, y luego
marcarlos como malos.
Mcd
La orden mcd se emplea para cambiar el directorio
de trabajo de mtools en el disco de MS-DOS. Emplea la
sintaxis siguiente:
mcd [dirmsdos]
Sin argumentos, mcd informa de la unidad y directorio de trabajo en curso. De otra forma, mcd cambia la unidad en curso y el directorio de trabajo en curso relativos a un sistema de ficheros MS-DOS.
La variable de entorno MCWD puede emplearse para localizar el fichero donde se almacena la información sobre la unidad y directorio de trabajo en curso. El valor predeterminado es ’$HOME/.mcwd’. La información en este fichero se pasa por alto si el fichero es más antiguo de 6 horas.
Mcd devuelve 0 en caso de éxito ó 1 en caso de fallo.
Al contrario de las versiones de MS-DOS de CD, mcd puede emplearse para cambiar a otro dispositivo. Puede ser interesante borrar los ficheros viejos ’.mcwd’ al salir de la cuenta.
Mcopy
La orden mcopy se emplea para copiar ficheros
MS-DOS a o desde Unix. Emplea la sintaxis siguiente:
mcopy
[-tnvmoOsSrRA] ficherofuente ficherodestino
mcopy [-tnvmoOsSrRA] ficherofuente [
ficherofuente... ] directoriodestino
mcopy [-tnvm] ficherofuenteMSDOS
Mcopy copia el fichero especificado al fichero nombrado, o copia múltiples ficheros al directorio nombrado. Fuente y destino pueden ser ficheros de MS-DOS o de Unix.
El empleo de una letra designando una unidad en los ficheros MS-DOS, ’a:’ por ejemplo, determina la dirección de la transferencia. Una falta de designación de unidad implica un fichero Unix cuyo camino empiece en el directorio en curso. Si se especifica una letra de unidad fuente sin nombre de fichero adjunto (p.ej., mcopy a: .), se copian todos los ficheros de esa unidad.
Si sólo se suministra un solo parámetro fuente de MS-DOS (p.ej., "mcopy a:fuu.exe"), se supone un destino que es el directorio en curso (’.’).
Un nombre de fichero ’-’ significa la entrada estándar o la salida estándar, dependiendo de su posición en la línea de órdenes.
Mcopy acepta las opciones siguientes en la línea de órdenes:
Q |
Cuando se copian con mcopy múltiples ficheros, abandona tan pronto como falle una copia (por ejemplo debido a falta de espacio de almacenamiento en el disco destino). | ||
t |
Transferencia de ficheros de texto. Mcopy traduce los pares retorno de carro/salto de línea a saltos de línea. | ||
n |
Sin confirmación cuando se sobreescriban ficheros Unix. Mcopy no avisa al usuario cuando se sobreescribe un fichero Unix existente. Para desactivar la confirmación para ficheros DOS, emplee -o. | ||
m |
Preserva el tiempo de modificación del fichero. Si el fichero destino ya existe, y la opción -n no está en efecto, mcopy pregunta si sobreescribir el fichero o renombrar el nuevo fichero (vea ’coincidencia de nombres’) para más detalles). |
Fallos
Al contrario que en MS-DOS, el operador ’+’
(añadir) de MS-DOS no se admite. Sin embargo, Ud.
puede emplear mtype para producir el mismo
efecto:
mtype
a:fichero1 a:fichero2 a:fichero3 > ficheroUnix
mtype a:fichero1 a:fichero2 a:fichero3 | mcopy -
a:ficheroMsdos
Mdel
La orden mdel se emplea para borrar un fichero
MS-DOS. Su sintaxis es:
mdel [-v] ficheromsdos [ ficheromsdos ... ]
Mdel borra ficheros en un sistema de ficheros MS-DOS.
Mdel pide verificación antes de borrar un fichero de lectura exclusiva.
Mdeltree
La orden mdeltree se emplea para borrar un
directorio MS-DOS. Su sintaxis es:
mdeltree [-v] directoriomsdos [directoriomsdos...]
Mdeltree borra un directorio, y todos los ficheros y subdirectorios que contenga, de un sistema de ficheros MS-DOS. Es un error que el directorio a borrar no exista.
Mdir
La orden mdir se emplea para mostrar un directorio
MS-DOS. Su sintaxis es:
mdir [-w] directoriomsdos
mdir [-f] [-w] [-a] ficheromsdos [ ficheromsdos...]
Mdir muestra los contenidos de un directorio MS-DOS.
Mdir admite las siguientes opciones en la línea de órdenes:
w |
Salida ancha. Con esta opción, mdir imprime los nombres de ficheros a lo largo de la página sin mostrar el tamaño de los ficheros ni sus fechas de creación. | ||
a |
También lista los ficheros ocultos. | ||
f |
Rápido. No intenta averiguar el espacio libre. En discos grandes, encontrar la cantidad de espacio libre toma una cantidad apreciable de tiempo, puesto que debe leerse y analizarse la FAT entera. La opción -f pasa de largo este paso. Esta opción no se necesita en sistemas de ficheros FAT32, que almacenan el tamaño explícitamente. |
Ocurre un error si un componente del camino no es un directorio.
Mformat
La orden mformat se emplea para añadir un
sistema de ficheros MS-DOS a un disquete formateado a bajo
nivel. Su sintaxis es:
mformat [-t cilindros] [-h cabezas] [-s sectores] [-l etiqueta_volumen] [-F] [-I fsVersión] [-S tamañocódigo] [-2 sectores_en_pista_0] [-M tamaño_sector_software] [-a] [-X] [-C] [-H sectores_ocultos] [-r sectores_raíz] [-B sector_arranque] [-k] unidad:
Mformat añade un sistema de ficheros MS-DOS mínimo (sector de arranque, FAT, y directorio raíz) a un disquete que ya ha sido formateado por un formateo Unix de bajo nivel.
Se admiten las siguientes opciones: (Las opciones S, 2, 1 y M pueden no existir si esta copia de mtools se ha compilado sin la opción USE_2M.)
t |
El número de cilindros. | ||
h |
El número de cabezas (lados). | ||
s |
El número de sectores por pista. Si se ha dado la opción 2m, el número de sectores de 512 B equivalentes en pistas genéricas (esto es, no la cabeza 0, pista 0). Si la opción 2m no se ha dado, el número de sectores físicos por pista (que puede ser mayor de 512 bytes). | ||
l |
Una etiqueta de volumen opcional. | ||
S |
El tamaño de código. El tamaño del sector es 2 elevado a (tamaño-de-código + 7). | ||
2 |
Formato 2m. El parámetro de esta opción describe el número de sectores en la pista 0, cabeza 0. Esta opción se recomienda para sectores mayores de lo normal. | ||
1 |
No emplear un formato 2m, incluso si la geometría actual del disco es una geometría 2m. | ||
M |
Tamaño de sector de software. Este parámetro describe el tamaño de sector en bytes empleado por el sistema de ficheros MS-DOS. Por omisión es el tamaño de sector físico. | ||
a |
Si se da esta opción, se genera un número de serie al estilo de Atari. Atari almacena su número de serie en la etiqueta OEM. | ||
X |
Formatea el disco como un disco XDF. Vea la sección XDF para más detalles. El disco tiene primero que formatearse a bajo nivel empleándose la utilidad xdfcopy incluida en el paquete fdutils. | ||
C |
Crea el fichero de imagen de disco para instalar el sistema de ficheros MS-DOS en él. Obviamente, esto no vale para nada en dispositivos físicos como disquetes y particiones de discos duros. | ||
H |
Número de sectores ocultos. Este parámetro es útil para formatear particiones de discos duros, que no están alineadas en bordes de pista (i.e., la primera cabeza del primer sector no pertenece a la partición, pero contiene una tabla de particiones). En ese caso el número de sectores ocultos es en general el número de sectores por cilindro. Esto está sin probar. | ||
n |
Número de serie. | ||
F |
Formatea la partición como FAT32 (experimental). | ||
I |
Establece el id. de fsVersión (versión del sistema de ficheros) cuando formatea una unidad con FAT32. Para averiguar esto, ejecute minfo en una unidad FAT32 existente, y escríbame por correo contándome esto, de forma que yo pueda incluir el valor correcto en futuras versiones de mtools. | ||
c |
Establece el tamaño de un racimo (cluster) (en sectores). Si este tamaño generara una FAT demasiado grande para su número de bits, mtools automáticamente incrementaría el tamaño de racimo, hasta que la FAT fuera lo bastante pequeña. | ||
r |
Establece el tamaño del directorio raíz (en sectores). Sólo aplicable a FATs de 12 y 16 bits. | ||
B |
Emplea el sector de arranque almacenado en el fichero o dispositivo dado, en vez de usar el suyo propio. Sólo los campos de geometría se actualizan para concordar con los parámetros de los discos destino. | ||
k |
Deja el sector de arranque existente tanto como puede. Sólo los campos de geometría se actualizan para concordar con los parámetros de los discos destino. |
Para formatear un disquete a una densidad distinta de la predeterminada, Ud. debe suministrar (por lo menos) aquellos parámetros en la línea de órdenes que sean diferentes de los predeterminados.
Mformat devuelve 0 en caso de éxito ó 1 si falla.
No graba información sobre bloques malos en la FAT, emplee mkmanifest para eso.
Mkmanifest
La orden mkmanifest se emplea para crear un
guión del shell (lista de empaquetar) para restaurar
nombres de ficheros Unix. Su sintaxis es:
mkmanifest [ ficheros ]
Mkmanifest crea un guión del shell que ayuda en la restauración de nombres de ficheros Unix que resultaron alterados por las restricciones de los nombres de ficheros MS-DOS. Los nombres de ficheros MS-DOS están restringidos a un nombre de 8 caracteres, extensiones de 3 caracteres, letras sólo en mayúsculas, no nombres de dispositivos y no caracteres ilegales.
El programa mkmanifest es compatible con los métodos empleados en pcomm, arc, y mtools para cambiar nombres de ficheros Unix perfectamente buenos de forma que encajen en las restricciones de MS-DOS. Esta orden sólo es útil si el sistema destino que leerá el disquete no puede manejar nombres largos de vfat.
Ejemplo
Ud. quiere copiar los siguientes ficheros Unix a un disquete
MS-DOS (empleando la orden mcopy).
nombre_muy_largo
masia.2.puntos
ilegal:
bien.c
prn.dev
Capital
Mcopy convierte los nombres a:
nombre_m
masiax2.pun
ilegalx
bien.c
xrn.dev
capital
La orden:
mkmanifest nombre_muy_largo masia.2.puntos ilegal: bien.c prn.dev Capital >manifiesto
produciría lo siguiente:
mv nombre_m
nombre_muy_largo
mv masiax2.pun masia.2.puntos
mv ilegalx ilegal:
mv xrn.dev prn.dev
mv capital Capital
Observe que "bien.c" no requirió ninguna conversión, por lo tanto no apareció en la salida.
Suponga que he copiado estos ficheros desde el disquete a otro sistema Unix, y que ahora quiero los ficheros de vuelta con sus nombres originales. Si el fichero "manifiesto" (la salida capturada antes) se envió junto con esos ficheros, se podría emplear para convertir los nombres de ficheros.
Fallos
Los nombres cortos generados por mkmanifest siguen
el viejo convenio (de mtools-2.0.7) y no el de Windows 95 y
mtools-3.0.
Minfo
La orden minfo muestra los parámetros de un
sistema de ficheros DOS, como el número de sectores,
cabezas y cilindros. También muestra una línea
de orden mformat que puede emplearse para crear un sistema
de ficheros DOS similar en otro medio de almacenamiento
masivo. Sin embargo, esto no funciona con medios de
almacenamiento 2m o Xdf, ni con sistemas de ficheros DOS
1.0. La sintaxis es: minfo unidad:
Minfo admite la siguiente opción:
v |
Muestra un volcado en exadecimal del sector de arranque, además de la otra información. |
Mlabel
La orden mlabel añade una etiqueta de
volumen a un disco. Su sintaxis es: mlabel
[-vcs] unidad:[nueva_etiqueta]
Mlabel muestra la etiqueta de volumen actual, si existe. Si no se da nueva_etiqueta, y si tampoco se han dado las opciones c ni s, se le pide al usuario una nueva etiqueta de volumen. Para borrar una etiqueta de volumen existente, pulse simplemente Intro cuando se le pregunte.
Se toma un cuidado razonable para crear una etiqueta de volumen válida en MS-DOS. Si se especifica una etiqueta inválida, mlabel cambia la etiqueta (y muestra la nueva etiqueta si está activo el modo prolijo). Mlabel devuelve 0 en caso de éxito ó 1 en caso de fallo.
Mlabel admite las siguientes opciones:
c |
Borra una etiqueta existente, sin preguntar al usuario. | ||
s |
Muestra la etiqueta existente, sin preguntar al usuario. |
Mmd
La orden mmd se emplea para construir un
subdirectorio de MS-DOS. Su sintaxis es:
mmd [-voOsSrRA] directoriomsdos [ directoriomsdos... ]
Mmd construye un nuevo directorio en un sistema de ficheros MS-DOS. Ocurre un error si el directorio ya existe.
Mmount
La orden mmount se emplea para montar un disco de
MS-DOS. Sólo está disponible en Linux, puesto
que sólo es útil si el núcleo del S.O.
permite configurar la geometría del disco. Su
sintaxis es:
mmount unidadmsdos [args-de-mount]
Mmount lee el sector de arranque de un disco MS-DOS, configura la geometría de la unidad, y finalmente lo monta pasándole args-de-mount a mount. Si no se dan argumentos para mount, se emplea el nombre del dispositivo. Si el disco está protegido contra escritura, automáticamente se monta como de lectura exclusiva.
Mmove
La orden mmove se emplea para mover o renombrar un
fichero o subdirectorio existente de MS-DOS. Su sintaxis
es:
mmove [-voOsSrRA] ficherofuente ficherodestino
mmove [-voOsSrRA] ficherofuente [ ficherofuente... ] directoriodestino
Mmove mueve o renombra un fichero o subdirectorio existente de MS-DOS. Al contrario de la versión de MS-DOS de MOVE, mmove es capaz de mover subdirectorios.
Mpartition
La orden mpartition se emplea para crear sistemas
de ficheros MS-DOS como particiones. Está pensado
para emplearse en sistemas no Linux, esto es, sistemas donde
no están disponibles ni fdisk ni acceso fácil
a los dispositivos SCSI. Esta orden sólo funciona en
unidades donde se ha definido la variable de
partición, partition.
mpartition -p unidad
mpartition -r unidad
mpartition -I unidad
mpartition -a unidad
mpartition -d unidad
mpartition -c [-s sectores] [-h cabezas] [-t cilindros] [-v [-T tipo] [-b comienzo] [-l longitud] [-f]
Mpartition admite las siguientes operaciones:
p |
Imprime una línea de órdenes para recrear la partición para la unidad. No se imprime nada si la partición para la unidad no se ha definido, o si se ha detectado una inconsistencia. Si se pone también la opción prolija (-v), imprime la tabla de partición actual. | ||
r |
Borra la partición descrita por unidad. | ||
I |
Inicia la tabla de particiones, y borra todas las particiones. | ||
c |
Crea la partición descrita por unidad. | ||
a |
"Activa" la partición; esto es, la hace de arranque. Sólo una partición puede ser de arranque cada vez. | ||
d |
"Desactiva" la partición; esto es, la hace de no arranque. |
Si no se da ninguna operación, se muestran las definiciones actuales.
Para las
creaciones de particiones, se dispone de las siguientes
opciones:
s sectores
El número de sectores por pista de la partición (que también es el número de sectores por pista para la unidad entera).
h cabezas
El número de cabezas de la partición (que también es el de la unidad completa). De forma predeterminada, la información de geometría (número de sectores y cabezas) se adivina a partir de entradas de una tabla de partición vecina, o a partir del tamaño.
t cilindros
El número de cilindros de la partición (no el número de cilindros de la unidad entera).
b comienzo
El sitio de comienzo de la partición, expresado en sectores. Si no se da, mpartition deja que la partición comience al principio del disco (partición número 1), o inmediatamente tras el final de la partición anterior.
l longitud
El tamaño (longitud) de la partición, expresado en sectores. Si el final no se da, mpartition se figura el tamaño a partir del número de sectores, cabezas y cilindros. Si éstos tampoco se dan, da a la partición el tamaño máximo posible, considerando el tamaño del disco y el comienzo de la próxima partición.
La siguiente opción está disponible para todas las operaciones que modifiquen la tabla de particiones:
f |
Usualmente, antes de escribir cualquier cambio en la partición, mpartition realiza ciertas comprobaciones de consistencia, como solapamientos y alineamiento correcto de la partición. Si cualquiera de estas comprobaciones falla, la tabla de partición no se cambia. La opción -f le permite no efectuar estas operaciones de salvaguarda. |
La siguiente opción está disponible para todas las operaciones:
v |
Junto con -p imprime la tabla de particiones como es ahora (si no hay una operación de cambio), o como es después de ser modificada. | ||
vv |
Si la opción de prolijidad se da dos veces, mpartition mostrará un volcado hexadecimal de la tabla de particiones cuando se lea y cuando se escriba en el dispositivo. |
Mrd
La orden mrd se emplea para borrar un subdirectorio
de MS-DOS. Su sintaxis es:
mrd [-v] directoriomsdos [ directoriomsdos... ]
Mrd borra un directorio de un sistema de ficheros MS-DOS. Ocurre un error si el directorio no existe o no está vacío.
Mren
La orden mren se emplea para renombrar o mover un
fichero o subdirectorio existente de MS-DOS. Su sintaxis
es:
mren [-voOsSrRA] ficherofuente ficherodestino
Mren renombra un fichero existente en un sistema de ficheros MS-DOS.
En modo prolijo, Mren muestra el nuevo nombre de fichero si el nombre suministrado es inválido.
Si se emplea la primera sintaxis (sólo un ficherofuente), y si el nombre destino no contiene barras inclinadas ni dos puntos, el fichero (o subdirectorio) se renombra en el mismo directorio, en vez de moverse al directorio actual de mcd como sería el caso con mmove. Al contrario de la versión MS-DOS de REN, mren puede emplearse para renombrar directorios.
Mtoolstest
La orden mtoolstest se emplea para comprobar los
ficheros de configuración de mtools. Para llamarla,
simplemente teclee mtoolstest sin ningún
argumento. Mtoolstest lee los ficheros de
configuración de mtools, e imprime la
configuración acumulada de los ficheros de
configuración de mtools en stdout (la salida
estándar). La salida se puede emplear como un mismo
fichero de configuración (aunque puede que Ud. quiera
quitar cláusulas redundantes). Ud. puede emplear este
programa para convertir ficheros de configuración en
el estilo antiguo al nuevo.
Mtype
La orden mtype se emplea para mostrar los
contenidos de un fichero MS-DOS. Su sintaxis es:
mtype [-ts] ficheromsdos [ ficheromsdos... ]
Mtype muestra el fichero MS-DOS especificado en la pantalla, o en la salida estándar.
Además de las opciones normales, Mtype permite las siguientes:
t |
Visión de fichero de texto. Mtype traduce los pares retorno de carro/salto de línea de entrada a saltos de línea. | ||
s |
Mtype pone a cero el bit más alto de los datos. |
La orden mcd puede emplearse para establecer el dispositivo y el directorio de trabajo actuales (relativos a MS-DOS), si no el valor predeterminado es A:/.
Mtype devuelve 0 en caso de éxito, 1 en caso de fallo total, ó 2 en caso de fallo parcial.
Al contrario de la versión MS-DOS de TYPE, mtype permite varios argumentos.
Mzip
La orden mzip se emplea para dar órdenes
específicas de discos ZIP en Solaris o HP/UX. Su
sintaxis es:
mzip [-epqrwx]
Mzip permite las siguientes opciones en la línea de órdenes:
e |
Saca el disco. | ||
f |
Fuerza la eyección aun si el disco está montado (debe darse en adición a -e). | ||
r |
Protege el disco contra escritura. | ||
w |
Quita la protección de escritura. | ||
p |
Protege contra escritura con contraseña. | ||
x |
Protege con contraseña. | ||
q |
Interroga el estado. |
Para eliminar la contraseña, establézcalo a uno de los modos sin contraseña -r o -w: mzip entonces le pedirá la contraseña, y desbloqueará el disco. Si Ud. ha olvidado la contraseña, puede eliminarla formateando el disco a bajo nivel (mediante el programa de configuración de la BIOS de su adaptador SCSI).
El disco ZipTools suministrado con la unidad también está protegido con contraseña. En DOS o en un Mac, esta contraseña se quita automáticamente una vez que el ZipTools se ha instalado. De varios artículos publicados en la USENET, aprendí que la contraseña para el disco de herramientas es APlaceForYourStuff (’’Un sitio para sus cosas’’). Mzip conoce esta contraseña, y la prueba en primer lugar, antes de pedirle una contraseña. Así que mzip -w z: desbloquea el disco de herramientas. El disco de herramientas está formateado de una forma especial de forma que sea utilizable en un PC y en un McIntosh. En un PC, el sistema de ficheros de Mac aparece como un fichero oculto llamado ’partishn.mac’. Ud. puede borrarlo para recuperar los 50 megabytes de espacio que toma el sistema de ficheros Mac.
Xcopy
El guión del shell xcopy se emplea para
copiar recursivamente un directorio a otro. Su sintaxis
es:
xcopy directoriofuente directoriodestino
Si el directoriodestino no existe, se crea. Si existe, los ficheros de directoriofuente se copian en él, y no se crea ningún subdirectorio llamado directoriofuente, al revés de con cp -rf.
Fallos
Esta orden es un poco una colección de cosas que
funcionan no se sabe cómo. Una implementación
correcta tendría que llevar a reescribir varias
partes significativas de mtools, pero desafortunadamente yo
no tengo ahora mismo tiempo para eso. Lo peor de esta
implementación es que es ineficiente en algunas
arquitecturas (varias llamadas sucesivas a mtools, lo que
deja inútil el sistema de ’caché’
de mtools).
OPCIONES DE COMPILACIÓN ESPECÍFICAS DE LA ARQUITECTURA
Para compilar
mtools, primero llame a ./configure antes de
make. Además de las opciones normales de
autoconfigure, se dispone de dos opciones
específicas de la arquitectura.
./configure --enable-xdf
./configure --disable-xdf
Activa el soporte para discos XDF. Esto está activo de forma predeterminada. Vea la sección XDF para más detalles.
./configure --enable-vold
./configure --disable-vold
Activa el soporte para vold en Solaris. Cuando se emplea en conjunción con vold, mtools utilizará diferentes ficheros especiales de dispositivo para el acceso directo.
./configure --enable-new-vold
./configure --disable-new-vold
Activa el soporte nuevo para vold en Solaris. Se supone que esto funciona mejor que el soporte antiguo.
TRANSPORTE DE MTOOS A ARQUITECTURAS QUE AÚN NO ESTÁN SOPORTADAS
Este capítulo sólo es interesante para aquéllos que quieran transportar mtools a una arquitectura que aún no esté soportada. Para la mayoría de los sistemas comunes, las unidades predeterminadas ya están definidas. Si quiere añadir unidades predeterminadas para un sistema todavía no soportado, ejecute config.guess, para ver qué identificación emplea autoconf para ese sistema. Esta identificación es de la forma cpu-vendedor-so (por ejemplo, sparc-sun-sunos). Las partes cpu y so se pasan al compilador como opciones del preprocesador. La parte del SO se pasa al compilador de tres formas.
1. |
El nombre completo del so, con puntos reemplazados por subrayados. sco3.2v2 daría sco3_2v2. | ||
2. |
El nombre base del so. Sco3.2v2 daría Sco. | ||
3. |
El nombre base del so más su versión mayor. Sco3.2v2 daría Sco3. |
Las tres versiones se pasan, si son diferentes.
Para definir los dispositivos, emplee las entradas para los sistemas que ya están presentes, como plantillas. En general, tienen la forma siguiente:
#if (defined
(mi_cpu) && defined(mi_so))
#define predefined_devices /* dispositivos predefinidos */
struct device devices[] = {
{ "/dev/primera_unidad",
’letra_unidad’, descripción_unidad},
...
{ "/dev/última_unidad",
’letra_unidad’, descripción_unidad}
}
#define INIT_NOOP
#endif
"/dev/primera_unidad" es el nombre del dispositivo o fichero imagen que representa a la unidad. Letra_unidad es una letra de la ’a’ a la ’z’ que da acceso a la unidad. Descripción_unidad describe el tipo de unidad:
ED312 |
disco de 3½’’ de densidad extra (2,88 MB). |
|||
HD312 |
disco de 3½’’ de alta densidad |
|||
DD312 |
disco de 3½’’ de doble densidad |
|||
HD514 |
disco de 5¼’’ de alta densidad |
|||
DD514 |
disco de 5¼’’ de doble densidad |
DDsmall
disco de 5¼’’ de 8 sectores de doble densidad
SS514 |
disco de 5¼’’ de una cara de doble densidad |
SSsmall
disco de 5¼’’ de una cara de 8 sectores de doble densidad
GENFD |
unidad de disquete genérica (FAT de 12 bits) | ||
GENHD |
disco duro genérico (FAT de 16 bits) | ||
GEN |
dispositivo genérico (todos los parámetros concuerdan) |
ZIPJAZ(flags)
unidad ZIP genérica que emplea acceso normal. Esto usa la partición 4. Flags son cualesquiera opciones especiales que se pasen a open.
RZIPJAZ(flags)
unidad ZIP genérica que emplea acceso crudo SCSI. Esto usa la partición 4. Flags son cualesquiera opciones especiales que se pasen a open.
Las entradas pueden describirse en más detalle:
bits_fat,args_open,cilindros,cabezas,sectores,DEF_ARG
o, si Ud. necesita describir un desplazamiento (el sistema de ficheros no empieza al principio)
bits_fat,args_open,cilindros,cabezas,sectores,desplazamiento,DEF_ARG
bits_fat
es uno de 12, 16 ó 0. 0 significa que el dispositivo acepta ambos tipos de FAT.
args_open
puede incluir argumentos a open como O_NDELAY u O_RDONLY, que pueden ser necesarios para abrir el dispositivo. 0 significa que no se necesita ningún argumento especial a open.
cilindros,cabezas,sectores
describen la geometría del disco. Si cilindros es 0, los parámetros de cabezas y sectores no se tienen en cuenta, y la unidad acepta cualquier geometría.
desplazamiento
se emplea si el sistema de ficheros DOS no empieza al principio del dispositivo o fichero imagen. Esto es útil sobre todo en los discos RAM de Atari (que contienen su controlador de dispositivo al comienzo del fichero) o para las imágenes del emulador de DOS DOSEmu (que pueden representar un dispositivo particionado).
La definición de los valores predeterminados en el fichero de dispositivos debería hacerse sólo si estos mismos dispositivos se encuentran en un gran número de computadores anfitriones de este tipo. En ese caso, por favor ¿podría notificarme sus nuevas definiciones para que yo pueda incluirlas en la siguiente distribución? Para ficheros puramente locales, yo recomiendo que Ud. use los ficheros de configuración /etc/mtools.conf y ~/.mtoolsrc.
Sin embargo, los ficheros de dispositivo también permiten suministrar las rutinas de establecimiento de la geometría. Éstas son necesarias si Ud. quiere acceder a discos de alta capacidad.
Deberían suministrarse dos rutinas:
1. |
Lectura de los parámetros en curso |
static inline int get_parameters(int fd,
struct generic_floppy_struct *floppy) |
Ésta prueba la geometría actualmente configurada, y la devuelve en la estructura generic_floppy_struct (que también debe ser declarada). Fd es un descriptor de fichero abierto para el dispositivo. Esta rutina debería devolver 1 si la prueba falla, y 0 en otro caso.
2. |
Establecimiento de nuevos parámetros |
static
inline int set_parameters(int fd,
struct generic_floppy_struct *floppy,
struct stat *buf)
Ésta configura la geometría contenida en floppy en el descriptor de fichero fd. Buf es el resultado de una llamada a stat (ya rellena). Ésta debería devolver 1 si la nueva geometría no puede configurarse, y 0 en otro caso.
También
deberían darse un cierto número de macros del
preprocesador:
TRACKS(floppy)
se refiere al campo track (pista) de la estructura floppy
HEADS(floppy)
se refiere al campo heads (cabezas) en la estructura floppy
SECTORS(floppy)
se refiere al campo de sectores por pista en la struct floppy
SECTORS_PER_DISK(floppy)
se refiere al campo de sectores por disco en la estructura floppy (si es aplicable; si no, se deja sin definir)
BLOCK_MAJOR
número mayor del dispositivo floppy, cuando se ve como un dispositivo de bloques
CHAR_MAJOR
número mayor del dispositivo floppy, cuando se ve como un dispositivo de caracteres (también conocido como dispositivo "crudo", usado por fsck) (deje esto sin definir, si su S.O. no tiene dispositivos crudos)
Para los formatos de verdadera alta capacidad (XDF, 2m, etc.), no hay aún una interfaz limpia y documentada.
VÉASE TAMBIÉN
mattrib mbadblocks mcd mcopy mdel mdeltree mdir mformat mkmanifest mlabel mmd mmount mmove mrd mread mren mtoolstest mtype mwrite