Cette évolution de la gestion des périphériques est une nouveauté de Solaris Express version 12/06.
Les anciennes fonctions de gestion des médias amovibles ont été remplacées par des services et des méthodes plus évolués.
Voici l'ensemble des nouvelles fonctions disponibles :
Les nouveaux services de médias amovibles sont activés et désactivés au moyen de SMF.
online 12:17:54 svc:/system/hal:default online 12:17:56 svc:/system/filesystem/rmvolmgr:default online 12:17:26 svc:/system/dbus:default |
Les médias amovibles sont désormais montés automatiquement dans le répertoire /media . Cependant, les liens symboliques renvoyant à /media proviennent des points de montage de médias précédents, /cdrom et /rmdisk, pour des raisons de compatibilité.
Voici, par exemple, comment est montée une carte mémoire Compact Flash (/dev/dsk/c4d0p0:1) :
$ ls /media/NIKON |
Voici, par exemple, comment est montée une carte USB Memory Stick (/dev/dsk/c3t0d0s0) :
$ ls /media/U3 |
Voici, par exemple, comment est montée une disquette (/dev/diskette0) :
$ ls /media/floppy |
Le gestionnaire de volumes de médias amovibles par défaut, rmvolmgr, est chargé des activités suivantes :
Montage et démontage des volumes.
L'instance racine de rmvolmgr s'exécute au démarrage du système. Il est possible, toutefois, de paramétrer les fichiers de configuration de votre session afin de lancer une instance de rmvolmgr au moment où vous établissez la connexion. Lorsqu'elle est exécutée dans le cadre d'une session utilisateur, rmvolmgr monte uniquement les périphériques appartenant à l'utilisateur ou à la session en cours et n'entre pas en conflit avec l'instance racine.
Dès que vous quittez la commande rmvolmgr, celle-ci se charge de démonter tous les médias qu'elle a montés.
Pour des raisons de compatibilité, rmvolmgr crée des liens symboliques sous les répertoires /cdrom, /floppy, /rmdisk vers les points de montage réels sous /media.
Un mode d'exécution spécial de rmvolmgr est prévu pour assurer la compatibilité CDE.
Le démon HAL (Hardware Abstraction Layer, couche d'abstraction matérielle) hald, propose une vue du périphérique relié à un système. Cette vue est automatiquement mise à jour en cas de modification de la configuration matérielle, via la connexion à chaud ou d'autres mécanismes.
HAL représente un élément matériel sous forme d'un objet de périphérique. Ce type d'objet est désigné par un identificateur de périphérique unique (UDI) et est caractérisé par un ensemble de paires clé-valeur qui correspondent aux propriétés du périphérique. Certaines propriétés sont dérivées du matériel proprement dit, d'autres sont fusionnées à partir des fichiers d'informations des périphériques (fichiers .fdi) et d'autres encore sont associées à la configuration réelle du périphérique.
Les fonctions suivantes sont supprimées :
Le démon vold, le système de fichiers volfs et le service volfs n'existent plus.
svc:/system/filesystem/volfs |
Les noms de périphériques logiques des médias amovibles sous le répertoire /vol, tels que /vol/dev/rdsk/... ou /vol/dev/aliases/..., ne sont plus fournis.
Pour accéder au média amovible par son nom de périphérique logique, il convient d'utiliser le périphérique /dev. Par exemple :
/dev/rdsk/c0t6d0s2 |
Certains pseudos de périphériques vold ne sont plus disponibles. La sortie eject -l suivante identifie les pseudos de périphériques disponibles pour chaque périphérique et indique, dans l'exemple, les noms de chemin des médias montés (/media/SOL[lowbar]11[lowbar]X86[lowbar]4):
$ eject -l /dev/dsk/c2t0d0s2 cdrom,cdrom0,cd,cd0,sr,sr0,SOL_11_X86_4,/media/SOL_11_X86_4 /dev/diskette floppy,floppy0,fd,fd0,diskette,diskette0,rdiskette,rdiskette0 |
La liste séparée par des virgules présente les pseudos à utiliser pour éjecter chaque périphérique.
Les personnalisations effectuées dans vold.conf et rmmount.conf ne sont plus disponibles dans la mesure où ces fichiers de configuration n'existent plus. Pour plus d'informations sur la gestion des personnalisations de médias, reportez-vous à la section Personnalisation de la gestion des médias amovibles.
Les commandes commençant par vol* à l'exception de volcheck et volrmmount ont été supprimées.
Les fonctionnalités suivantes assurent une compatibilité ascendante avec les fonctions de gestion de médias amovibles précédentes de Solaris :
Les points de montage de médias amovibles ont été transférés dans le répertoire /media, lequel est utilisé pour monter des médias amovibles, tels que des CD-ROM et des périphériques USB. Les liens symboliques renvoyant à /media provenant des points de montage de médias précédents, tels que /cdrom and /rmdisk, sont fournis pour des raisons de compatibilité.
La commande rmformat est toujours disponible. La sortie de cette commande est identique au résultat obtenu dans les versions précédentes de Solaris lorsque vold est désactivée.
Par exemple :
# rmformat Looking for devices... 1. Logical Node: /dev/rdsk/c0t6d0s2 Physical Node: /pci@1f,4000/scsi@3/sd@6,0 Connected Device: TOSHIBA DVD-ROM SD-M1401 1009 Device Type: DVD Reader Bus: SCSI Size: 2.9 GB Label: <None> Access permissions: <Unknown> |
La commande eject est toujours disponible, mais a fait l'objet d'améliorations. Pour plus d'informations, reportez-vous à la section Éjection des médias amovibles.
La plupart des commandes commençant par vol* sont supprimées dans cette version. Vous disposez d'une version modifiée de rmmount et d'une nouvelle commande rmumount pour monter et démonter les médias amovibles.
Ces commandes permettent d'effectuer le montage par nom de périphérique, étiquette ou point de montage. Voici, par exemple, comment monter un iPod :
% rmmount ipod |
Voici, par exemple, comment démonter les systèmes de fichiers sur un DVD :
# rmumount cdrom cdrom /dev/dsk/c0t6d0s5 unmounted cdrom /dev/dsk/c0t6d0s0 unmounted |
Pour plus d'informations, reportez-vous à la page de manuel rmmount(1M).
Vous pouvez tirer parti de la commande volcheck existante pour interroger manuellement les disquettes et les monter en cas de détection d'une nouvelle disquette.
Si vous reformatez manuellement la disquette après l'avoir connectée au système, HAL n'est pas automatiquement prévenu. Continuez d'exécuter la commande volcheck pour envoyer une notification au système et essayez de monter automatiquement un nouveau système de fichiers sur une disquette.
Comme dans les versions précédentes de Solaris, servez-vous de la commande eject pour démonter et éjecter les médias amovibles. Cependant, les options eject suivantes sont disponibles :
Force l'éjection du périphérique même s'il est occupé.
Affiche les chemins et les pseudos des périphériques qu'il est possible d'éjecter.
Envoie une commande de fermeture du plateau du CD-ROM au périphérique. Les périphériques ne reconnaissent pas tous cette option.
Pour éjecter, par exemple, un média par son étiquette de volume :
% eject mypictures |
Comme c'était le cas auparavant, vous devrez éventuellement exécuter la commande volcheck avant d'éjecter la disquette avec la commande eject.
Pour plus d'informations, reportez-vous à la page de manuel eject(1).
Pour la majorité des personnalisations disponibles dans les fichiers vold.conf et rmmount.conf, il convient d'utiliser les préférences du gestionnaire de volumes de bureau ou de modifier les fichiers .fdi.
En ce qui concerne les actions rmmount.conf, vous devrez faire appel soit aux actions du gestionnaire de volumes de bureau, gconf, soit aux légendes HAL.
Auparavant, il était possible d'exécuter les actions rmmount.conf en tant que racine pour le compte d'utilisateurs ordinaires. Il convient à présent d'installer les exécutables des légendes dans le répertoire /usr/lib/hal.
Vous pouvez désactiver l'intégralité ou une partie des fonctionnalités de médias amovibles dans cette version :
Pour éviter que les volumes soient montés en dehors des sessions utilisateur, désactivez le service rmvolmgr. Par exemple :
# svcadm disable rmvolmgr |
Pour empêcher la gestion de volume, désactivez les services dbus, hal et rmvolmgr.
# svcadm disable rmvolmgr # svcadm disable dbus # svcadm disable hal |
La désactivation de ces services implique le montage manuel de tous les médias au moyen de la commande mount.