MTools: dischetti MS-DOS in Linux

di C.Merlano

  Per utilizzare i floppy disk in Linux e' necessario montarli con il comando MOUNT e prima di spegnere il PC bisogna anche ricordarsi di smontarli... Ecco cosa bisogna scrivere per montare un dischetto formattato per MSDOS: 

# mount -t msdos /dev/NOMEDRIVE /NOMEDIRECTORY

dove NOMEDIRECTORY e' il nome della directory dove si vuole montare il floppy (poi bastera' andare in essa per operare sul file system del dischetto) e NOMEDRIVE e' il nome del drive associato al dischetto (in genere fd0). 
Prima di estrarre il dischetto dal drive e' necessario smontare il file system con il comando 

# umount /dev/NOMEDRIVE

La cosa si potrebbe semplificare molto aggiungendo la seguente riga al file /etc/fstab

/dev/NOMEDRIVE     /NOMEDIRECTORY     msdos     defaults,noauto

In questo modo basta utilizzare il comando 

# mount /NOMEDIRECTORY

per montare con successo il nostro floppy. 

Il comando MOUNT puo' essere usato solo da root e pur essendo possibile permettere anche agli utenti di usarlo, la cosa puo' risultare pericolosa, basti pensare che con lo stesso comando e' possibile montare e smontare anche i file system dell'hard disk! 



Mtools e' un pacchetto di applicazioni che permette di manipolare solo file system MS-DOS (e Win95) senza bisogno di montarli e smontarli. 

C'e' da dire subito che una persona abituata all'uso della linea di comando del DOS sara' facilitato nell'uso di questo pacchetto, mentre gli utenti di Windows95 potrebbero storcere un po' il naso pensando di dovere impartire comandi dal prompt. 

Comunque vediamo un po' dove si trova il programma (l'RPM e' per Red Hat): 

http://mtools.ltnb.lu/mtools-3.9.1.tar.gz
ftp://www.tux.org/pub/knaff/mtools/mtools-3.9.1.tar.gz
http://metalab.unc.edu/pub/Linux/.../redhat/contrib/i386/mtools-3.8-1.i386.rpm

L'installazione e' semplice ma bisogna abituarsi alla linea di comando... :-) 

0) Bisogna essere super-utente (root). 

1) Copiare il file mtools-3.9.1.tar.gz in una directory temporanea: 
# cp mtools-3.9.1.tar.gz /tmp
e recarsi nella directory medesima. 
L'utente di Red Hat o di SuSe che dunque usa gli RPM deve soltanto dare il comando
# rpm -ivh mtools-3.8-1.i386.rpm
e andare al passo 4.

2) Scompattare il file: 
# gzip -dc mtools-3.9.1.tar.gz | tar -xvf -
e entrare nella directory /mtools-3.9.1

3) Dare i comandi 
# ./configure
# make

4) Potrebbe essere necessario modificare il file /etc/mtools.conf che appare nella forma 

# # Linux floppy drives
# drive a: file="/dev/fd0" exclusive
# drive b: file="/dev/fd1" exclusive

# # First SCSI hard disk partition
# drive c: file="/dev/sda1"

# # First IDE hard disk partition
# drive c: file="/dev/hda1"
....
....
mtools_lower_case=1
Bisogna togliere il simbolo # dalle linee che ci interessano. Se ad esempio, come spesso accade, il floppy in Windows9X e' denominato a:, dovremo togliere lo # dalla seconda riga. Se vogliamo accedere anche all'hard disk IDE denominato c: (la partizione principale di Windows) toglieremo anche lo # dalla nona riga 
# drive c: file="/dev/hda1"
Esiste anche un file /etc/mtools che pero' serve solo in assenza del file /etc/mtools.conf ed e' presente per motivi di compatibilita' con le vecchie versioni di MTools. Si puo' inoltre creare un file .mtoolsrc nella propria home directory per avere configurazioni diverse per i vari utenti. 

5) Inserire un dischetto dos nel drive e digitare 
# mdir a:
Se tutto e' andato bene vedremo la lista dei file contenuti nel dischetto... 

In questo modo pero' i comandi di MTOOLS possono essere usati solo da root. Per consentirne l'uso anche agli utenti bisogna modificare il file /etc/group (o /etc/groups) che in genere appare nella forma 

root::0:root
bin::1:root,bin,daemon
daemon::2:root,bin,daemon
sys::3:root,bin,adm
adm::4:root,adm,daemon
tty::5:
disk::6:root,adm
lp::7:lp
mem::8:
kmem::9:
wheel::10:root
floppy::11:root
mail::12:mail
news::13:news
uucp::14:uucp
man::15:man
users::100:games
nogroup::-2:
Correggendo la linea del gruppo floppy nel modo seguente 

floppy::11:root,pincopallino

si pernette anche all'utente pincopallino di usare MTOOLS per i floppy disk. 



Infine vorrei fare qualche esempio di utilizzo dei comandi: 

# mcopy nomefile a:                 copia il file nomefile nel dischetto 
# mcopy -t a:fileDiTesto /tmp  copia il file fileDiTesto nella directory /tmp di Linux 
# mdir a:                                     mostra il contenuto del dischetto 
# mdel a:\nomefile                   cancella il file nomefile contenuto nel dischetto 
# mmd a:nomedir                     crea la directory nomedir nel dischetto
# mcd a:/nomedir                     porta nella directory \nomedir del dischetto 

Dopo avere usato mcd, il comando mdir senza argomento mostrera' il contenuto della directory a:\nomedir, quindi MTOOLS "ricorda dove si trova". Inoltre risulta del tutto indifferente l'uso di \ (tipico del DOS), di / (usato invece in Linux) o di : solamente. 
Si noti infine l'uso di -t per i file di testo, necessario per la differenza tra i caratteri di ritorno carrello nel DOS e in Linux. 

Per saperne di piu': 

# man mtools
http://mtools.ltnb.lu