[successivo] [precedente] [inizio] [fine] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico] [volume] [parte]
Mtools (1) è una raccolta di comandi utili per eseguire facilmente operazioni all'interno di file system Dos-FAT (comprendendo anche la gestione dei nomi lunghi); soprattutto, senza la necessità di montarli e smontarli.
Infatti, non si tratta di uno strumento indispensabile; tuttavia, dal momento che il formato Dos-FAT, data la sua diffusione, è molto comodo quando si vogliono utilizzare dischetti per trasferire file da un sistema all'altro, Mtools dà un aiuto in più, riducendo il numero di operazioni da compiere per trasferire file con un dischetto del genere.
Mtools è composto da un solo programma eseguibile, mtools, da un file di configurazione generale, /etc/mtools.conf
, eventualmente da file di configurazione personalizzati, ~/.mtoolsrc
e da una serie di collegamenti simbolici che puntano all'unico eseguibile. Così, a seconda del nome con cui viene chiamato il programma mtools, questo si comporta in modo differente.
I comandi di Mtools, ovvero i collegamenti simbolici che puntano al programma mtools, cercano di emulare il comportamento dei comandi analoghi del Dos:
le unità a disco vengono identificate attraverso una lettera seguita da due punti (A:
, B:
,...), in base alla configurazione;
quando si fa riferimento a file e directory contenuti nel file system globale (il file system principale e quelli che su di esso sono stati montati), si usa la notazione consueta negli ambienti Unix;
quando si fa riferimento a file e directory contenuti nei dischi Dos, per separare le directory si possono utilizzare sia le barre oblique normali (/), sia quelle inverse (\), badando però che la shell non tenti di interpretarle diversamente da ciò che si intende;
quando si fa riferimento a file e directory contenuti nei dischi Dos, l'asterisco (*) da solo ricopre il ruolo del modello *.* del Dos e bisogna fare in modo che non sia interpretato dalla shell;
le opzioni sono prefissate con un trattino (-), al contrario del Dos, in cui si utilizza la barra obliqua normale (/).
La configurazione di Mtools avviene fondamentalmente attraverso i file /etc/mtools.conf
e ~/.mtoolsrc
; il primo rappresenta la configurazione generale, il secondo quella personalizzata. Il contenuto dei due file segue le stesse regole, tuttavia è importante considerare che le direttive contenute nella configurazione personalizzata tendono a sostituirsi a quelle generali.
Questi file di configurazione possono contenere commenti, introdotti dal simbolo # e terminati dalla fine della riga; inoltre, le righe vuote sono ignorate.
Le direttive sono suddivise in sezioni, identificate da una sorta di etichetta terminata da due punti verticali (:), che rappresentano ognuna un'unità a dischi, secondo lo standard Dos. Alcune direttive hanno però un effetto globale, indipendente dalle sezioni. Queste ultime hanno la forma di assegnamenti di variabili e, in effetti, la loro definizione potrebbe essere fatta anche al di fuori dei file di configurazione, attraverso l'assegnamento e l'esportazione di variabili globali con lo stesso nome.
Le direttive globali sono espresse in forma di assegnamento, dove, nella maggior parte dei casi, il valore assegnato può essere zero o uno, mentre negli altri si tratta di stringhe. Evidentemente, quando l'assegnamento riguarda solo valori binari, si ha di fronte una variabile booleana che rappresenta l'attivazione (1) o la disattivazione (0) di qualcosa.
MTOOLS_SKIP_CHECK={1|0}
Se attivato, fa sì che Mtools ignori una serie di controlli sul file system Dos, così da permettere l'utilizzo di dischetti formattati in un modo che altrimenti risulterebbe inammissibile.
MTOOLS_FAT_COMPATIBILITY={1|0}
Se attivato, fa in modo che Mtools ignori la dimensione della FAT.
MTOOLS_LOWER_CASE={1|0}
Se attivato, fa in modo che i nomi corti (8.3) vengano visualizzati sempre in minuscolo.
MTOOLS_NO_VFAT={1|0}
Se attivato, fa in modo che Mtools si limiti a creare file utilizzando nomi corti, senza l'estensione VFAT. Ciò può essere utile quando si dispone di un Dos incapace di utilizzare i nomi lunghi.
MTOOLS_TWENTY_FOUR_HOUR_CLOCK={1|0}
Se attivato, fa sì che la visualizzazione di informazioni orarie avvenga utilizzando la notazione europea di 24 ore.
MTOOLS_DATE_STRING=stringa_di_formato
Permette di definire il formato di rappresentazione delle date. Il valore predefinito di questa direttiva è la stringa dd-mm-yyyy.
A parte la configurazione globale di Mtools, è importante definire le varie unità a dischi che si intendono utilizzare e la relativa configurazione. Si apre una sezione riferita a un'unità particolare nel modo seguente:
drive lettera:
Per esempio, drive a:, apre una sezione riferita alla prima unità a dischi secondo il Dos. Il minimo per questa sezione, sarà la definizione del dispositivo corrispondente a tale unità virtuale, come mostrato nell'esempio seguente:
drive a: file="/dev/fd0"
sync
Se viene utilizzata questa direttiva, le operazioni di lettura e scrittura sull'unità avvengono in modo sincrono.
exclusive
Fa in modo che l'accesso all'unità sia esclusivo.
file="file"
Definisce il file di dispositivo corrispondente all'unità a dischi, oppure il file-immagine corrispondente a un disco ideale. Come si può intuire, questa informazione è indispensabile.
partition=n_partizione_primaria
Se il file a cui si fa riferimento con la direttiva file, è il dispositivo di un disco suddiviso in partizioni (lo stesso discorso vale nel caso di un file-immagine), si può indicare la partizione attraverso un numero in questa direttiva (sono valide solo le partizioni primarie).
Questa direttiva è utile solo quando non si può utilizzare un file di dispositivo che faccia riferimento, da solo, alla partizione desiderata.
offset=scostamento
Quando il file a cui si fa riferimento, come dispositivo o come immagine di un'unità a dischi, contiene l'unità desiderata a partire da una certa posizione, diversa dall'inizio, è possibile utilizzare questa direttiva. Ciò potrebbe essere utile per accedere a una partizione estesa attraverso un dispositivo che faccia riferimento all'unità intera, oppure quando si utilizzano dischi con un formato particolare.
Il punto di inizio, lo scostamento, è normalmente zero, per indicare l'inizio del file corrispondente; altrimenti indica il numero di byte da saltare.
La configurazione standard di Mtools, che si trova nel file /etc/mtools.conf
standard delle distribuzioni GNU/Linux, è utile a comprendere in che modo vadano utilizzate le direttive più importanti.
Per quanto riguarda l'utilizzo comune di Mtools, cioè quello riferito esclusivamente ai dischetti, tale configurazione standard è già sufficiente.
# floppy drive a: file="/dev/fd0" exclusive drive b: file="/dev/fd1" exclusive # DOSEMU hdimage drive n: file="/var/lib/dosemu/hdimage.first" partition=1 offset=128 MTOOLS_LOWER_CASE=1
Nell'esempio si mostra anche l'unità N:
, riferita a una partizione contenuta nel file /var/lib/dosemu/hdimage
, a partire dalla posizione 128. Questo file è solitamente l'immagine del disco C:
per DOSEMU (capitolo 343).(2)
Con il comando mtoolstest, usato senza argomenti, è possibile verificare la configurazione. Quello che si ottiene attraverso lo standard output è una sorta di file mtools.conf
dettagliato di tutta la configurazione attiva, compresi i valori predefiniti.
In base alla configurazione, Mtools utilizza file-immagine o file di dispositivo determinati. Evidentemente, la proprietà e i permessi su questi regolano l'accessibilità agli utenti. È probabile che si desideri concedere, a tutti o a un gruppo di utenti, l'accesso in lettura e scrittura alle unità a dischetti. Per farlo, occorre intervenire sui file di dispositivo /dev/fd*
.
Nel caso si intenda concedere a chiunque l'accesso indiscriminato a tali unità, è sufficiente attribuire tutti i permessi di lettura e di scrittura.
#
chmod a+rw /dev/fd*
Se si vuole concedere solo a un gruppo di utenti la possibilità di accedere ai dischetti, occorre fare in modo che tali dispositivi appartengano al gruppo floppy e che a questo gruppo siano aggregati tali utenti.
#
chgrp floppy /dev/fd*
#
chmod g+rw /dev/fd*
#
gpasswd -a tizio floppy
#
gpasswd -a caio floppy
#
gpasswd -a ... floppy
Se non si dispone di gpasswd, probabilmente perché non si hanno le password shadow, basta agire manualmente nel file /etc/group
.
Come accennato, i comandi di Mtools emulano una serie di comandi Dos. Per facilitare le cose all'utente, i comandi Mtools hanno gli stessi nomi di quelli Dos, con l'aggiunta di una lettera «m» iniziale. Da questo l'origine del nome, dove la «m» sta per «MS-Dos».
mattrib [+a|-a] [+h|-h] [+r|-r] [+s|-s] file_dos...
mattrib serve a modificare gli attributi dei file Dos indicati come argomenti. L'esempio seguente, toglie l'attributo di sola lettura a tutti i file contenuti nel dischetto A:
(si usano gli apici singoli per evitare che la shell interpreti l'asterisco).
$
mattrib -r 'a:/*'
mbadblock unità_dos
mbadblock scandisce un'unità Dos alla ricerca di settori difettosi, marcandoli come tali nella FAT. L'esempio seguente verifica il dischetto A:
.
$
mbadblock a:
mcd [directory_dos]
mcd permette di modificare o conoscere la directory corrente delle unità Dos. L'esempio seguente cambia la directory corrente nel dischetto A:
.
$
mcd a:/ciao
mcopy [opzioni] origine... [destinazione]
mcopy è il comando più importante di tutta la serie degli Mtools. Consente di copiare file da e verso unità Dos, oltre che da e verso il file system Unix. Questo significa che l'origine e la destinazione possono essere indifferentemente file o directory Dos o Unix, permettendo quindi anche la copia da unità Dos a unità Dos, così come da file Unix a file Unix.
Quando la destinazione viene omessa, si intende fare riferimento implicitamente alla directory corrente nel file system Unix.
Una caratteristica importante di mcopy sta nella possibilità di convertire automaticamente il testo in modo che i codici di interruzione di riga siano compatibili con il Dos (<CR><LF>), oppure con i sistemi Unix (<LF>).
-t
Considera trattarsi della copia di file di testo e, quando questa è fatta verso un'unità Dos, converte i codici di interruzione di riga in modo che siano compatibili con il Dos, mentre quando la destinazione è il file system Unix, converte il file in modo che sia compatibile con lo standard delle terminazioni di riga Unix.
$
mcopy lettera a:
Copia il file lettera
che si trova nella directory corrente del file system Unix, nella directory corrente dell'unità A:
.
$
mcopy /tmp/prove/* a:/prove
Copia tutto il contenuto della directory /tmp/prove/
della directory \PROVE\
dell'unità A:
.
$
mcopy a: /tmp
Copia il contenuto della directory corrente dell'unità A:
nella directory /tmp/
.
mdel file_dos...
mdel cancella i file Dos indicati come argomento. L'esempio seguente cancella il file A:\PROVA.DOC
.
$
mdel a:/prova.doc
mdeltree directory_dos...
mdeltree cancella le directory Dos indicate come argomento. L'esempio seguente cancella la directory A:\LETTERE\
.
$
mdeltree a:/lettere
mdir [opzioni] percorso_dos...
mdir elenca i file e il contenuto delle directory indicate come argomenti.
-w
Emette un elenco di soli nomi di file e directory, in modo da visualizzarne meglio un gruppo numeroso,
-a
Mostra anche i file nascosti (hidden).
$
mdir a:
Emette l'elenco del contenuto della directory corrente dell'unità A:
.
$
mdir 'a:/*.com'
Emette l'elenco dei file che terminano con l'estensione .COM
, contenuti nella directory radice dell'unità A:
. Gli apici servono per evitare che la shell tenti di interpretare in qualche modo l'asterisco.
mmd directory_dos...
mmd crea le directory Dos indicate come argomento. L'esempio seguente crea la directory A:\LETTERE\
.
$
mmd a:/lettere
mmove origine_dos... destinazione_dos
mmove sposta o rinomina uno o più file e directory. Se l'origine è composta da più file o directory, la destinazione deve essere una directory. L'esempio seguente sposta tutti i file A:\*.DOC
nella directory A:\LETTERE\
.
$
mmove 'a:/*.doc' a:/lettere
mrd directory_dos...
mrd elimina le directory indicate come argomento, purché siano vuote. L'esempio seguente elimina la directory A:\LETTERE\
.
$
mrd a:/lettere
mren origine_dos... destinazione_dos
mren rinomina o sposta uno o più file e directory. Se l'origine è composta da più file o directory, la destinazione deve essere una directory. L'esempio seguente rinomina il file A:\PIPPO.DOC
in A:\PIPPO.TXT
.
$
mren a:/pippo.doc a:/pippo.txt
mtype [opzioni] file_dos...
mtype emette attraverso lo standard output il contenuto dei file indicati come argomento.
-t
Considera trattarsi della lettura di file di testo, pertanto converte i codici di interruzione di riga Dos in modo che siano compatibili con lo standard Unix (da <CR><LF> a <LF>).
$
mtype -t a:/lettere.txt
Visualizza il contenuto del file A:\LETTERA.TXT
convertendo opportunamente i codici di interruzione di riga.
Alain Knaff, Utilities to access DOS disks in UNIX
mtools.info
mtools(1)
daniele @ swlibero.org
2) Il valore corretto per lo scostamento da utilizzare quando si vuole accedere alle immagini di DOSEMU, dipende dalla versione di questo emulatore, dal momento che nel tempo, il formato del file è cambiato varie volte.
Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome mtools.html
[successivo] [precedente] [inizio] [fine] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico]