Cette section décrit les bogues d'administration du système dans Solaris 10.
Un système qui exécute Sun Patch Manager Tool 2.0 peut gérer des systèmes distants exécutant l'outil Patch Manager, notamment Sun Patch Manager Tool 1.0.
Cependant, un système avec une version antérieure de l'outil Patch Manager ne peut pas gérer des systèmes distants qui exécutent Patch Manager Tool 2.0. Les versions précédentes de ce programme comprennent notamment :
Sun Patch Manager Base Software 1.x
Sun Patch Manager Tool 1.0
La prise en charge par CIM/WBEM (Common Information Model/Web Based Enterprise Management) de l'outil Patch Manager n'existe pas dans le système d'exploitation Solaris 8. Par conséquent, la gestion à distance avec Patch Manager n'est pas applicable aux systèmes Solaris 8.
Sun Remote Services (SRS) Net Connect n'est pris en charge que dans la zone globale. Des messages d'erreur s'affichent si vous effectuez une des actions suivantes :
Vous installez SRS Net Connect dans une zone locale.
Vous installez SRS Net Connect dans la zone globale lors de la création de la zone locale.
Les messages d'erreur sont les suivants :
*** package SUNWcstu failed to install - interactive administration required: Interactive request script supplied by package pkgadd: ERROR: request script did not complete successfully Installation of SUNWcstu was suspended (interaction required). No changes were made to the system. *** package SUNWfrunc failed to install - interactive administration required: Interactive request script supplied by package pkgadd: ERROR: request script did not complete successfully Installation of SUNWfrunc was suspended (interaction required). No changes were made to the system. |
Solution : ignorez les messages d'erreur.
Lors de l'installation d'une zone non globale à l'aide de la commande zoneadm, des messages d'erreur ou d'avertissement peuvent s'afficher au cours de l'installation des packages. Les messages sont semblables à ceux de l'exemple suivant :
Preparing to install zone zone1. Creating list of files to copy from the global zone. Copying 2348 files to the zone. Initializing zone product registry. Determining zone package initialization order. Preparing to initialize 790 packages on the zone. Initialized 790 packages on zone. Zone zone1 is initialized. Installation of the following packages generated errors: SUNWjhrt SUNWmcc SUNWjhdev SUNWnsb SUNWmcon SUNWmpatchmgr Installation of the following packages generated warnings: SUNWj3rt SUNWmc SUNWwbmc SUNWmga SUNWdclnt SUNWlvma SUNWlvmg SUNWrmui SUNWdoc SUNWpl5m SUNWpmgr |
Les problèmes liés à l'installation du package sont également enregistrés dans le fichier /export/zone1/root/var/sadm/system/logs/install_log qui contient un journal de l'installation de la zone.
Solution : Aucune.
La zone non globale est toujours utilisable même si ces messages ont été affichés. Des problèmes liés à l'installation des packages existaient dans les versions précédentes de Solaris Express et les versions bêta de Solaris10. Cependant, aucune notification concernant ces problèmes n'a été générée. À partir de cette version de Solaris, ces erreurs sont maintenant correctement signalées et consignées.
Si vous essayez de lancer l'utilitaire Solaris Product Registry dans une zone, cette tentative échoue. Au cours de l'installation de la zone, productregistry, la base de données de Solaris Product Registry n'est pas dupliquée dans la zone. Par conséquent, l'utilitaire ne peut pas s'exécuter dans une zone.
Solution : en tant que superutilisateur, copiez la base de données productregistry dans la zone.
# cp /var/sadm/install/productregistry zone_path/var/sadm/install/ |
Dans la commande précédente, zone_path est le chemin d'accès au répertoire root de la zone que vous avez créée.
La commande patchadd ne peut pas réappliquer de patchs dans les cas suivants.
Vous appliquez un patch à un système ne contenant pas tous les packages auxquels le patch doit être appliqué.
Vous installez plus tard les packages qui n'ont pas été installés lorsque vous avez appliqué le patch.
Vous réappliquez le patch sur les derniers packages installés.
La partie du patch qui s'applique au package que vous avez ajouté ultérieurement n'est pas installée. Un message semblable au suivant s'affiche.
patchadd ~tsk/patches/111111-01 Validating patches... Loading patches installed on the system... Done! Loading patches requested to install. Done! The following requested patches are already installed on the system Requested to install patch 111111-01 is already installed on the system. No patches to check dependency. |
Solution : Choisissez l' un des palliatifs suivants.
Solution 1 : si vous n'avez pas créé de zones sur votre système, utilisez la commande patchadd avec l'option -t pour appliquer un patch au système.
# patchadd -t patch-ID |
Dans la commande précédente, patch-ID est l'ID du patch que vous voulez appliquer.
Solution 2 : si vous avez créé des zones sur votre système, procédez comme suit.
Sauvegardez le patch.
# patchrm patch-ID |
Installez les packages qui ne se trouvent pas sur le système mais auxquels le patch doit être appliqué.
# pkgadd -d device pkgabbrev |
Dans l'exemple précédent, device indique le chemin absolu vers le ou les packages que vous voulez installer. pkgabbrev indique le nom abrégé du package que vous voulez installer. Vous pouvez indiquer plusieurs noms de packages.
Réinstallez le patch.
# patchadd patch-ID |
Si vous créez une zone globale, puis que vous lui appliquez un patch, les services de connexion distants ne sont activés sur aucune zone non globale que vous créez ensuite. rlogin et telnet sont des exemples de services distants. Si vous créez une zone non globale après avoir appliqué un patch à une zone globale, vous ne pouvez pas vous connecter à distance à la zone non globale. Ce problème concerne les systèmes auxquels des patchs qui fournissent ou modifient le package SUNWcsr ont été appliqués.
Solution : Choisissez l' un des palliatifs suivants.
Solution 1 : si vous n'avez pas encore initialisé la zone non globale, procédez comme suit.
Dans la zone globale, sélectionnez le répertoire /var/svc/profile dans la zone non globale.
global# cd zone_path/root/var/svc/profile |
Dans l'exemple précédent, zone_path est le chemin d'accès à la zone non globale. Vous pouvez déterminer ce chemin en tapant la commande suivante dans une zone globale.
global# zonecfg -z zonename info zonepath |
Supprimez le profil inetd_services.xml.
global# rm inetd_services.xml |
Créez un lien symbolique pour inetd_services.xml qui pointe vers le profil inetd_generic.xml.
global# ln -s inetd_generic.xml inetd_services.xml |
Initialisez la zone non globale.
Pour plus d'informations concernant l'initialisation d'une zone, consultez le manuel System Administration Guide: Solaris Containers-Resource Management and Solaris Zones.
Solution 2 : si vous avez déjà initialisé la zone non globale, procédez comme suit.
Suivez les instructions de la solution précédente.
Dans la zone non globale, activez les services figurant dans le profil /var/svc/profile/inetd_services.xml.
my-zone# svccfg apply /var/svc/profile/inetd_services.xml |
Réinitialisez la zone non globale.
my-zone# reboot |
Solution 3 : avant de créer des zones sur le système, appliquez le patch approprié à la plate-forme.
Pour les systèmes SPARC, appliquez le patch ID 119015-01 ou une version ultérieure.
Pour les systèmes x86, appliquez le patch 119016-01 ou une version ultérieure.
Si vous utilisez la commande smdiskless pour supprimer un client sans disque, cette commande échoue. Le client sans disque n'est pas supprimé des bases de données du système. Le message d'erreur suivant apparaît :
Failing with error EXM_BMS. |
Solution : annulez le partage de la partition /export avant d'ajouter un nouveau client.
L'installation de Net Connect 3.1.1 échoue si vous sélectionnez le produit au début d'une installation complète de Solaris10. Ce problème se produit lorsque vous procédez à l'installation à l'aide du DVD du système d'exploitation Solaris 10. Une fois l'installation du système d'exploitation terminée, l'erreur suivante est enregistrée dans le journal d'installation de Net Connect à l'emplacement suivant : /var/sadm/install/logs/:
Installation of SUNWSRSPX failed. Error: pkgadd failed for SUNWsrspx Install complete. Package: SUNWsrspx |
Solution : une fois l'installation du système d'exploitation terminée, procédez comme suit :
Insérez le DVD du système d'exploitation Solaris 10 ou le CD 4 du Logiciel Solaris 10 -.
Accédez au répertoire du produit Net Connect.
Exécutez le programme d'installation de Net Connect.
Pour télécharger la dernière version du logiciel Sun Net Connect et de ses notes de version, connectez-vous au portail de Sun Net Connect à l'adresse https://srsnetconnect.sun.com.
Un échec de l'initialisation lié à l'archive Solaris Flash peut se produire dans les cas suivants :
Vous créez une archive Solaris Flash sur un système ayant recours à une bibliothèque libc C dotée de certaines fonctionnalités de prise en charge de matériel.
Vous installez l'archive sur un système clone comportant plusieurs fonctionnalités de prise en charge de matériel.
Lorsque vous tentez d'initialiser le système clone, le message d'erreur suivant s'affiche :
WARNING: init exited with fatal signal 9; restarting. |
Solution : Procédez comme indiqué ci-dessous.
Avant de créer l'archive, démontez la bibliothèque /lib/libc.so.1 sur le système maître.
# umount /lib/libc.so.1 |
Cette commande permet au système maître d'utiliser la version de base de la bibliothèque libc C.
Créez l'archive Solaris Flash sur le système maître.
Pour plus d'informations sur la création d'archives Solaris Flash, consultez le manuel Guide d’installation Solaris 10 : Archives Solaris Flash - Création et installation.
Montez la bibliothèque /lib/libc.so.1 sur le système maître.
# mount -O -F lofs /lib/libc.so.1 /usr/lib/libc/libc_hwcap2.so.1 |
Installez l'archive Solaris Flash sur le système maître.
Pour plus d'informations sur l'installation d'archives Solaris Flash, consultez le manuel Guide d’installation Solaris 10 : Archives Solaris Flash - Création et installation.
Si vous utilisez la commande smosservice delete pour supprimer un service de client sans disque, cette commande ne supprime pas tous les répertoires de service.
Solution : Procédez comme indiqué ci-dessous.
Vérifiez qu'aucun client existant n'utilise le service.
# unshare /export/exec/Solaris_10_sparc.all # rm -rf /export/exec/Solaris_10_sparc.all # rm -rf /export/exec/.copyofSolaris_10_sparc.all # rm -rf /export/.copyofSolaris_10 # rm -rf /export/Solaris_10 # rm -rf /export/share # rm -rf /export/root/templates/Solaris_10 # rm -rf /export/root/clone/Solaris_10 # rm -rf /tftpboot/inetboot.sun4u.Solaris_10 |
Supprimez l'entrée suivante du fichier /etc/bootparams.
fs1-24 boottype=:os |
Ne supprimez cette entrée que si ce serveur de fichiers ne fournit aucune fonction ou ressource pour d'autres services.
Supprimez l'entrée suivante du fichier /etc/dfs/dfstab.
share -F nfs -o ro /export/exec/Solaris_8_sparc.all/usr |
Modifiez le fichier /var/sadm/system/admin/services/Solaris_10.
Si le serveur de fichiers n'est pas Solaris_10, supprimez le fichier.
Si le serveur de fichiers est Solaris_10, supprimez toutes les entrées après les trois premières lignes. Les lignes supprimées indiquent les packages USR_PATH et SPOOLED ROOT du service dans /export/root/templates/Solaris_10 et les plates-formes prises en charge.
Si vous utilisez la commande patchadd pour installer des patchs sur le NFS d'un autre système, la commande échoue. L'exemple suivant montre une opération patchadd qui a échoué et le message d'erreur qui en résulte :
Validating patches... Loading patches installed on the system... [...] Loading patches requested to install. [...] Checking patches that you specified for installation. [...] Approved patches will be installed in this order: [...] Checking local zones... [...] Summary for zones: [...] Patches that passed the dependency check: [...] Patching global zone Adding patches... Checking installed patches... Verifying sufficient filesystem capacity (dry run method)... Installing patch packages... Patch Patch_ID has been successfully installed. See /var/sadm/patch/Patch_ID/log for details Patch packages installed: SUNWroute [...] Adding patches... The patch directory /dev/.SUNW_patches_0111105334-1230284-00004de14dcb29c7 cannot be found on this system. [...] Patchadd is terminating. |
Solution : dans un premier temps, copiez manuellement tous les patchs à installer à partir du serveur NFS sur le système local. Puis, utilisez la commande patchadd pour installer les patchs à partir du répertoire sur le système local dans lequel ils ont été copiés.
Si vous utilisez la commande lucreate pour créer des volumes RAID-1 (miroirs) pour lesquels le répertoire /dev/md ne comporte aucune entrée, la commande échoue. Vous ne pouvez pas mettre en miroir des systèmes de fichiers avec la commande lucreate sauf si vous créez d'abord les miroirs avec le logiciel Solaris Volume Manager.
Solution : créez les systèmes de fichiers mis en miroir avec le logiciel Solaris Volume Manager, puis créez le nouvel environnement d'initialisation avec la commande lucreate.
Pour plus d'informations concernant la commande lucreate, consultez la page man lucreate(1M) ou le manuel Guide d’installation de Solaris 10 : Solaris Live Upgrade et planification de la mise à niveau.
Pour plus d'informations concernant la création de systèmes de fichiers mis en miroir avec le logiciel Solaris Volume Manager, consultez le manuel Solaris Volume Manager Administration Guide.
Une panique du système survenant au cours d'un cycle Suspendre/Reprendre (cpr) peut provoquer le blocage du système. Ce problème est plus généralement observé sur les stations de travail Sun Blade 2000 sur lesquelles est installé l'accélérateur graphique XVR-1000. Il est plus rare que les autres systèmes SPARC s'interrompent lors d'une panique. Lors de la panique, le core dump n'est pas enregistré et aucune invite ne s'affiche sur la console. Le problème risque d'être plus important si le débogueur de noyau (kadb) est activé.
Solution : Pour rétablir le système à un état utilisable, réinitialisez manuellement le système.
Si vous tentez d'arrêter le système en appuyant sur la combinaison de touches Stop+A ou L1+A, le système risque de paniquer. Un message similaire s'affiche :
panic[cpu2]/thread=2a100337d40: pcisch2 (pci@9,700000): consistent dma sync timeout |
Solution : N'utilisez pas les séquences clavier pour forcer le système à entrer dans la mémoire PROM OpenBoot.
La commande ipfs enregistre et récupère les informations concernant l'état de Network Address Translation (NAT) et des tables d'état du filtrage des paquets. Cet utilitaire empêche l'interruption des connexions réseau si le système se réinitialise. Si vous exécutez la commande avec l'option -W, ipfs ne parvient pas à enregistrer les tables d'état du noyau. Le message d'erreur suivant apparaît :
state:SIOCSTGET: Bad address |
Solution : Aucune.
Lorsque vous créez un nouvel environnement d'initialisation à l'aide de la commande lucreate, les autorisations ne sont pas conservées pour les points de montage du système de fichiers. Par conséquent, certains processus utilisateur échouent. Si vous créez le nouvel environnement d'initialisation dans un environnement de clustering, le cluster arrête les nœuds, puis s'initialise à partir du CD-ROM pour réparer les autorisations pour les points de montage.
Solution : Procédez comme indiqué ci-dessous.
Créez le nouvel environnement d'initialisation.
# lucreate -n newbe -m /:c0t0d0s0:ufs -m /var:c1t0d0s0:ufs -m /usr:c2t0d0s0:ufs |
Dans l'exemple précédent, la commande lucreate crée l'environnement d'initialisation newbe. Cet exemple définit les systèmes de fichiers et les points de montage suivants.
Le système de fichiers root (/) est monté sur c0t0d0s0.
Le système de fichiers var est monté sur c10t0d0s0.
Le système de fichiers usr est monté sur c20t0d0s0.
Montez le système de fichiers racine du nouvel environnement d'initialisation.
# mount /dev/dsk/c0t0d0s0 /mnt |
Pour chaque point de montage qui est défini pour l'environnement d'initialisation, indiquez 755 pour les autorisations.
# chmod 755 /mnt/var # chmod 755 /mnt/usr |
Démontez le système de fichiers racine.
# umount /dev/dsk/c0t0d0s0
Après avoir modifié le contenu du fichier snmpd.conf, vous pouvez exécuter la commande kill -HUP snmp Process ID. Cette commande arrête le processus snmp. Puis, elle envoie un signal à l'agent maître de System Management Agent (snmpd) pour qu'il relise snmpd.conf et applique les modifications que vous y avez apportées. La commande peut ne pas exécuter l'agent maître pour qu'il relise le fichier de configuration. Par conséquent, l'utilisation de la commande ne peut pas toujours activer les modifications dans le fichier de configuration.
Plutôt que d'utiliser la commande kill -HUP, redémarrez System Management Agent après avoir ajouté des modifications à snmpd.conf. Ensuite, réalisez les opérations suivantes :
Prenez le rôle de superutilisateur.
Tapez la commande suivante :
# /etc/init.d/init.sma restart
Vous initialisez un serveur Sun LX50 qui comporte une partition Service et sur lequel Solaris 10 sur x86 est installé. Vous avez la possibilité d’initialiser la partition de service à l’aide de la touche F4. Cependant, cela efface le contenu de l’écran. Le système ne parvient pas à initialiser la partition Service.
Solution : n'appuyez pas sur la touche F4 lorsque l'écran d'initialisation du BIOS apparaît. Après quelques secondes, l'écran affichant les informations sur la partition de disque actuelle apparaît. Sélectionnez le chiffre dans la colonne Part# correspondant à type=DIAGNOSTIC. puis appuyez sur la touche Entrée. le système initialise la partition Service.
Le démon Solaris WBEM Services 2.5 ne peut pas localiser les fournisseurs indiqués pour l'interface com.sun.wbem.provider ou l'interface com.sun.wbem.provider20 . Même si vous créez une instance Solaris_ProviderPath pour un fournisseur qui est écrit pour ces interfaces, le démon Solaris WBEM Services 2.5 ne localise pas le fournisseur.
Solution : pour permettre au démon de localiser un tel fournisseur, arrêtez et redémarrez le démon Solaris WBEM Services 2.5.
# /etc/init.d/init.wbem stop # /etc/init.d/init.wbem start |
si vous utilisez l'API javax
pour développer votre fournisseur, vous n'avez pas besoin d'arrêter puis de redémarrer le démon Solaris WBEM Services 2.5. De fait, ce dernier reconnaît les fournisseurs javax
de façon dynamique.
Si vous décidez d'utiliser l'interface de programmation d'application com.sun plutôt que l'API javax
pour développer votre logiciel WBEM, seul l'appel de méthode distant (RIM) CIM est totalement pris en charge. Il n'est pas certains que d'autres protocoles, tels que XML/HTTP, fonctionnent tout à fait avec l'interface de programmation d'application com.sun.
Le tableau suivant répertorie des exemples d'appels qui sont exécutés avec succès sous RMI, mais échouent sous XML/HTTP.
Appel de méthode |
Message d'erreur |
---|---|
CIMClient.close() |
NullPointerException |
CIMClient.execQuery() |
CIM_ERR_QUERY_LANGUAGE_NOT_SUPPORTED |
CIMClient.getInstance() |
CIM_ERR_FAILED |
CIMClient.invokeMethod() |
XMLERROR: ClassCastException |
L'outil de montage et de partage de Solaris Management Console ne peut pas modifier les options de montage sur des systèmes de fichiers critiques tels que root (/), /usr et /var.
Solution : Choisissez l' une des solutions de rechange suivantes:
Utilisez l'option de remontage avec la commande de montage.
# mount -F type_système_fichier -o remount,options_montage_supplémentaires \ périphérique_à_monter point_montage |
les modifications de propriétés de montage apportées à l'aide de l'option -remount avec la commande mount ne sont pas persistantes. En outre, toutes les options de montage non spécifiées dans la portion options_montage_supplémentaires de la commande précédente héritent des valeurs par défaut spécifiées par le système. Consultez la page man mount_ufs(1M) pour plus d'informations.
Modifiez l'entrée appropriée dans le fichier /etc/vfstab pour changer les propriétés de montage de système, puis réinitialisez le système.