Umsdos fait directement correspondre aux fichiers Linux des fichiers MS-DOS. C'est une transposition un pour un, et le contenu des fichiers n'est pas altéré du tout. Umsdos travaille seulement sur les noms de fichiers, et réserve un traitement particulier aux fichiers spéciaux (par exemple les liens ou les fichiers périphériques).
Pour chaque répertoire, il y a un fichier appelé --linux-.---
.
Umsdos peut être vu comme un surensemble plus général du système de fichiers MS-DOS de linux. En fait cette capacité/flexibilité est la source de beaucoup de confusions au sujet de Umsdos. Je vais vous expliquer pourquoi. Essayez de monter une disquette DOS qui vient juste d'être formattée de la manière suivante :
mount -t umsdos /dev/fd0 /mnt
Puis faîtes ceci :
ls / >/mnt/LONGFILENAME
ls -l /mnt
Et vous obtiendrez le résultat suivant :
-rwxr-xr-x 1 root root 302 Apr 14 23:25 longfile
Jusqu'ici, le système de fichiers n'a pas l'air de faire grand chose de plus (en fait même rien) que le système de fichiers MS-DOS normal de Linux.
???
Jusqu'ici ça n'est pas très impressionant. Mais il y a une astuce. A
moins d'avoir été promu, un répertoire DOS sera traité par
Umsdos de la même façon que par MS-DOS. Umsdos
utilise un fichier spécial dans chaque sous-répertoire pour
effectuer la transposition entre les possibilités étendues (noms de
fichiers longs, propriété, etc.) de Umsdos et les limitations
inhérentes au système de fichiers DOS. Ce fichier est invisible
aux utilisateurs de Umsdos, mais il devient visible si vous
démarrez sous DOS. Pour éviter de mettre inutilement le
désordre dans la partition DOS avec ces fichiers
(--linux-.---
), ils sont maintenant optionnels. S'ils sont
absents, Umsdos se comporte comme MS-DOS.
Quand un répertoire est promu, toutes les opérations effectuées par la suite tiendront compte de toutes les possibilités normalement accessibles aux utilisateurs d'Unix et de Linux. Tous les sous-répertoires crées ensuite seront promus sans autre intervention de votre part.
Cette caractéristique vous permet d'organiser logiquement votre
partition DOS entre votre hiérarchie DOS et votre
hiérarchie Linux. Il est important de comprendre que les
fichiers --linux-.---
prennent de la place (en général 2 Ko par
répertoire). Comme DOS utilise de gros clusters (par exemple de
16 Ko pour une partition de 500 Mo), éviter de mettre des fichiers
--linux-.---
partout peut vous faire gagner pas mal de place.
Un répertoire peut être promu à n'importe quel moment en utilisant
/sbin/umssync
. Lorsqu'un répertoire est promu, il se passe
les choses suivantes :
--linux-.---
.--linux-.---
et le contenu actuel du répertoire.La commande /sbin/umssync
est utilisée pour la maintenance des fichiers
--linux-.---
existants. Elle ne le crée pas à partir de rien à
chaque fois. Elle modifie simplement ce qui a changé (par exemple les
fichiers nouvellement crées lors d'une session DOS). Elle retire
aussi de ce fichier les fichiers qui n'existent plus dans le
répertoire DOS. C'est pourquoi umssync
porte ce nom, car
elle synchronise les fichiers --linux-.--- avec le répertoire
DOS sous-jacent.
/sbin/umssync
au démarrageC'est une bonne idée de mettre un appel à /sbin/umssync
à
la fin du fichier /etc/rc.d/rc.S (si ce n'est déjà fait...). La
commande suivante marche sur la plupart des systèmes :
/sbin/umssync -r99 -c -i+ /
L'option -c
empêche umssync
de promouvoir les
répertoires. Cette commande va donc seulement mettre à jour les
fichiers --linux-.---
existants.
Cette commande est utile si vous désirez accéder au répertoire Linux pendant une session DOS. Linux n'a pas de moyen efficace de dire qu'un répertoire a été modifié par DOS, donc Umsdos ne peut pas lancer lui-même la commande umssync nécessaire.
Effacez le fichier --linux-.---
en utilisant DOS.
A moins que vous n'utilisiez umssync
sur un répertoire dans
lequel des fichiers ont été ajoutés ou effacés par DOS, vous
allez remarquer certains des problèmes suivants :
/var/adm/syslog
). Chapitre suivant, Chapitre Précédent
Table des matières de ce chapitre, Table des matières générale
Début du document, Début de ce chapitre