Această pagină de manual descrie fișierele de
configurare pentru mtools. Acestea se numesc
`/etc/mtools.conf' și
`~/.mtoolsrc'. Dacă este definită
variabila de mediu MTOOLSRC, conținutul
acesteia este utilizat ca nume de fișier pentru un al treilea
fișier de configurare. Aceste fișiere de configurare descriu
următoarele elemente:
- *
Fanioane și variabile de configurare globală
- *
Fanioane și variabile per unitate
Locația fișierelor de configurare
`/etc/mtools.conf' este fișierul de
configurare la nivel de sistem, iar `~/.mtoolsrc'
este fișierul de configurare privat al utilizatorului.
Pe unele sisteme, fișierul de configurare la nivel de
sistem se numește `/etc/default/mtools.conf'
în schimb.
Fișierele de configurare sunt alcătuite din
secțiuni. Fiecare secțiune începe cu un cuvânt
cheie care identifică secțiunea, urmat de două puncte.
Urmează apoi atribuirile de variabile și fanioanele.
Atribuțiile variabilelor au următoarea formă:
nume=valoare
Fanioanele sunt cuvinte cheie singulare fără semnul
egal și fără o valoare care să le urmeze. O
secțiune se termină fie la sfârșitul
fișierului, fie acolo unde începe următoarea
secțiune.
Liniile care încep cu un diez (#)
sunt comentarii. Caracterele de linie nouă sunt echivalente cu
spațiile albe (cu excepția cazului în care
încheie un comentariu). Fișierul de configurare nu ține
cont de majuscule și minuscule, cu excepția elementelor
între ghilimele (cum ar fi numele de fișier).
Pentru majoritatea platformelor, mtools conține valori
implicite rezonabile compilate pentru unitățile de
dischetă fizice. Astfel, de obicei, nu este nevoie să
vă preocupați de fișierul de configurare, dacă
tot ceea ce doriți să faceți cu mtools este să
accesați unitățile de dischetă. Pe de
altă parte, fișierul de configurare este necesar dacă
doriți, de asemenea, să utilizați mtools pentru a
accesa partițiile de pe discul dur și fișierele imagine
DOSEMU.
Variabile globale
Valorile globale pot fi fixate la 1 sau la 0.
Sunt recunoscute următoarele variabie globale:
- MTOOLS_SKIP_CHECK
- Dacă aceasta este stabilită la 1, mtools sare peste
majoritatea verificărilor de conformitate. Acest lucru este necesar
pentru a citi unele discuri Atari care au fost realizate cu ROM-urile
anterioare și care nu ar fi recunoscute altfel.
- MTOOLS_FAT_COMPATIBILITY
- Dacă aceasta este stabilită la 1, mtools sare peste
verificările privind dimensiunea FAT. Unele discuri au un FAT mai
mare decât este necesar. Acestea sunt respinse dacă nu este
stabilită această valoare.
- MTOOLS_LOWER_CASE
- Dacă aceasta este stabilită la 1, mtools
afișează toate numele de fișiere scurte cu majuscule
ca fiind minuscule. Acest lucru a fost făcut pentru a permite un
comportament care este în concordanță cu versiunile
mai vechi ale mtools care nu cunoșteau biții de
majuscule.
- MTOOLS_NO_VFAT
- Dacă aceasta este stabilită la 1, mtools nu va genera
intrări VFAT pentru nume de fișiere cu minuscule și
majuscule amestecate, dar în rest nume de fișiere DOS
legale. Acest lucru este util atunci când se lucrează cu
versiuni DOS care nu pot înțelege numele lungi VFAT, cum ar
fi FreeDOS.
- MTOOLS_DOTTED_DIR
- Într-o listă largă, afișează numele
scurt cu un punct în loc de spații care separă numele
de bază și extensia.
- MTOOLS_NAME_NUMERIC_TAIL
- Dacă aceasta este stabilită la unu (valoarea
implicită), generează cozi numerice pentru toate numele
lungi (~1). Dacă este stabilită la zero, se generează
cozi numerice numai dacă, în caz contrar, s-ar fi produs un
conflict.
- MTOOLS_TWENTY_FOUR_HOUR_CLOCK
- Dacă este stabilită la 1, se utilizează
notația europeană pentru ore (ceas de douăzeci
și patru de ore), în caz contrar se utilizează
notația britanică/americană (am/pm).
- MTOOLS_LOCK_TIMEOUT
- Cât timp, în secunde, trebuie să aștepte
pentru ca un dispozitiv blocat să devină liber. Valoarea
implicită este 30.
Exemplu: Inserarea următoarei linii în
fișierul de configurare îi indică lui mtools să
sară peste verificările de conformitate::
MTOOLS_SKIP_CHECK=1
Variabilele globale pot fi, de asemenea, stabilite prin
intermediul mediului:
export MTOOLS_SKIP_CHECK=1
Variabilele globale de tip șir de caractere pot fi
stabilite la orice valoare:
- MTOOLS_DATE_STRING
- Formatul utilizat pentru imprimarea datelor fișierelor. În
mod implicit, este dd-mm-yyyy.
Fanioane și variabile per unitate.PP
Informații generale
Fanioanele și valorile pentru fiecare unitate pot fi
descrise într-o secțiune a unității. O
secțiune de unitate începe cu unitatea
„literă-unitate” :
Urmează apoi perechile variabilă-valoare și
fanioanele.
Acesta este un exemplu de descriere a unității:
drive a: file="/dev/fd0" use_xdf=1
Informații privind locația
Pentru fiecare unitate, trebuie să descrieți unde
sunt stocate fizic datele sale („image file” (fișier
imagine), „psyhical device” (dispozitiv fizic),
„partition” (partiție), „offset”
(poziția)).
- file
- Numele fișierului sau al dispozitivului care conține
imaginea discului. Acest lucru este obligatoriu. Numele fișierului
trebuie să fie inclus între ghilimele.
- partition
- Îi indică lui mtools să trateze unitatea ca pe un
dispozitiv partiționat și să utilizeze
partiția dată. Numai partițiile primare sunt
accesibile folosind această metodă, iar acestea sunt
numerotate de la 1 la 4. Pentru partițiile logice, utilizați
variabila mai generală offset. Variabila
partition este destinată mediilor
detașabile, cum ar fi discurile Syquest, unitățile
ZIP și discurile magneto-optice. Deși DOS-ul
tradițional vede discurile Syquest și discurile
magneto-optice ca pe niște dischete `giant floppy
disks' care nu sunt partiționate, OS/2 și Windows NT
le tratează ca pe niște discuri dure, adică
dispozitive partiționate. Fanionul
partition este util și pentru imaginile de
discuri dure (hdimages) DOSEMU. Nu este recomandat pentru discurile dure
pentru care accesul direct la partiții este disponibil prin
montare.
- offset
- Descrie locul din fișier în care începe sistemul de
fișiere MS-DOS. Acest lucru este util pentru partițiile
logice în imagini de discuri dure (hdimages) DOSEMU și
pentru discurile RAM ATARI. În mod implicit, valoarea este zero,
ceea ce înseamnă că sistemul de fișiere
începe chiar la începutul dispozitivului sau al
fișierului.
Informațiile despre geometrie descriu caracteristicile
fizice ale discului. Are trei scopuri:
- formatting(formatarea)
- Informațiile despre geometrie sunt scrise în sectorul de
pornire al noului disc. Cu toate acestea, puteți, de asemenea,
să descrieți informațiile despre geometrie în
linia de comandă. Consultați secțiunea mformat,
pentru detalii.
- filtering(filtrarea)
- Pe unele Unix-uri există noduri de dispozitiv care acceptă
doar o singură geometrie fizică. De exemplu, este posibil
să aveți nevoie de un nod diferit pentru a accesa un disc ca
fiind de densitate mare sau de densitate mică. Geometria este
comparată cu geometria reală stocată pe sectorul de
pornire pentru a se asigura că acest nod de dispozitiv poate citi
corect discul. În cazul în care geometria nu corespunde,
această intrare de unitate eșuează și se
încearcă următoarea intrare de unitate care
poartă aceeași literă de unitate. A se vedea
secțiunea Descrieri multiple pentru mai multe detalii privind
furnizarea mai multor descrieri pentru o singură literă de
unitate.
- Dacă în fișierul de configurare nu sunt furnizate
informații despre geometrie, sunt acceptate toate discurile. Pe
Linux (și pe SPARC) există noduri de dispozitiv cu geometrie
configurabilă (`/dev/fd0',
`/dev/fd1' etc.) etc.) și, prin urmare,
filtrarea nu este necesară (și este ignorată) pentru
unitățile de disc. (Mtools face în continuare
filtrarea pe fișiere simple (imagini de disc) în Linux:
acest lucru este destinat în principal pentru scopuri de testare,
deoarece nu am acces la un Unix care ar avea nevoie de fapt de
filtrare).
- Dacă nu aveți nevoie de filtrare, dar doriți
totuși o geometrie implicită pentru mformatting,
puteți dezactiva filtrarea cu ajutorul fanionului
mformat_only.
- Dacă doriți filtrare, trebuie să furnizați
fanionul filter. Dacă furnizați o
geometrie, trebuie să furnizați unul dintre cele două
fanioane.
- geometria inițială
- Pe dispozitivele care acceptă acest lucru (de obicei, dispozitivele
de dischetă), informațiile despre geometrie sunt, de
asemenea, utilizate pentru a stabili geometria inițială.
Această geometrie inițială este aplicată
în timpul citirii sectorului de pornire, care conține
geometria reală. Dacă în fișierul de
configurare nu se furnizează informații despre geometrie sau
dacă se furnizează fanionul
mformat_only, nu se efectuează nicio
configurare inițială.
- Pe Linux, geometria inițială nu este cu adevărat
necesară, deoarece dispozitivele configurabile sunt capabile
să detecteze automat tipul de disc cu suficientă
acuratețe (pentru majoritatea formatelor obișnuite) pentru a
citi sectorul de pornire.
Informațiile greșite privind geometria pot duce la
erori foarte ciudate. De aceea, vă recomand cu tărie să
adăugați fanionul mformat_only la
descrierea unității, cu excepția cazului în care
aveți cu adevărat nevoie de filtrare sau de geometrie
inițială.
Sunt disponibile următoarele variabile legate de
geometrie:
- cilindri
-
- piste
- Numărul de cilindri. (cilindri(cylinders)
este forma preferată, piste(tracks) este
considerată învechită)
- capete
- Numărul de capete (fețe).
- sectoare
- Numărul de sectoare pe pistă.
Exemplu: Următoarea secțiune a
unității descrie o unitate de 1,44M:
drive a: file="/dev/fd0H1440" fat_bits=12 cylinders=80 heads=2 sectors=18 mformat_only
Sunt disponibile următoarele descrieri abreviate ale
geometriei:
- 1.44m
- disc de înaltă densitate 3 1/2. Echivalent cu:
fat_bits=12 cylindres=80 heads=2 sectors=18.
- 1.2m
- disc de înaltă densitate 5 1/4. Echivalent cu:
fat_bits=12 cylindres=80 heads=2 sectors=15.
- 720k
- disc de dublă densitate 3 1/2. Echivalent cu:
fat_bits=12 cylindres=80 heads=2 sectors=9.
- 360k
- disc de dublă densitate 5 1/4. Echivalent cu:
fat_bits=12 cylindres=40 heads=2 sectors=9.
Descrierile formatului abreviat pot fi modificate. De exemplu,
360k sectors=8 descrie un disc de 320k și
este echivalent cu: fat_bits=12 cylinders=40 heads=2
sectors=8.
Fanioane deschise
În plus, sunt disponibile următoarele fanioane:
- sync
- Toate operațiile de In/Ieș sunt efectuate sincronizat
- nodelay
- Dispozitivul sau fișierul este deschis cu fanionul O_NDELAY. Acest
lucru este necesar pe unele arhitecturi non-Linux.
- exclusive
- Dispozitivul sau fișierul este deschis cu fanionul O_EXCL. Pe
Linux, acest lucru asigură accesul exclusiv la unitatea de
dischetă. Pe majoritatea celorlalte arhitecturi și pentru
fișiere simple nu are niciun efect.
Variabile de unitate de uz general
Sunt disponibile următoarele variabile de unitate de uz
general. În funcție de tipul lor, aceste variabile pot fi
stabilite la un șir de caractere (precmd, postcmd) sau la un
număr întreg (toate celelalte).
- fat_bits
- Numărul de biți FAT. Acesta poate fi 12 sau 16. Acest lucru
este foarte rar necesar, deoarece poate fi aproape întotdeauna
dedus din informațiile din sectorul de boot. Dimpotrivă,
descrierea numărului de biți FAT poate fi de fapt
dăunătoare, dacă o greșiți. Ar trebui
să o folosiți numai dacă mtools
greșește numărul de biți FAT detectat automat
sau dacă doriți să formatați un disc cu un
număr ciudat de biți FAT.
- codepage
- Descrie pagina de cod DOS utilizată pentru nume de fișiere
scurte. Acesta este un număr între 1 și 999.
În mod implicit, se utilizează pagina de cod 850. Motivul
este acela că această pagină de cod conține
majoritatea caracterelor care sunt disponibile și în
ISO-Latin-1. Puteți, de asemenea, să specificați o
pagină de cod globală pentru toate unitățile
utilizând parametrul global
default_codepage (în afara oricărei
descrieri a unității). Acest parametru există
începând cu versiunea 4.0.0
- data_map
- Reface datele din fișierul imagine. Acest lucru este util pentru
fișierele imagine care ar putea avea nevoie de inserarea unor
sectoare suplimentare umplute cu zero. Acesta este cazul, de exemplu, al
imaginilor de dischete IBM 3174. Aceste imagini reprezintă dischete
cu mai puține sectoare pe primul cilindru. Aceste sectoare
lipsă nu sunt stocate în imagine, dar sunt totuși
luate în considerare în structura sistemului de
fișiere. Data_map permite falsificarea acestor sectoare
lipsă pentru straturile superioare ale mtools. Un data_map este o
secvență de tip și dimensiune a sursei, separate prin
virgulă. Tipul sursei poate fi zero pentru
sectoarele umplute cu zero create de hartă,
skip pentru ca datele din imaginea brută
să fie ignorate (sărite) și nimic pentru ca datele
să fie utilizate ca atare (copiate) din imaginea brută.
Harta de date este completată automat de un ultim element implicit
de date care trebuie utilizate ca atare de la poziția
curentă până la sfârșitul
fișierului. Fiecare dimensiune este un număr urmat de o
unitate: s pentru un sector de 512 octeți,
K pentru Kbytes, M pentru
megabytes, G pentru gigabytes și nimic
pentru octeți individuali.
- Exemplu:
- data_map=1s,zero31s,28s,skip1s ar fi o
hartă pentru utilizare cu imagini de dischete IBM 3174. Primul
sector (1s, sectorul de boot) este utilizat ca
atare. Urmează apoi 31 de sectoare false umplute cu zero
(zero31s), apoi următoarele 28 de sectoare
din imagine (28s) sunt folosite ca atare
(conțin FAT și directorul rădăcină),
apoi un sector din imagine este sărit
(skip1s), iar în final restul imaginii este
folosit ca atare (implicit).
- precmd
- Execută comanda dată înainte de a deschide
dispozitivul. Pe unele variante de Solaris, este necesar să se
apeleze "volcheck -v" înainte de a deschide un dispozitiv
de dischetă, pentru ca sistemul să observe că
există într-adevăr o dischetă în
unitatea respectivă. precmd="volcheck
-v" în clauza unității stabilește
comportamentul dorit.
- postcmd
- Execută comanda dată după închiderea
dispozitivului. Poate fi utilă dacă mtools împarte
fișierul imagine cu o altă aplicație, pentru a
elibera fișierul imagine către acea aplicație.
- blocksize
- Acest parametru reprezintă o dimensiune implicită a blocului
care va fi întotdeauna utilizată pe acest dispozitiv. Toate
intrările/ieșirile se efectuează cu multiplii acestei
dimensiuni de bloc, indiferent de dimensiunea sectorului
înregistrată în sectorul de pornire al sistemului de
fișiere. Acest lucru este util pentru dispozitivele de caractere a
căror dimensiune a sectorului nu este de 512, cum ar fi, de
exemplu, unitățile CD-ROM pe Solaris.
Numai variabila file este obligatorie.
Ceilalți parametri pot fi omiși. În acest caz, se
utilizează o valoare implicită sau o valoare detectată
automat.
Fanioane de unitate de uz general
Un fanion poate fi stabilit fie la 1 (activat), fie la 0
(dezactivat). În cazul în care valoarea este omisă,
este activat. De exemplu, scsi este echivalent cu
scsi=1.
- nolock
- Îi indică lui mtools să nu utilizeze blocarea pe
această unitate. Acest lucru este necesar pe sistemele cu o
semantică de blocare cu erori. Cu toate acestea, activarea acestui
lucru face ca funcționarea să fie mai puțin
sigură în cazurile în care mai mulți
utilizatori pot accesa aceeași unitate în același
timp.
- scsi
- Când este stabilită la 1, această opțiune
îi indică mtools să utilizeze In/Ieș SCSI
brută în loc de apelurile standard de citire/scriere pentru
a accesa dispozitivul. În prezent, această opțiune
este acceptată pe HP-UX, Solaris și SunOS. Acest lucru este
necesar deoarece pe unele arhitecturi, cum ar fi SunOS sau Solaris,
mediile PC nu pot fi accesate utilizând apelurile de sistem
read și write,
deoarece sistemul de operare se așteaptă ca acestea
să conțină o „etichetă de disc”
specifică Sun.
- Deoarece accesul SCSI brut utilizează întotdeauna
întregul dispozitiv, trebuie să specificați în
plus fanionul „partition”.
- Pe unele arhitecturi, cum ar fi Solaris, mtools are nevoie de privilegii
de root pentru a putea utiliza opțiunea
scsi. Astfel, mtools trebuie instalat setuid root
pe Solaris dacă doriți să accesați
unități Zip/Jaz. Astfel, dacă se indică
fanionul scsi, privileged
este implicit în mod automat, dacă nu este dezactivat
în mod explicit prin privileged=0.
- Mtools își folosește privilegiile de root pentru a
deschide dispozitivul și pentru a efectua apelurile de
intrare/ieșire SCSI efective. În plus, privilegiile de root
sunt utilizate numai pentru unitățile descrise
într-un fișier de configurare la nivel de sistem, cum ar fi
`/etc/mtools.conf', și nu pentru cele
descrise în C&`~/.mtoolsrc' sau
`$MTOOLSRC'.
- privileged
- Când este stabilită la 1, aceasta îi indică
lui mtools să folosească privilegiile sale setuid și
setgid pentru a deschide unitatea dată. Această
opțiune este valabilă numai pentru unitățile
descrise în fișierele de configurare la nivel de sistem (cum
ar fi `/etc/mtools.conf', nu
`~/.mtoolsrc' sau
`$MTOOLSRC'). Evident, această
opțiune este, de asemenea, un no op dacă mtools nu este
instalat setuid sau setgid. Această opțiune este
implicată de „scsi=1”, dar, din nou, numai pentru
unitățile definite în fișierele de configurare
la nivel de sistem. privileged poate fi, de
asemenea, stabilit în mod explicit la 0, pentru a-i indica lui
mtools să nu-și folosească privilegiile pentru o
anumită unitate chiar dacă este definit
scsi=1.
- Mtools trebuie instalat setuid numai dacă utilizați
variabilele de unitate privileged sau
scsi. Dacă nu folosiți aceste
opțiuni, mtools funcționează perfect chiar și
atunci când nu este instalat setuid root.
- vold
- Îi indică lui mtools să interpreteze numele
dispozitivului ca un identificator vold și nu ca un nume de
fișier. Identificatorul vold este tradus într-un nume de
fișier real cu ajutorul funcțiilor
media_findname() și
media_oldaliases() din biblioteca
volmgt. Acest indicator este disponibil numai
dacă ați configurat mtools cu opțiunea
--enable-new-vold înainte de
compilare.
- swap
- Consideră suportul ca fiind un disc Atari de interschimb.
- use_xdf
- Dacă este stabilită la o valoare diferită de zero,
mtools încearcă, de asemenea, să acceseze acest disc
ca un disc XDF. XDF este un format de mare capacitate utilizat de OS/2.
Această opțiune este dezactivată în mod
implicit. Consultați secțiunea XDF, pentru mai multe
detalii.
- mformat_only
- Îi indică mtools să utilizeze geometria pentru
această unitate numai pentru mformatting și nu pentru
filtrare.
- filter
- Îi indică mtools să utilizeze geometria acestei
unități atât pentru mformatting, cât și
pentru filtrare.
- remote
- Îi indică mtools să se conecteze la floppyd (a se
vedea secțiunea floppyd).
Este posibil să se furnizeze mai multe descrieri pentru o
unitate. În acest caz, descrierile sunt încercate în
ordine până când se găsește una care se
potrivește. Descrierile pot eșua din mai multe motive:
- 1.
- deoarece geometria nu este adecvată,
- 2.
- deoarece nu există niciun disc în unitate,
- 3.
- sau din cauza altor probleme.
Definițiile multiple sunt utile atunci când se
utilizează dispozitive fizice care nu pot suporta decât o
singură geometrie de disc. Exemplu:
drive a: file="/dev/fd0H1440" 1.44m drive a: file="/dev/fd0H720" 720k
Acest lucru indică mtools să utilizeze /dev/fd0H1440
pentru discuri de 1,44m (densitate mare) și /dev/fd0H720 pentru
discuri de 720k (densitate dublă). Pe Linux, această
caracteristică nu este cu adevărat necesară, deoarece
dispozitivul /dev/fd0 este capabil să gestioneze orice geometrie.
De asemenea, puteți utiliza descrieri de
unități multiple pentru a accesa ambele unități
fizice printr-o singură literă de unitate:
drive z: file="/dev/fd0" drive z: file="/dev/fd1"
Cu această descriere, mdir z:
accesează prima unitate fizică, dacă aceasta
conține un disc. Dacă prima unitate nu conține un disc,
mtools verifică a doua unitate.
Atunci când se utilizează mai multe fișiere
de configurare, descrierile unităților din ultimele
fișiere analizate prevalează asupra descrierilor pentru
aceeași unitate din fișierele anterioare. Pentru a evita acest
lucru, utilizați cuvintele cheie drive+ sau
+drive în loc de
drive. Primul adaugă o descriere la
sfârșitul listei (adică va fi încercată
ultima), iar primul o adaugă la începutul listei.
Locația fișierelor de configurare
și ordinea de analizare
Fișierele de configurare sunt analizate în
următoarea ordine:
- 1.
- valorile implicite compilate
- 2.
- `/etc/mtools.conf'
- 3.
- `~/.mtoolsrc'.
- 4.
- `$MTOOLSRC' (fișierul indicat de variabila
de mediu MTOOLSRC)
Opțiunile descrise în fișierele ulterioare le
înlocuiesc pe cele descrise în fișierele anterioare.
Unitățile definite în fișierele anterioare
persistă dacă nu sunt înlocuite în
fișierele ulterioare. De exemplu, unitățile A și
B pot fi definite în `/etc/mtools.conf', iar
unitățile C și D pot fi definite în
`~/.mtoolsrc' Cu toate acestea, dacă
`~/.mtoolsrc' definește, de asemenea,
unitatea A, această nouă descriere ar înlocui
descrierea unității A din
`/etc/mtools.conf' în loc să se adauge
la aceasta. Dacă doriți să adăugați o
nouă descriere la o unitate deja descrisă într-un
fișier anterior, trebuie să utilizați fie
cuvântul cheie +drive, fie cuvântul
cheie drive+.
Sintaxa descrisă aici este nouă pentru versiunea
mtools-3.0. Vechea sintaxă orientată
pe linii este încă acceptată. Fiecare linie care
începe cu o singură literă este considerată a fi
o descriere a unității folosind vechea sintaxă.
Secțiunile de unități în stil vechi și
în stil nou pot fi amestecate în cadrul aceluiași
fișier de configurare, pentru a facilita actualizarea. Suportul
pentru vechea sintaxă va fi eliminat în cele din urmă
și, pentru a descuraja utilizarea acesteia, am omis în mod
intenționat descrierea ei aici.