UMSDOS HOW-TO
 Jacques Gelinas, [email protected]
 v1.1, 13 November 1995

 _U_m_s_d_o_s  est un systeme de fichiers pour _L_i_n_u_x. Il propose une alterna-
 tive au systeme de fichiers _E_X_T_2. Son principal but est de parvenir  a
 une  coexistence  simplifiee  avec les donnees _M_S_-_D_O_S en partageant la
 meme partition.  Ce document explique tout  d'abord  comment  utiliser
 _U_m_s_d_o_s dans differentes configurations, puis son fonctionnement. Il se
 termine par quelques informations  qui  devraient  vous  permettre  de
 decider  si c'est un bon choix pour vous (cf. Pourquoi UMSDOS a la fin
 de  ce  document).   Adaptation  francaise  realisee   par   Guillaume
 Deschamps  ([email protected]) Version de l'adapta-
 tion : v0.1b

 11..  _U_m_s_d_o_s :: PPrreesseennttaattiioonn

 11..11..  HHiissttoorriiqquuee

 Le projet _U_m_s_d_o_s a commence en 1992, et a ete disponible sur le reseau
 sous  forme  de  patch  en  janvier  1994.  Il  a  ete  inclus dans la
 distribution standard du noyau en juillet,  a  partir  de  la  version
 1.1.36.

 _U_m_s_d_o_s  a  ete  au  depart adopte dans la distribution _S_l_a_c_k_w_a_r_e avant
 meme d'etre inclus dans le noyau officiel.

 _U_m_s_d_o_s a commence a etre ameliore a partir de  la  version  1.1.60  du
 noyau.  Ses  performances ont considerablement augmente, surtout en ce
 qui concerne l'ecriture. Il est de nouveau stable  depuis  la  version
 1.1.70 (a peu pres).

 Un bug majeur a ete corrige dans _L_i_n_u_x 1.2.2. Ce bug causait des torts
 aux utilisateurs depuis le debut (certains fichiers  etaient  renommes
 sans  avertissement, donnant l'impression qu'ils avaient ete effaces).
 Attention ! La _S_l_a_c_k_w_a_r_e 2.2 contient toujours  la  version  1.2.1  du
 noyau, donc elle a ce bug.

 11..22..  DDiissppoonniibbiilliittee

 Il  est  disponible  sous forme de patch pour les noyaus 1.0.x, et est
 inclus dans le noyau 1.2. Il peut etre compile avec le noyau ou charge
 comme  un  module. Cependant si vous decidez pour l'instant d'utiliser
 _U_m_s_d_o_s comme un module, il vous faudra aussi utiliser  le  systeme  de
 fichiers  _M_S_-_D_O_S  en  tant  que module. Cela vient d'une limitation du
 systeme de gestion des modules (certains symboles ne sont exportes que
 lorsque les drivers sont eux-memes des modules).

 11..33..  DDiissttrriibbuuttiioonnss llee ssuuppppoorrttaanntt

 Dans  l'etat actuel des choses, seule la distribution _S_l_a_c_k_w_a_r_e semble
 le supporter. Mais j'ai surement tort donc n'hesitez pas  a  m'envoyer
 des corrections a ce sujet. (NdT : en anglais !)

 11..44..  SSiittee dd''aaccccuueeiill

 Le site d'accueil pour _U_m_s_d_o_s est sunsite.unc.edu. Allez faire un tour
 du cote du repertoire /pub/Linux/system/Filesystems/umsdos.

 11..55..  DDooccuummeennttaattiioonn tteecchhnniiqquuee

 Il existe beaucoup  de  documentation  sur  la  structure  interne  de
 _U_m_s_d_o_s, disponible a la fois aux formats HTML et texte au meme endroit
 que les utilitaires.

 Pour ce que j'en sais, la version HTML n'est pas disponible  sur  WWW.
 Vous  devez  la  telecharger,  puis la "untarer" et finalement la lire
 localement.

 11..66..  LL''aauutteeuurr

 Jacques Gelinas [email protected]

 22..  _U_m_s_d_o_s ccoommmmee ppaarrttiittiioonn pprriinncciippaallee

 22..11..  LLee ccoonncceepptt ppsseeuuddoo--rraacciinnee

 Avec _U_m_s_d_o_s, _L_i_n_u_x peut etre installe sur une partition _D_O_S  standard.
 _L_i_n_u_x  est  alors  installe  comme  le  second  (ou troisieme) systeme
 d'exploitation sur la partition. Pour eviter toute collision dans  les
 noms (il existe peut-etre deja un repertoire bin ou tmp sur le lecteur
 C:), _U_m_s_d_o_s a recours a une astuce : la pseudo-racine.

 Tous les fichiers _L_i_n_u_x sont installes  dans  un  sous-repertoire  _D_O_S
 appele   Linux,   generalement  C:\LINUX.  La  structure  normale  des
 repertoires _L_i_n_u_x_/_U_n_i_x se trouve la. Vous obtenez donc :

 +o

    C:\LINUX\BIN

 +o

    C:\LINUX\ETC

 +o

    C:\LINUX\LIB

 +o

    C:\LINUX\ROOT

 +o

    C:\LINUX\SBIN

 +o

    C:\LINUX\TMP

 +o

    C:\LINUX\USR

 +o

    C:\LINUX\VAR

 Quand _U_m_s_d_o_s demarre, il cherche le repertoire linux puis  /linux/etc.
 S'il existe, il active le mode pseudo-racine.

 Le   mode   pseudo-racine  s'occupe  principalement  de  rediriger  le
 repertoire racine vers  C:\LINUX,  ce  qui  donne  comme  resultat  un
 repertoire _U_n_i_x classique :

 +o

    /bin

 +o

    /etc

 +o

    /lib

 +o

    /root

 +o

    /sbin

 +o

    /tmp

 +o

    /usr

 +o

    /var

 Il  ajoute de plus a cette liste un nouveau repertoire appele DOS, qui
 est virtuel.

 22..22..  CCee qquu''iill ffaauutt ssaavvooiirr aa pprrooppooss dduu mmooddee ppsseeuuddoo--rraacciinnee

 +o  Ce mode peut seulement etre active au moment du demarrage. Il n'y a
    aucun moyen de l'activer en utilisant la commande mount.

 +o  Le mecanisme est juste de donner une vue differente d'un systeme de
    fichiers _U_m_s_d_o_s normal. Cela signifie qu'une  partition  principale
    peut  etre  montee tout a fait normalement. Il n'y aura pas d'effet
    pseudo-racine.

    Par exemple, si vous demarrez sous  Linux  avec  une  disquette  de
    maintenance  et  que vous montez votre partition principale normale
    dans  /mnt,  vous  trouverez  tous  vos  repertoires   linux   dans
    /mnt/linux/bin, /mnt/linux/etc et ainsi de suite.

 33..  DDiiffffeerreenntteess rreemmaarrqquueess aauu ssuujjeett dduu ffoonnccttiioonnnneemmeenntt ddee _U_m_s_d_o_s

 33..11..  OOppttiioonn ddee mmoouunntt

 Vous pouvez utiliser les memes options pour mount que pour le  systeme
 de fichiers MS-DOS. L'utilisation de l'option conv= est discutable sur
 un systeme _U_m_s_d_o_s. Je propose de l'eviter. Les options que vous  aurez
 generalement a prendre en compte sont :

 +o  uid=

 +o  gid=

 +o  umask=

 Il  faut  juste  vous  souvenir  que _U_m_s_d_o_s traite les repertoires non
 promus de la meme facon que _M_S_-_D_O_S. Les options  ci-dessus  vont  donc
 s'appliquer  globalement  a  tous  les  repertoires  non  promus.  _u_i_d
 configure le proprietaire par defaut, _g_i_d  le  groupe  par  defaut  et
 _u_m_a_s_k les permissions par defaut sur les fichiers.

 33..22..   CCoommmmeenntt  ddeetteerrmmiinneerr  lleess  vvaalleeuurrss  ppaarr ddeeffaauutt ppoouurr llaa ppaarrttiittiioonn
 pprriinncciippaallee

 umssetup  a ete creee pour determiner au lancement le proprietaire par
 defaut de la partition principale. Pour les autres partitions  _U_m_s_d_o_s,
 il est possible d'utiliser soit les options de mount soit umssetup. La
 maniere classique pour regler ce  probleme  pour  les  partitions  non
 principales est de stocker les options de mount dans /etc/fstab. Voici
 un exemple.  Mettez ceci dans /etc/rc.d/rc.S :

                      /sbin/umssetup -u jack -g group -m 0755 /

 33..33..  SSwwaappppeerr oouu nnee ppaass sswwaappppeerr

 L'utilisation d'un fichier de swap se revele souvent  plus  lente  que
 celle  d'une partition de swap. Cette solution est cependant bien plus
 flexible. Vous pouvez configurer un fichier de swap dans une partition
 _U_m_s_d_o_s de la meme facon que dans tout autre systeme de fichiers _L_i_n_u_x.
 Par exemple, pour configurer un fichier  de  swap  de  8  Mo  dans  le
 repertoire racine :

                      dd if=/dev/zero bs=1024k count=8 of=/swap
                      mkswap /swap 8192
                      sync
                      swapon /swap

 Une  fois  cela  fait,  vous  pouvez  ajouter  la  ligne suivante dans
 /etc/fstab :

                      /swap   swap    swap    default

 Et le fichier de  swap  sera  active  a  chaque  demarrage.  (Il  y  a
 generalement la commande "swapon -a" dans /etc/rc.d/rc.S.)

 44..  CCoommmmeenntt ddeemmaarrrreerr uunn ssyysstteemmee _U_m_s_d_o_s

 44..11..  LLooaaddlliinn

 Le   paquetage   lodlin15.tgz,  disponible  sur  sunsite.unc.edu  dans
 /pub/Linux/system/Bootutils,  est  particulierement  bien  adapte   au
 demarrage  d'un  systeme  _U_m_s_d_o_s.  En  general,  tout ce que vous avez
 besoin de faire est

         Boot DOS
         C:>loadlinx zimage root=D:

 ou zimage est une image normale du noyau (compressee), tout simplement
 copiee  quelque part sur le lecteur _D_O_S. D: est le lecteur _D_O_S ou vous
 avez installe _L_i_n_u_x.

 44..22..  AA ppaarrttiirr dd''uunnee ddiissqquueettttee

 Demarrer un systeme _U_m_s_d_o_s a partir d'une disquette se fait de la meme
 maniere  que pour un systeme _E_x_t_2. Vous avez besoin d'une image zImage
 de votre noyau proprement initialisee pour localiser  votre  partition
 principale  _U_m_s_d_o_s. Pour ce faire, on utilise generalement la commande
 rdev. La sequence suivante initialise un fichier zImage et le met  sur
 une disquette :

              rdev zImage /dev/hda1
              rdev -R zImage 0
              dd if=zImage bs=8192 of=/dev/fd0

 Si vous trouvez cela deroutant, formattez une disquette systeme DOS et
 copiez les fichiers suivants dessus :

 +o  loadlin.exe

 +o  loadlinx.exe

 +o  zimage

 puis configurez le fichier autoexec.bat comme suit :

              loadlinx zimage rw root=C:

 44..33..  LLIILLOO

 LILO, le chargeur (boot-loader) officiel  de  _L_i_n_u_x  peut  aussi  etre
 utilise  pour  demarrer  un  systeme  _U_m_s_d_o_s. Cependant je n'ai jamais
 essaye, mais ca devrait marcher depuis la  version  1.1.60.  Merci  de
 m'envoyer  un  e-mail  (NdT : toujours en anglais !) si vous avez fait
 l'experience.

 44..44..  CCoommmmeenntt ddeeffrraaggmmeenntteerr uunnee ppaarrttiittiioonn _U_m_s_d_o_s

 Tout  simplement  en  utilisant  n'importe  lequel  des   outils   _D_O_S
 classiques.   Les   fichiers   produits   par  _U_m_s_d_o_s  n'ont  rien  de
 particulier. Et _U_m_s_d_o_s n'attend rien de  particulier  (composition  ou
 sequence  des  points  d'entree  des  repertoires, etc.) du systeme de
 fichier sur lequel il travaille.

 Pour ce que j'en sais, il n'existe pas d'outil sous _L_i_n_u_x  pour  faire
 ca.

 44..55..  AAssttuucceess aavvaanncceeeess

 _U_m_s_d_o_s  repose  sur --linux-.--- qui repose lui-meme sur le repertoire
 _D_O_S.  Certains  voudront   peut-etre   faire   quelques   experiences.
 L'utilitaire  udosctl  (dans  le  paquetage umsdos_progs, qui contient
 umssync  et  umssetup)  permet  de  faire  des  operations   sur   les
 repertoires  (effacer, voir le contenu), et ceci independamment sur le
 repertoire --linux-.--- ou sur le repertoire _D_O_S.

 55..  PPrriinncciippee ddee bbaassee

 55..11..  IInnttrroodduuccttiioonn

 _U_m_s_d_o_s fait directement correspondre aux fichiers _L_i_n_u_x  des  fichiers
 _M_S_-_D_O_S. C'est une transposition un pour un, et le contenu des fichiers
 n'est pas altere du tout. _U_m_s_d_o_s travaille seulement sur les  noms  de
 fichiers,  et  reserve un traitement particulier aux fichiers speciaux
 (par exemple les liens ou les fichiers peripheriques).

 Pour chaque repertoire, il y a un fichier appele --linux-.---.

 55..22..  _U_m_s_d_o_s ppeeuutt rreemmppllaacceerr llee ssyysstteemmee ddee ffiicchhiieerrss _M_S_-_D_O_S

 _U_m_s_d_o_s peut etre vu comme un surensemble plus general  du  systeme  de
 fichiers  _M_S_-_D_O_S  de  linux. En fait cette capacite/flexibilite est la
 source de beaucoup de confusions au sujet  de  _U_m_s_d_o_s.  Je  vais  vous
 expliquer  pourquoi.  Essayez  de  monter  une disquette _D_O_S qui vient
 juste d'etre formattee de la maniere suivante :

              mount -t umsdos /dev/fd0 /mnt

 Puis faites ceci :

              ls / >/mnt/LONGFILENAME
              ls -l /mnt

 Et vous obtiendrez le resultat suivant :

              -rwxr-xr-x   1 root     root          302 Apr 14 23:25 longfile

 Jusqu'ici, le systeme de fichiers n'a pas l'air de faire  grand  chose
 de  plus  (en fait meme rien) que le systeme de fichiers _M_S_-_D_O_S normal
 de _L_i_n_u_x.

 _?_?_?

 55..33..  PPrroommoouuvvooiirr uunn rreeppeerrttooiirree

 Jusqu'ici ca n'est pas tres impressionant. Mais il y a une  astuce.  A
 moins  d'avoir  ete promu, un repertoire _D_O_S sera traite par _U_m_s_d_o_s de
 la meme facon que par _M_S_-_D_O_S. _U_m_s_d_o_s utilise un fichier  special  dans
 chaque  sous-repertoire  pour  effectuer  la  transposition  entre les
 possibilites etendues (noms de fichiers  longs,  propriete,  etc.)  de
 _U_m_s_d_o_s  et  les  limitations inherentes au systeme de fichiers _D_O_S. Ce
 fichier est invisible aux utilisateurs  de  _U_m_s_d_o_s,  mais  il  devient
 visible  si  vous demarrez sous _D_O_S. Pour eviter de mettre inutilement
 le desordre dans la partition _D_O_S avec  ces  fichiers  (--linux-.---),
 ils sont maintenant optionnels. S'ils sont absents, _U_m_s_d_o_s se comporte
 comme _M_S_-_D_O_S.

 Quand un repertoire est promu, toutes les operations effectuees par la
 suite   tiendront   compte  de  toutes  les  possibilites  normalement
 accessibles aux utilisateurs  d'_U_n_i_x  et  de  _L_i_n_u_x.  Tous  les  sous-
 repertoires  crees  ensuite  seront  promus sans autre intervention de
 votre part.

 Cette  caracteristique  vous  permet  d'organiser  logiquement   votre
 partition _D_O_S entre votre hierarchie _D_O_S et votre hierarchie _L_i_n_u_x. Il
 est important de comprendre que les fichiers --linux-.--- prennent  de
 la  place  (en general 2 Ko par repertoire). Comme _D_O_S utilise de gros
 clusters (par exemple de 16 Ko pour une partition de 500  Mo),  eviter
 de mettre des fichiers --linux-.--- partout peut vous faire gagner pas
 mal de place.

 55..44..  CCoommmmeenntt pprroommoouuvvooiirr //ssbbiinn//uummssssyynncc

 Un repertoire peut etre promu a n'importe  quel  moment  en  utilisant
 /sbin/umssync.  Lorsqu'un repertoire est promu, il se passe les choses
 suivantes :

 +o  Creation d'un fichier --linux-.---.

 +o  Une relation un pour un est etablie entre le  fichier  --linux-.---
    et le contenu actuel du repertoire.

 La  commande  /sbin/umssync  est  utilisee  pour  la  maintenance  des
 fichiers --linux-.--- existants. Elle ne le cree pas a partir de  rien
 a  chaque  fois.  Elle modifie simplement ce qui a change (par exemple
 les fichiers nouvellement crees lors d'une session _D_O_S).  Elle  retire
 aussi  de  ce  fichier  les  fichiers  qui  n'existent  plus  dans  le
 repertoire  _D_O_S.  C'est  pourquoi  umssync  porte  ce  nom,  car  elle
 synchronise  les  fichiers  _-_-_l_i_n_u_x_-_._-_-_-  avec le repertoire _D_O_S sous-
 jacent.

 55..55..  UUttiilliisseerr //ssbbiinn//uummssssyynncc au demarrage

 C'est une bonne idee de mettre un appel a /sbin/umssync a  la  fin  du
 fichier  /etc/rc.d/rc.S  (si  ce  n'est  deja  fait...).  La  commande
 suivante marche sur la plupart des systemes :

              /sbin/umssync -r99 -c -i+ /

 L'option -c empeche  umssync  de  promouvoir  les  repertoires.  Cette
 commande  va  donc  seulement  mettre a jour les fichiers --linux-.---
 existants.

 Cette commande est utile si vous desirez acceder au  repertoire  _L_i_n_u_x
 pendant une session _D_O_S. _L_i_n_u_x n'a pas de moyen efficace de dire qu'un
 repertoire a ete modifie par _D_O_S, donc _U_m_s_d_o_s ne peut pas lancer  lui-
 meme la commande _u_m_s_s_y_n_c necessaire.

 55..66..  CCoommmmeenntt ddee--pprroommoouuvvooiirr

 Effacez le fichier --linux-.--- en utilisant _D_O_S.

 55..77..  AA pprrooppooss ddeess ffiicchhiieerrss ccrreeeess lloorrss dd''uunnee sseessssiioonn _D_O_S

 A moins que vous n'utilisiez umssync sur un repertoire dans lequel des
 fichiers ont ete ajoutes ou effaces  par  _D_O_S,  vous  allez  remarquer
 certains des problemes suivants :

 +o  Le systeme ne va pas planter, et cela ne va pas causer de problemes
    majeurs, juste quelques derangements.

 +o  Fichiers crees par _D_O_S.

 +o  Ils seront invisibles pour _L_i_n_u_x.

 +o  Quand vous  voudrez  creer  un  fichier  avec  le  meme  nom,  vous
    obtiendrez  un  message  derreur  vous disant que ce fichier existe
    deja.

 +o  Plus de confusion que de reels problemes, donc. En tout cas cela ne
    cause aucun dommage au systeme de fichiers.

 +o  Les  fichiers  effaces  par _D_O_S ne causeront aucun probleme. _U_m_s_d_o_s
    remarquera leur absence a la premiere tentative  d'acces,  et  vous
    delivrera   un   message   (qui   sera   gene'ralement  ecrit  dans
    /var/adm/syslog).

 66..  ((DDeess--))IInnssttaallllaattiioonn eett qquueellqquueess aassttuucceess

 L'installation de _U_m_s_d_o_s n'est pas vraiment differente de  celle  d'un
 systeme _L_i_n_u_x ordinaire (_b_a_s_e _s_u_r _E_x_t_2).

 Il y a tout de meme deux differences principales.

 66..11..  LLaa ppsseeuuddoo--rraacciinnee //mmnntt//lliinnuuxx

 Les etapes normales lors de l'installation sont :

 1. Creer une partition avec fdisk et la formatter.

 2. La   monter   sur   /mnt  relativement  a  notre  disque  principal
    d'installation.

 3. Copier tous les paquetages dans /mnt.

 Avec _U_m_s_d_o_s l'etape 1 n'est pas necessaire (n'etait-ce pas le  but  de
 _U_m_s_d_o_s de ne pas avoir a reformatter ?).

 Il  est  possible  d'installer un systeme _U_m_s_d_o_s juste en copiant tous
 les paquetages dans /mnt. Cela marchera  certainement.  Mais  cela  va
 aussi  creer  tout  un  tas  de sous-repertoires dans votre repertoire
 racine _D_O_S (C:), et vous n'allez pas aimer ca. C'est  la  raison  pour
 laquelle  toute  installation  de  _U_m_s_d_o_s utilise la pseudo-racine. Et
 c'est la difference majeure entre une installation normale  (_E_x_t_2)  et
 celle de _U_m_s_d_o_s : tous les fichiers sont copies dans /mnt/linux.

 66..22..  PPrreeppaarreerr llee rreeppeerrttooiirree //mmnntt//lliinnuuxx

 /mnt/linux  n'est pas un repertoire ordinaire. Il doit etre promu pour
 pouvoir manipuler correctement les noms de fichiers longs de _L_i_n_u_x  et
 les  fichiers  speciaux  (liens,  fichiers  peripheriques). Les etapes
 necessaires pour configurer /mnt/linux sont :

 1. mkdir /mnt/linux

 2. umssync /mnt/linux

 Et c'est tout !

 66..33..  VVeerriiffiieerr qquuee //mmnntt//lliinnuuxx est correctement configure

 Meme si la configuration de /mnt/linux est plutot simple, il  y  a  un
 certain  nombre  de  paquetages  qui  ne  marchent pas. Comment est-ce
 possible ?

 Le probleme d'installation le  plus  important  vient  d'un  programme
 umssync incompatible. _U_m_s_d_o_s a ete mis a jour dans linux 1.1.88 (je ne
 me rappelle plus exactement du numero) et un bug a ete decouvert  dans
 umssync.  Pour  eviter  toute confusion dans la communaute _L_i_n_u_x, il a
 ete decide de monter le niveau de compatibilite necessaire  pour  tous
 les  utilitaires _U_m_s_d_o_s. Les anciennes versions de ces utilitaires ont
 ete purement et simplement rejetees.

 Apparemment  beaucoup  de  distributions  n'ont   pas   mis   a   jour
 l'utilitaire umssync sur leur disque d'installation.

 Il  existe encore pas mal de distributions de ce style en circulation.
 Le resultat est que le repertoire /mnt/linux n'est pas promu  du  tout
 et  va tronquer tous les noms de fichiers trop longs, et aussi rejeter
 tous les fichiers speciaux.

 Il est possible de faire un test tres tot pendant l'installation  pour
 voir  si  quelque chose s'est mal passe. Grace au mecanisme de pseudo-
 console de _L_i_n_u_x, vous pouvez  le  faire  sans  quitter  le  programme
 d'installation. Suivez les instructions suivantes :

 1. Appuyez  sur Alt-F2 (Appuyez sur la touche Alt et en meme temps sur
    la touche F2).

 2. Logguez-vous sous root.

 3. cd /mnt/linux

    Si cela ne marche pas, vous etes en train d'essayer  trop  tot.  Un
    bon moment pour faire ce test est d'attendre la fin de la selection
    des paquetages.

 4. >TOTO

 5. ls -l

    Un fichier vide du nom de TOTO (en majuscules) doit apparaitre.  Si
    vous le voyez en minuscules, quelque chose s'est mal passe. Essayez
    de recommencer a l'etape du umssync. Vous pouvez  utiliser  umssync
    autant de fois que vous voulez sans problemes.

    umssync .

    S'il  n'y a pas de message d'erreur, refaites le test pour TOTO. Si
    TOTO apparait bien, alors tout va pour le mieux. Cette installation
    avait  quelque  chose  de bizarre mais vous avez reussi quand meme.
    Continuez.

 6. Appuyez sur Alt-F1 pour revenir a l'ecran d'installation.

 Si le test n'a pas marche, la meilleure solution est  de  prendre  une
 disquette d'installation plus recente. Il est generalement possible de
 resoudre ce  probleme  en  installant  une  version  plus  recente  de
 umssync.  Ce  n'est pas difficile mais cela necessite un systeme _L_i_n_u_x
 en etat de marche. Vous avez juste a monter le lecteur de disquette et
 a remplacer la version caduque de umssync par une nouvelle.

 66..44..  OOooppss rreelleeaassiinngg ppsseeuuddoo rroooott ......

 La plupart des installations qui ne marchent pas le font en donnant ce
 message etrange. Ce n'est pas un bug dans _U_m_s_d_o_s bien que  ce  message
 puisse paraitre vraiment bizarre. Voici les causes connues :

 +o  La plus commune

    L'installation  de  la _S_l_a_c_k_w_a_r_e essaye de configurer un fichier de
    swap tres tot lors de l'installation.  Pour  ce  faire,  elle  vous
    demande  de  selectionner une partition (lecteur _D_O_S), puis elle la
    monte et cree pour finir le fichier de swap.
    Lors  de  l'installation  d'un  systeme   _S_l_a_c_k_w_a_r_e,   vous   devez
    configurer  la partition cible avant de commencer a installer autre
    chose. Cela monte normalement la partition _D_O_S sur  /mnt,  cree  le
    repertoire /mnt/linux et lance umssync dessus.

    C'est  de la que viennent la plupart des problemes. Un grand nombre
    d'utilisateurs  sautent  l'etape  "configuration  de  la  partition
    cible"  et  passent  directement  au reste de l'installation. Comme
    /mnt est deja  monte,  cette  erreur  n'est  pas  remarquee.   Cela
    signifie  que /mnt/linux n'a pas ete correctement cree (non promu).
    Donc tous les fichiers dont le nom est trop long,  ainsi  que  tous
    les  fichiers  speciaux  (liens, fichiers peripheriques) ne peuvent
    pas etre crees correctement.

 +o  Utilitaire umssync non valide

    /mnt/linux  a  ete  mal  configure,   generalement   a   cause   de
    l'utilitaire umssync non valide sur la disquette d'installation.

 +o  Vieux bug de _U_m_s_d_o_s

    Il  y  avait  un bug dans _U_m_s_d_o_s avant _L_i_n_u_x _1_._2_._2. Le mode pseudo-
    racine ne s'activait  pas  correctement  si  le  fichier  /etc/init
    n'etait  pas  present.  init  se trouve maintenant dans /sbin. Vous
    pouvez resoudre ce probleme en vous procurant un noyau plus recent.
    C'est  d'autant  plus recommande qu'un nouveau bug a ete detecte et
    corrige dans la version 1.2.2.

    Si vous n'avez pas de version plus recente, faites ceci :

    1. Demarrez a partir de la disquette d'installation.

    2. Logguez-vous sous root.

    3. mount -t umsdos /dev/hdXX /mnt

       ou /dev/hdXX est votre partition _D_O_S.

    4. cd /mnt/linux/etc

    5. ln -s ../sbin/init init

    6. cd /

    7. Ctrl-Alt-Del

    8. Demarrez normalement sous _U_m_s_d_o_s.

 Malheureusement, les deux premiers  problemes  d'installation  donnent
 une installation completement inutilisable. Il va falloir desinstaller
 puis reinstaller _U_m_s_d_o_s.

 66..55..  CCoommmmeenntt ddeessiinnssttaalllleerr uunn ssyysstteemmee _U_m_s_d_o_s

 Il y a quelque chose de pratique  avec  _U_m_s_d_o_s  et  son  mecanisme  de
 pseudo-racine,  c'est que vous pouvez le desinstaller sans douleur. Il
 suffit de demarrer  sous  _D_O_S  et  d'effacer  recursivement  tous  les
 repertoires  linux.  C'est  tout.  _U_m_s_d_o_s  n'a  pas  besoin de drivers
 particuliers dans le fichier config.sys, et il ne cree rien de special
 en dehors du repertoire linux.

 66..66..  DDeeppllaacceerr uunn ssyysstteemmee _U_m_s_d_o_s vveerrss uunn aauuttrree lleecctteeuurr _D_O_S

 Cela  peut  etre  fait a partir de _L_i_n_u_x ou du _D_O_S. Il suffit juste de
 copier recursivement les repertoires linux d'un lecteur vers  l'autre.
 Ensuite  il  faudra  modifier  le mecanisme de demarrage (generalement
 avec la commande loadlin) et le fichier /etc/fstab.

 _U_m_s_d_o_s peut etre installe sur n'importe quel lecteur _D_O_S. Il n'est pas
 obligatoire  de  l'installer sur le lecteur C:, ni meme sur le premier
 disque dur. Cela ne change rien.

 En fait, vous pouvez meme decider d'avoir plusieurs  installations  de
 _U_m_s_d_o_s sur differents lecteurs pour faire des tests.

 66..77..  IInnssttaalllleerr 5500 ssyysstteemmeess _U_m_s_d_o_s..

 Pourquoi  ne pas installer tout un tas de systemes _L_i_n_u_x en un rien de
 temps ?

 _U_m_s_d_o_s repose sur le mode du _D_O_S. Vous pourvez tirer partie  de  cette
 particularite si vous voulez installer _L_i_n_u_x facilement.

 Vous  pouvez  ainsi  installer  et configurer un systeme _U_m_s_d_o_s sur un
 site. Lorsque vous etes satisfait de la configuration obtenue  et  des
 paquetages  selectionnes,  vous  pouvez demarrer sous _D_O_S et copier la
 totalite du repertoire  linux  sur  votre  serveur  de  fichiers  _D_O_S.
 Ensuite  il vous suffit d'aller sur une autre station _D_O_S et de copier
 les fichiers du lecteur reseau vers le lecteur local. C'est  tout.  Il
 ne  vous reste plus qu'a modifier le script de demarrage (_L_o_a_d_l_i_n_x) et
 c'est parti.

 Avec quelques modifications  minimes  (nom  de  l'hote,  adresse  IP),
 n'importe  qui  pourra  installer un systeme _L_i_n_u_x en deux temps trois
 mouvements.

 Les lecteurs interesses auront pu remarquer qu'il est  aussi  possible
 d'installer n'importe quel systeme _L_i_n_u_x de la meme maniere, y compris
 les systemes bases sur _E_x_t_2.

 Un des aspects les plus sympathiques de _L_i_n_u_x est qu'il n'y a  pas  de
 fichiers   caches  qui  doivent  absolument  etre  installes  par  des
 programmes "magiques".

 77..  CCoonnffiigguurreerr uunnee sseeccttiioonn _L_i_n_u_x ddaannss uunnee ppaarrttiittiioonn _D_O_S..

 _U_m_s_d_o_s peut se reveler utile meme aux utilisateurs de _E_x_t_2 (le systeme
 de fichiers natif de _L_i_n_u_x). Un scenario classique est le suivant :

 +o  _L_i_n_u_x  etant  votre  systeme  d'exploitation  prefere, la partition
    _L_i_n_u_x se remplit a n'en plus finir.

 +o  Votre partition _D_O_S est pleine de poussiere, et a moitie vide.

 +o  Soudain vous n'avez plus de place sur votre partition _E_x_t_2.

 +o  Vous n'etes pas encore sur de  vouloir  vous  debarasser  de  votre
    partition _D_O_S.

 C'est  ici  que  _U_m_s_d_o_s  peut  vous  aider.  Vous pouvez configurer un
 repertoire  _L_i_n_u_x  sur  votre  partition  _D_O_S,  et   l'utiliser   sans
 restriction  sous  _L_i_n_u_x. Par exemple, supposons que vous voulez creer
 un nouveau repertoire nomme "extra" sur votre lecteur C:, et que  vous
 voulez qu'il se comporte comme un repertoire _L_i_n_u_x normal. Faites ceci
 : (en supposant que C: est /dev/hda1)

              mkdir /c
              /sbin/mount -t umsdos /dev/hda1 /c
              mkdir /c/extra
              umssync /c/extra

 Il vous faut etre sous root pour executer ces commandes

 En configurant /etc/fstab comme ceci, vous  aurez  toujours  acces  au
 repertoire /c/extra.

 88..  PPoouurrqquuooii _U_m_s_d_o_s ??

 Expliquer  le  fonctionnement et l'installation d'un systeme _U_m_s_d_o_s ne
 suffit pas. Ce que la plupart des gens cherche, ce sont  des  conseils
 pour savoir s'ils doivent utiliser _U_m_s_d_o_s ou non.

 88..11..  LLee bbuutt ddee _U_m_s_d_o_s

 Le  but  de  _U_m_s_d_o_s est de faciliter l'installation de _L_i_n_u_x. Un autre
 but  est  de  faciliter  sa  DES-installation.  L'idee  ici  etait  de
 favoriser   la  diffusion  de  _L_i_n_u_x.  Installer  un  nouveau  systeme
 d'exploitation  est  toujours  problematique.  _O_S_/_2  par  exemple   va
 gentiment  polluer  la  racine de votre lecteur C: avec tout un tas de
 nouveaux repertoires. Si vous etes aussi doue  que  moi,  il  va  meme
 effacer  vos  fichiers config.sys et autoexec.bat :-( (NdT : Tant qu'a
 faire !).

 L'utilisation de la pseudo-racine permet d'eviter cette  invasion  non
 desiree, et _L_i_n_u_x peut etre desinstalle sans effets de bord.

 88..22..  QQuuii eenn aa bbeessooiinn ??

 Si vous avez un petit disque dur, _U_m_s_d_o_s va vous permettre de partager
 l'espace disque entre le _D_O_S et _L_i_n_u_x. A mon avis, on peut  considerer
 qu'un  disque  de  moins  de 300 Mo est un petit disque. Cette opinion
 repose sur la taille des differents paquetages disponibles  a  l'heure
 actuelle. Un traitement de textes populaire veut prendre jusqu'a 70 Mo
 si vous choisissez toutes les possibilites.

 Si vous avez un disque plus gros,  vous  pouvez  choisir  d'avoir  une
 partition  dediee  a _L_i_n_u_x utilisant le systeme de fichiers _E_x_t_2. _E_x_t_2
 utilise une taille de clusters plus petite que _D_O_S  (en  fait  1  Ko),
 donc  installer beaucoup de petits fichiers prendra moins de place que
 sur une partition _U_m_s_d_o_s.

 88..33..  PPeerrffoorrmmaanncceess

 Ceci s'applique a une comparaison entre _U_m_s_d_o_s et _E_x_t_2.

 +o  La gestion des repertoires est plus rapide sous _E_x_t_2. Cela provient
    de la double structure des repertoires sous _U_m_s_d_o_s.

 +o  L'acces  aux  fichiers  (lecture et ecriture) est probablement plus
    rapide sous _U_m_s_d_o_s que sous _E_x_t_2. Cela vient de  la  simplicite  du
    systeme de fichiers _F_A_T utilise par _D_O_S.

    Cependant cette simplicite a un cout :

 +o  Un  maximum  d'environ  65  000 fichiers ou clusters par partition.
    Cela signifie  aussi  qu'une  parition  de  500  Mo  utilisera  des
    clusters  de  16  Ko.  En  d'autres  termes,  un fichier d'un octet
    utilisera 16 K0 d'espace disque.

 +o  Tout est controle par la FAT qui se trouve au debut du disque  dur.
    Le  systeme _D_O_S est donc certainement plsu fragile a cause de cela.

 +o  Aucune prevision pour eviter  la  fragmentation  des  fichiers.  Un
    systeme  _U_m_s_d_o_s  est generalement utilise en mode mono-utilisateur.
    Dans ce cas, cela n'a  pas  beaucoup  d'importance.  Mais  pour  un
    systeme  multi-utilisateurs,  les  fichiers  seront eparpilles dans
    tous les coins du disque, ce qui aura pour  effet  de  reduire  les
    performances d'acces aux fichiers.

 +o  Les  liens  symboliques  sont stockes dans des fichiers normaux. Si
    vous comptex en avoir beaucoup, vous vous rendrez compte que _U_m_s_d_o_s
    utilise beaucoup d'espace disque compare a _E_x_t_2.