<HTML> <HEAD> <TITLE>Principe de base</TITLE> </HEAD> <BODY> <H1>5. <A NAME="s5"></A>Principe de base</H1> <P> <A HREF="UMSDOS-HOWTO.html#toc5">Contenu de cette section</A></P> <P></P> <P></P> <H2>5.1 <A NAME="ss5.1"></A> Introduction</H2> <P></P> <P><EM>Umsdos</EM> fait directement correspondre aux fichiers <EM>Linux</EM> des fichiers <EM>MS-DOS</EM>. C'est une transposition un pour un, et le contenu des fichiers n'est pas altéré du tout. <EM>Umsdos</EM> 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).</P> <P>Pour chaque répertoire, il y a un fichier appelé <CODE>--linux-.---</CODE>.</P> <P></P> <H2>5.2 <A NAME="ss5.2"></A> <EM>Umsdos</EM> peut remplacer le système de fichiers <EM>MS-DOS</EM></H2> <P></P> <P><EM>Umsdos</EM> peut être vu comme un surensemble plus général du système de fichiers <EM>MS-DOS</EM> de linux. En fait cette capacité/flexibilité est la source de beaucoup de confusions au sujet de <EM>Umsdos</EM>. Je vais vous expliquer pourquoi. Essayez de monter une disquette <EM>DOS</EM> qui vient juste d'être formattée de la manière suivante :</P> <P> <BLOCKQUOTE><CODE> <PRE> mount -t umsdos /dev/fd0 /mnt </PRE> </CODE></BLOCKQUOTE> </P> <P>Puis faîtes ceci :</P> <P> <BLOCKQUOTE><CODE> <PRE> ls / >/mnt/LONGFILENAME ls -l /mnt </PRE> </CODE></BLOCKQUOTE> </P> <P>Et vous obtiendrez le résultat suivant :</P> <P> <BLOCKQUOTE><CODE> <PRE> -rwxr-xr-x 1 root root 302 Apr 14 23:25 longfile </PRE> </CODE></BLOCKQUOTE> </P> <P>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 <EM>MS-DOS</EM> normal de <EM>Linux</EM>.</P> <P><EM>???</EM></P> <P></P> <H2>5.3 <A NAME="ss5.3"></A> Promouvoir un répertoire</H2> <P></P> <P>Jusqu'ici ça n'est pas très impressionant. Mais il y a une astuce. A moins d'avoir été promu, un répertoire <EM>DOS</EM> sera traité par <EM>Umsdos</EM> de la même façon que par <EM>MS-DOS</EM>. <EM>Umsdos</EM> 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 <EM>Umsdos</EM> et les limitations inhérentes au système de fichiers <EM>DOS</EM>. Ce fichier est invisible aux utilisateurs de <EM>Umsdos</EM>, mais il devient visible si vous démarrez sous <EM>DOS</EM>. Pour éviter de mettre inutilement le désordre dans la partition <EM>DOS</EM> avec ces fichiers (<CODE>--linux-.---</CODE>), ils sont maintenant optionnels. S'ils sont absents, <EM>Umsdos</EM> se comporte comme <EM>MS-DOS</EM>.</P> <P>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'<EM>Unix</EM> et de <EM>Linux</EM>. Tous les sous-répertoires crées ensuite seront promus sans autre intervention de votre part.</P> <P>Cette caractéristique vous permet d'organiser logiquement votre partition <EM>DOS</EM> entre votre hiérarchie <EM>DOS</EM> et votre hiérarchie <EM>Linux</EM>. Il est important de comprendre que les fichiers <CODE>--linux-.---</CODE> prennent de la place (en général 2 Ko par répertoire). Comme <EM>DOS</EM> utilise de gros clusters (par exemple de 16 Ko pour une partition de 500 Mo), éviter de mettre des fichiers <CODE>--linux-.---</CODE> partout peut vous faire gagner pas mal de place.</P> <P></P> <H2>5.4 <A NAME="ss5.4"></A> Comment promouvoir /sbin/umssync</H2> <P></P> <P>Un répertoire peut être promu à n'importe quel moment en utilisant <CODE>/sbin/umssync</CODE>. Lorsqu'un répertoire est promu, il se passe les choses suivantes :</P> <P> <UL> <LI>Création d'un fichier <CODE>--linux-.---</CODE>.</LI> <LI>Une relation un pour un est établie entre le fichier <CODE>--linux-.---</CODE> et le contenu actuel du répertoire.</LI> </UL> </P> <P>La commande <CODE>/sbin/umssync</CODE> est utilisée pour la maintenance des fichiers <CODE>--linux-.---</CODE> 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 <EM>DOS</EM>). Elle retire aussi de ce fichier les fichiers qui n'existent plus dans le répertoire <EM>DOS</EM>. C'est pourquoi <CODE>umssync</CODE> porte ce nom, car elle synchronise les fichiers <EM>--linux-.---</EM> avec le répertoire <EM>DOS</EM> sous-jacent.</P> <P></P> <H2>5.5 <A NAME="ss5.5"></A> Utiliser <CODE>/sbin/umssync</CODE> au démarrage</H2> <P></P> <P>C'est une bonne idée de mettre un appel à <CODE>/sbin/umssync</CODE> à 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 :</P> <P> <BLOCKQUOTE><CODE> <PRE> /sbin/umssync -r99 -c -i+ / </PRE> </CODE></BLOCKQUOTE> </P> <P>L'option <CODE>-c</CODE> empêche <CODE>umssync</CODE> de promouvoir les répertoires. Cette commande va donc seulement mettre à jour les fichiers <CODE>--linux-.---</CODE> existants.</P> <P>Cette commande est utile si vous désirez accéder au répertoire <EM>Linux</EM> pendant une session <EM>DOS</EM>. <EM>Linux</EM> n'a pas de moyen efficace de dire qu'un répertoire a été modifié par <EM>DOS</EM>, donc <EM>Umsdos</EM> ne peut pas lancer lui-même la commande <EM>umssync</EM> nécessaire. </P> <P></P> <H2>5.6 <A NAME="ss5.6"></A> Comment dé-promouvoir</H2> <P></P> <P>Effacez le fichier <CODE>--linux-.---</CODE> en utilisant <EM>DOS</EM>.</P> <P></P> <H2>5.7 <A NAME="ss5.7"></A> A propos des fichiers créés lors d'une session <EM>DOS</EM></H2> <P></P> <P>A moins que vous n'utilisiez <CODE>umssync</CODE> sur un répertoire dans lequel des fichiers ont été ajoutés ou effacés par <EM>DOS</EM>, vous allez remarquer certains des problèmes suivants :</P> <P> <UL> <LI>Le système ne va pas planter, et cela ne va pas causer de problèmes majeurs, juste quelques dérangements. </LI> <LI>Fichiers créés par <EM>DOS</EM>. <UL> <LI>Ils seront invisibles pour <EM>Linux</EM>.</LI> <LI>Quand vous voudrez creer un fichier avec le même nom, vous obtiendrez un message dérreur vous disant que ce fichier existe déjà.</LI> <LI>Plus de confusion que de rééls problèmes, donc. En tout cas cela ne cause aucun dommage au système de fichiers.</LI> </UL> </LI> <LI>Les fichiers effacés par <EM>DOS</EM> ne causeront aucun problème. <EM>Umsdos</EM> remarquera leur absence à la première tentative d'accès, et vous délivrera un message (qui sera géne'ralement écrit dans <CODE>/var/adm/syslog</CODE>). </LI> </UL> </P> <P></P> <HR> <P> Chapitre <A HREF="UMSDOS-HOWTO-6.html">suivant</A>, Chapitre <A HREF="UMSDOS-HOWTO-4.html">Précédent</A> <P> Table des matières de <A HREF="UMSDOS-HOWTO.html#toc5">ce chapitre</A>, <A HREF="UMSDOS-HOWTO.html#toc">Table des matières</A> générale</P> <P> <A HREF="UMSDOS-HOWTO.html">Début</A> du document, <A HREF="#0"> Début de ce chapitre</A></P> </BODY> </HTML>