Echanger des données avec d'autres systèmes d'exploitation
Si vous utilisez deux (ou plus) systèmes d'exploitation, vous désirerez
probablement à un moment ou à un autre échanger des données entre ceux-ci.
S'ils sont installés sur des ordinateurs différents reliés par un réseau,
vous pouvez utiliser des programmes tels que ftp(1), disponible
pour la grande majorité (si ce n'est tous) des Systèmes d'Exploitation (SE),
ou encore rcp(1) entre deux systèmes de type Unix. Entre deux ordinateurs
non reliés par un réseau, vous pouvez utiliser
kermit(9)
(de même, disponible pour quasiment tous les SE) pour un transfert par
modem ou par connexion entre ports séries.
L'échange de données entre SEs situés sur le même ordinateur et
fonctionnant alternativement (ou simultanément grâce à une machine
virtuelle/émulée comme celles de VMWare et Bochs), ou sur des ordinateurs
différents qui ne peuvent pas communiquer par câble, nécessite de rendre
un des systèmes capable de lire et d'écrire les disquettes ou une partition
de disque appartenant à l'autre système. Avec les disquettes, la seule
difficulté est d'interpréter les structures de données utilisées par le
système de fichier étranger. Avec une partition de disque dur, on peut
avoir à résoudre d'abord un autre problème: bien que tous les systèmes
d'exploitation utilisant la même plateforme matérielle soient contraints à
utiliser la même méthode pour définir les partitions primaires (cad. la
seule supportée par le programme d'amorçage de l'ordinateur: le BIOS pour
un PC), les concepteurs de systèmes d'exploitation ont inventé différentes
techniques pour subdiviser les partitions primaires.
Ce document traite de la difficulté à interpréter les systèmes de fichier
étrangers; pour avoir des informations sur ce problème de subdivision,
consultez le document sur la
compatibilité des partitions.
L'objectif principal de MINIX est d'illustrer les principes de fonctionnement
d'un système d'exploitation. Conserver MINIX suffisamment compact pour rentrer
dans une tête d'étudiant en un cours d'un semestre (ou d'un an) a obligé à le
maintenir simple. Par exemple, il ne supporte que le montage de média
utilisant le système de fichier MINIX.
Accéder à des systèmes de fichiers étrangers depuis MINIX
Dans le monde Unix, monter un système de fichiers a une signification
précise: un système de fichiers monté fait partie d'une arborescence de
répertoires, dont / est la racine. Que MINIX ne puisse monter un système de
fichiers ne signifie pas pour autant qu'on ne puisse y accéder. La
distribution MINIX de base contient des utilitaires permettant de lire/écrire
des fichiers et répertoires sur un système de fichiers FAT MS-DOS ou Windows,
et de lire les fichiers et répertoires d'un système de fichiers ISO-9660,
tel que rencontré sur les CD-ROMs. Ces programmes sont les utilitaires
dos*, mtools et iso*.
Accéder au système de fichier MS-DOS/Windows depuis MINIX:
-
L'ancienne façon de faire consiste à utiliser les outils MINIX dosdir/dosread
/doswrite. Ils peuvent gérer les disquettes, et les partitions FAT relativement petites.
Si votre système de fichier Windows natif (p.ex. NTFS) ne peut être géré par les outils dos*, une
solution est de créer une partition FAT supplémentaire que les dos* sauront
utiliser et de l'employer comme étape intermédiaire dans le transfert entre les deux SE.
-
La nouvelle façon est l'utilisation de la commande mtools. Jusqu'à la version
2.03 de MINIX, il n'y a pas de pages man (manuel) pour mtools, mais son
utilisation est simple. Mtools utilise en premier argument une commande DOS standard,
comme copy, dir, etc; les arguments suivants sont les chemins d'accès
DOS et MINIX s'appliquant à la commande. Le chemin DOS est composé du nom du
périphérique MINIX, de deux points (:), et enfin du chemin d'accès avec les
séparateurs obliques d'Unix (/). Le chemin MINIX utilise la syntaxe habituelle
de MINIX. Par exemple:
# mtools copy /dev/fd0:/dir1/file1.txt /usr/local/doc
Mtools dispose de sa propre aide, affichée en tapant "mtools -?". Mtools a un défaut,
il est gourmand en mémoire: par défaut plus de 10 MO de mémoire lui sont allouées.
Ceci dit, la plupart des systèmes avec des partitions de disque trop larges pour être
utilisée avec les utilitaires dos* disposent également de beaucoup de RAM.
-
Vous pouvez également consulter l'article sur l'utilisation de
DOS comme pont
entre MINIX et Windows.
Accéder au système de fichier ISO-9660 (CD-ROM) depuis MINIX:
Les outils qui le permettent sont:
- isoinfo -- pour obtenir des informations sur un CD-ROM
- isodir -- pour lire un répertoire
- isoread -- pour lire un fichier
Bien entendu pour utiliser les utilitaires iso* vous devez connaître
le nom du périphérique MINIX qui correspond à votre lecteur. Sur un ordinateur
avec un disque dur et un lecteur de CD-ROM, il s'agit très probablement de
/dev/c0d1 ou /dev/c0d2 (ceci à partir de MINIX 2.03, avec les versions précédentes,
essayez /dev/hd5 ou /dev/hd10). Pour identifier le lecteur de CD-ROM, vous pouvez
utiliser la commande part ou essayer isoinfo avec différents arguments.
Accéder au système de fichier ext2 de Linux depuis MINIX:
Terry McConnell a porté sous MINIX le paquetage
ext2tools,
originellement écrit par Claus Tondering pour MS-DOS. L'original fournit les
outils nécessaires pour l'accès à un système de fichier ext2 sous MS-DOS, le port
permet la même chose depuis MINIX. Il contient les programmes suivants:
- e2cp -- pour copier un fichier depuis un système de fichiers ext2
- e2cat -- pour lister le contenu d'un fichier situé sur un système de fichiers ext2
- e2ls -- pour afficher le contenu d'un répertoire situé sur un système de fichiers ext2
Bien sur, depuis 2003 Linux a évolué, et le système ext2 n'est désormais plus
le plus utilisé sous Linux. Une des façons de contourner le problème est celle suggérée
plus haut pour Windows: créer une partition ext2 supplémentaire, voire directement une
partition MINIX, et l'utiliser comme escale pour les fichiers en transfert.
Accès au système de fichier MINIX depuis MS-DOS et Windows
Terry McConnell a amélioré un paquetage appelé MinDOS pour en faire
mintools,
qui donne accès aux fichiers MINIX depuis la ligne de commande MS-DOS.
Accès au système de fichier MINIX depuis Linux
Cette fois, c'est simpliste. Linus a utilisé le système de fichier
de MINIX comme base pour Linux, et bien que les disques durs Linux
utilisent en général le système ext3, ou un autre plus récent, le support
du système MINIX est fréquemment intégré si l'utilisation de disquettes
est prévue. En effet les systèmes plus récents ne sont pas adaptés aux
disquettes, et c'est par défaut celui de MINIX qui est alors utilisé.
Assurez-vous juste d'inclure le support du système de fichier MINIX si
vous devez compiler un noyau.
Transfert de fichier entre SE hôte et invité pour les machines virtuelles ou émulées
Avec l'utilisation d'une machine virtuelle ou émulée, comme celles
fournies par VMWare et Bochs, il est fréquemment nécessaire d'échanger
des données entre les systèmes d'exploitation hôte et invité. Suivant
les possibilités des deux systèmes, il y a plusieurs façons de le faire.
-
Connexion réseau: Si l'hôte et l'invité disposent tous les deux
d'une connexion réseau, les transferts de fichiers sont simples. Avec
Windows et Bochs sous Windows, l'hôte peut utiliser ftp pour envoyer
et récupérer des fichiers dans l'espace de fichier du MINIX invité. Je pense
que ceci fonctionnerait également pour MINIX et VMWare sous Windows, mais
le type de puce Ethernet simulé par VMWare pour son invité n'est pas encore
supporté par la distribution standard de MINIX. S'il est impossible de créer
une connexion réseau directe entre l'invité et l'hôte, transférer les fichiers
par l'intermédiaire d'une autre machine du réseau peut être le plus simple.
-
Disquettes: Si le Système d'Exploitation invité peut écrire sur des
disquettes physiques, elles peuvent servir au transfert de fichiers. MINIX
peut accéder aux disquettes formatées pour DOS grâce à mtools ou à
dos{read,write}. L'hôte Windows peut utiliser mintools pour
accéder aux disques MINIX.
Pour les fichiers trop volumineux pour tenir sur une disquette, l'utilitaire
fdvol fourni dans le répertoire dosutils peut servir sous Windows à
répartir un fichier sur plusieurs disquettes, fichier que le MINIX invité
reconstitue avec la commande vol. Dans le sens inverse, on peut employer
la commande dd sous MINIX pour fragmenter un fichier que doswrite
ou mtools pourront ensuite écrire sur une disquette formatée DOS, puis
sous Windows, concaténer ces fragments avec la commande copy pour retrouver le
fichier d'origine.
-
Disques virtuels: avec Bochs sous Windows 98, l'accès aux disquettes
physiques est impossible pour le SE invité, seuls les fichiers représentant
les disques virtuels peuvent être lus et écrits. Dans de nombreuses situations
les disques virtuels sont de toute façon plus pratiques d'utilisation que
les disquettes, en particulier car l'accès aux disquettes depuis Bochs est
très lent. Heureusement, contrairement à un disque virtuel, une disquette
virtuelle peut être créée en cours de fonctionnement, et plusieurs peuvent
être utilisées durant la même session. De plus, mtools peut être
utilisé pour formater une disquette virtuelle avec un système de fichiers
FAT, et du coté de Windows il existe un programme gratuit, DiskExplorer,
qui peut transférer des fichiers entre la disquette virtuelle et le système
de fichiers du Windows hôte.
-
Eléments inconnus ... Au moment ou j'écris cette section, la plus
grande partie de mon expérience avec les systèmes émulés et virtuels
consiste en l'utilisation de VMWare et Bochs sous Windows. J'aimerais
ajouter à cette section des informations sur le transfert de fichiers
entre un MINIX invité par VMWare/Bochs et un système hôte Linux/Unix,
de même qu'entre un MINIX invité par Bochs et Mac OS.
Liens pour les systèmes virtuels ou émulés: des sources d'information
supplémentaires sur quelques sujets mentionnés dans cette page.
(Ndt: tous ces liens se réfèrent à des pages en anglais)
Traduction Vincent Niarfeix
|