diff --git a/fr_FR.ISO8859-1/books/handbook/linuxemu/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/linuxemu/chapter.sgml index 30dfde7184..f4ad79b60d 100644 --- a/fr_FR.ISO8859-1/books/handbook/linuxemu/chapter.sgml +++ b/fr_FR.ISO8859-1/books/handbook/linuxemu/chapter.sgml @@ -1,3912 +1,3930 @@ Jim Mock Restructuré et en partie mis à jour par Brian N. Handy Contribution originelle de Rich Murphey Compatibilité binaire avec Linux &trans.a.fonvieille; Synopsis compatibilité binaire avec Linux compatibilité binaire Linux &os; fournit une compatibilité binaire avec plusieurs autres systèmes d'exploitation du type &unix;, y compris Linux. A ce point, vous devez vous demander pourquoi exactement &os; a besoin d'être capable d'exécuter des binaires Linux? La réponse à cette question est très simple. De nombreuses entreprises et de nombreux développeurs ne développent que pour Linux, puisque que c'est la dernière chose “à la mode” dans le monde de l'informatique. Cela ne laisse aux utilisateurs de &os; que la possibilité de réclamer auprès des ces mêmes entreprises et développeurs des versions native pour &os; de leurs applications. Le problème est, que la plupart de ces entreprises ne réalisent pas vraiment combien de personnes utiliseraient leur produit si il y aurait une version pour &os; également, et la plupart continuent de développer uniquement pour Linux. Donc que doit faire un utilisateur de &os;? C'est là que la compatibilité binaire avec Linux entre en scène. En bref, la compatibilité permet aux utilisateurs de &os; d'exécuter environ 90% des applications Linux sans aucune modification. Cela inclus des applications - comme StarOffice, - la version Linux de Netscape, - Adobe Acrobat, - RealPlayer - 5 et 7, VMWare, + comme &staroffice;, + la version Linux de &netscape;, + &adobe; &acrobat;, + RealPlayer, + VMware, &oracle;, - WordPerfect, Doom, + WordPerfect, Doom, Quake, et plus. On rapporte également que dans certaines situations, les binaires Linux sont plus performants sous &os; que sous Linux. - - Linux - système de fichiers - /proc - Il existe cependant certaines caractéristiques spécifiques à Linux qui ne sont pas supportées sous &os;. Les binaires Linux ne - fonctionneront pas sous &os; s'ils utilisent - le système de fichiers /proc de - Linux (qui est différent de celui de &os;), ou des appels - i386 spécifiques, comme activation du mode virtuel + fonctionneront pas sous &os; s'ils utilisent massivement + des appels + &i386; spécifiques, comme activation du mode virtuel 8086. Après la lecture de ce chapitre, vous connaîtrez: Comment activer la compatibilité binaire avec Linux sur votre système. Comment installer des bibliothèques partagées Linux supplémentaires. Comment installer des application Linux sur votre système &os;. Les détails de l'implémentation de la compatibilité Linux sous &os;. Avant de lire ce chapitre, vous devrez: Savoir comment installer des logiciels tiers (). Installation KLD (kernel loadable object) La compatibilité binaire avec Linux n'est pas activée par défaut. La manière la plus simple pour activer cette fonctionnalité est de charger le KLD linux (Kernel LoaDable object—objet chargeable par le noyau, ce que l'on nomme couramment un module). Vous pouvez charger ce module - en tapant simplement linux à - l'invite. + en tapant ce qui suit sous l'utilisateur + root: + + &prompt.root; kldload linux Si vous désirez que la compatibilité Linux soit toujours activée, alors vous devrez ajouter la ligne suivante au fichier /etc/rc.conf: linux_enable="YES" La commande &man.kldstat.8; peut être utilisée pour vérifier que le KLD est chargé: &prompt.user; kldstat Id Refs Address Size Name 1 2 0xc0100000 16bdb8 kernel 7 1 0xc24db000 d000 linux.ko options du noyau LINUX Si pour quelques raisons vous ne voulez ou pouvez charger le KLD, alors vous pouvez lier statiquement la compatibilité binaire Linux dans votre noyau en ajoutant options - LINUX à votre fichier de configuration du noyau. + COMPAT_LINUX à votre fichier de configuration du noyau. Puis installez votre noyau comme décrit dans la . Installer les bibliothèques Linux Linux installer les bibliothèques Linux Cela peut être fait de deux manières, soit en utilisant le logiciel porté linux_base, soit en les installant à la main. Installation à l'aide du logiciel porté linux_base catalogue des logiciels portés C'est de loin la méthode la plus simple pour installer les bibliothèques. La procédure est juste identique à l'installation d'un autre logiciel porté à partir du catalogue des logiciels portés. Faites ce qui suit: &prompt.root; cd /usr/ports/emulators/linux_base &prompt.root; make install distclean La compatibilité binaire Linux devrait maintenant fonctionner. Certains programmes pourront se plaindre de versions mineures incorrectes de certaines bibliothèques systèmes. Cela semble, en général, ne pas vraiment être un problème. Il peut y avoir de multiples versions disponibles du logiciel porté emulators/linux_base, correspondant à différentes distributions et versions de Linux. Vous devez installez la version la plus proche de ce que nécessite les applications Linux que vous désirez installer. Installer les bibliothèques à la main Si vous n'avez pas le catalogue des logiciels portés installé, vous pouvez à la place installer les bibliothèques à la main. Il vous faudra les bibliothèques partagées Linux dont à besoin le programme et l'éditeur de lien dynamiques. Vous devrez également créer un répertoire racine “masquant” (“shadow root”), /compat/linux, pour les bibliothèques Linux sur votre système &os;. Toute bibliothèque partagée ouverte par les programmes Linux exécutés sous &os; iront d'abord voir dans cette arborescence. Ainsi, si un programme Linux charge, par exemple, /lib/libc.so, &os; essayera d'abord d'ouvrir /compat/linux/lib/libc.so, puis si cette bibliothèque n'existe pas, /lib/libc.so. Les bibliothèques partagées doivent donc être installées sous l'arborescence /compat/linux/lib plutôt que sous les chemins d'accès mentionnés par la commande Linux ld.so. Généralement, vous ne devrez cherchez à savoir de quelles bibliothèques partagées dépendent les binaires Linux que les premières fois que vous installerez des programmes Linux sur votre système &os;. Au bout d'un moment, vous disposerez d'un jeu suffisant de bibliothèques partagées Linux sur votre système pour être en mesure d'exécuter les binaires Linux nouvellement importés sans effort supplémentaire. Comment installer des bibliothèques partagées supplémentaires bibliothèques partagées Que faire si vous avez installé le logiciel porté linux_base et que votre application se plaint toujours qu'il lui manque des bibliothèques partagées? Comment savoir quelles bibliothèques partagées ont besoin les binaires Linux, et où se les procurer? Il a habituellement deux possibilités (pour suivre les instructions ci-dessous, vous devrez être en session sous le compte super-utilisateur root). Si vous avez accès à un système Linux, déterminez de quelles bibliothèques partagées l'application a besoin, et copiez-les sur votre système &os;. Soit l'exemple suivant: Supposons que vous veniez de télécharger le binaire Linux de Doom, et que vous l'avez installé sur un système Linux. Vous pouvez alors vérifier de quelles bibliothèques partagées il a besoin pour fonctionner avec la commande ldd linuxdoom: &prompt.user; ldd linuxdoom libXt.so.3 (DLL Jump 3.1) => /usr/X11/lib/libXt.so.3.1.0 libX11.so.3 (DLL Jump 3.1) => /usr/X11/lib/libX11.so.3.1.0 libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29 liens symboliques Vous devrez récupérer tous les fichiers mentionnés dans la dernière colonne, et les installer sous /compat/linux, en utilisant les noms de la première colonne comme liens symboliques qui pointent dessus. Cela signifie que vous aurez éventuellement les fichiers suivants sur votre système &os;: /compat/linux/usr/X11/lib/libXt.so.3.1.0 /compat/linux/usr/X11/lib/libXt.so.3 -> libXt.so.3.1.0 /compat/linux/usr/X11/lib/libX11.so.3.1.0 /compat/linux/usr/X11/lib/libX11.so.3 -> libX11.so.3.1.0 /compat/linux/lib/libc.so.4.6.29 /compat/linux/lib/libc.so.4 -> libc.so.4.6.29
Remarquez que si vous avez déjà une bibliothèque partagée de même numéro de version majeure que celle indiquée par la première colonne du résultat de la commande ldd, il est inutile de copier le fichier donné par la dernière colonne sur votre système, celui que vous avez déjà devrait suffire. Il est cependant recommandé de recopier malgré tout la bibliothèque partagée si c'est une version récente. Vous pouvez supprimer l'ancienne version, du moment que le lien symbolique pointe sur la nouvelle. Par exemple, si vous avez les bibliothèques suivantes sur votre système: /compat/linux/lib/libc.so.4.6.27 /compat/linux/lib/libc.so.4 -> libc.so.4.6.27 et que vous avez un nouveau binaire qui d'après le résultat de la commande ldd semble avoir besoin d'une version plus récente: libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29 Si vous n'avez qu'une ou deux versions de retard sur le dernier indice, alors ne vous souciez pas d'installer la version /lib/libc.so.4.6.29 plus récente, parce que le programme devrait fonctionner sans problème avec une version légèrement antérieure. Vous pouvez néanmoins décider de remplacer libc.so, ce qui devrait vous donner quelque chose comme: /compat/linux/lib/libc.so.4.6.29 /compat/linux/lib/libc.so.4 -> libc.so.4.6.29
Le mécanisme de lien symbolique n'est nécessaire que pour les binaires Linux. L'éditeur de liens dynamiques de &os; se charge lui-même de trouver les numéros de versions majeures adéquats et vous n'avez pas à vous en préoccuper.
Installer des binaires Linux ELF Linux binaires ELF Une étape supplémentaire est parfois nécessaire pour les binaires ELF: le “marquage”. Si vous tentez d'exécuter un binaire ELF non marqué, vous obtiendrez un message d'erreur ressemblant à ce qui suit: &prompt.user; ./mon-binaire-elf-linux ELF binary type not known Abort Pour que le noyau &os; puisse distinguer un binaire ELF &os; d'un binaire Linux, vous devez employer l'utilitaire &man.brandelf.1;: &prompt.user; brandelf -t Linux mon-binaire-elf-linux outils GNU Les outils GNU incorporent désormais automatiquement les marques nécessaires dans les binaires ELF, vous aurez donc de moins en moins besoin de passer par cette étape à l'avenir. Configurer le résolveur de noms de domaines Si le DNS ne fonctionne pas, ou si vous avez les messages: resolv+: "bind" is an invalid keyword resolv+: "hosts" is an invalid keyword Vous devrez configurer un fichier /compat/linux/etc/host.conf contenant: order hosts, bind multi on Où l'ordre ci-dessus spécifie qu'il faut tout d'abord regarder dans le fichier /etc/hosts puis interroger le DNS. Quand le fichier /compat/linux/etc/host.conf n'existe pas, les applications Linux trouvent le fichier /etc/host.conf de &os; et se plaignent de sa syntaxe &os; incompatible. Supprimez bind si vous n'avez pas configuré de serveur de noms avec le fichier /etc/resolv.conf.
- Murray - Stokely - Mis à jour pour &mathematica; 4.X par - - - - - Bojan - Bistrovic - Fusionné avec un travail de + Boris + Hollas + Mis à jour pour &mathematica; 5.X par Installer &mathematica; applications Mathematica Ce document décrit l'installation de la version Linux - de &mathematica; 4.X sur un + de &mathematica; 5.X sur un système &os;. - La version Linux de &mathematica; - fonctionne parfaitement sous &os;, cependant les binaires - fournis par Wolfram doivent être marqués - afin que &os; sache qu'il faut utiliser l'ABI Linux pour les - exécuter. - La version Linux de &mathematica; ou la version &mathematica; for Students peut être commandée directement auprès de Wolfram à l'adresse . - Marquer les binaires Linux - - Les binaires Linux se trouvent dans le répertoire - Unix du CDROM - &mathematica; distribué par - Wolfram. Vous devez copier le contenu de ce répertoire - sur votre disque local de façon à marquer les binaires - Linux à l'aide de &man.brandelf.1; avant de lancer - l'installation: + Utiliser l'installeur &mathematica; - &prompt.root; mount /cdrom -&prompt.root; cp -rp /cdrom/Unix/ /localdir/ -&prompt.root; brandelf -t Linux /localdir/Files/SystemFiles/Kernel/Binaries/Linux/* -&prompt.root; brandelf -t Linux /localdir/Files/SystemFiles/FrontEnd/Binaries/Linux/* -&prompt.root; brandelf -t Linux /localdir/Files/SystemFiles/Installation/Binaries/Linux/* -&prompt.root; brandelf -t Linux /localdir/Files/SystemFiles/Graphics/Binaries/Linux/* -&prompt.root; brandelf -t Linux /localdir/Files/SystemFiles/Converters/Binaries/Linux/* -&prompt.root; brandelf -t Linux /localdir/Files/SystemFiles/LicenseManager/Binaries/Linux/mathlm -&prompt.root; cd /localdir/Installers/Linux/ -&prompt.root; ./MathInstaller - - Alternativement, vous pouvez simplement fixer + En premier lieu vous devez indiquer à &os; + que les binaires Linux de + &mathematica; utilisent l'ABI + Linux. La méthode la plus simple pour y parvenir est le marquage par défaut des binaires ELF non marqués - comme étant des binaires Linux avec la commande: + comme étant des binaires Linux, ce marquage se faisant + avec la commande: &prompt.root; sysctl kern.fallback_elf_brand=3 Avec cela &os; supposera que les binaires ELF non marqués sont des binaires Linux, et donc vous devriez être en mesure d'exécuter le programme d'installation directement depuis le CDROM. + + Copiez ensuite sur votre disque dur le fichier + MathInstaller: + + &prompt.root; mount /cdrom +&prompt.root; cp /cdrom/Unix/Installers/Linux/MathInstaller /localdir/ + + et dans ce fichier, remplacez /bin/sh + sur la première ligne par + /compat/linux/bin/sh. Cela permet de + garantir que l'installeur est exécuté par la + version Linux de &man.sh.1;. Ensuite, remplacez toutes les + occurences de Linux) par + FreeBSD) à l'aide d'un + éditeur de texte ou la procédure proposée + dans la section suivante. Cela indique à l'installeur + &mathematica;, qui fait appel + à la commande uname -s pour + déterminer le système d'exploitation, de traiter + &os; comme un système d'exploitation de type Linux. + Lancer maintenant la commande MathInstaller + procèdera à l'installation de + &mathematica;. - Obtenir votre mot de passe pour &mathematica; + Modifier les exécutables &mathematica; + + Les procédures que + &mathematica; a créé + lors de l'installation doivent être modifiées + avant que vous ne puissiez les utiliser. Si vous avez choisi + /usr/local/bin comme + répertoires pour les exécutables + &mathematica;, vous trouverez alors + dans ce répertoire des liens symboliques vers les + fichiers nommés math, + mathematica, + Mathematica, et + MathKernel. Dans chacun d'entre eux, + remplacez Linux) par + FreeBSD) avec un éditeur de texte ou + la procédure suivante: + + #!/bin/sh +cd /usr/local/bin +for i in math mathematica Mathematica MathKernel + do sed 's/Linux)/FreeBSD)/g' $i > $i.tmp + sed 's/\/bin\/sh/\/compat\/linux\/bin\/sh/g' $i.tmp > $i + rm $i.tmp + chmod a+x $i +done + - Avant de pouvoir utiliser - &mathematica;, vous devrez obtenir - un mot de passe de Wolfram qui correspond à - l'“identifiant” de votre machine. + + Obtenir votre mot de passe pour &mathematica; Ethernet adresse MAC - Une fois que vous avez installé les - bibliothèques pour la compatibilité Linux - et décompacté &mathematica; - vous pouvez obtenir l'“identifiant” de votre - machine en exécutant le programme mathinfo - dans le répertoire d'installation. Cet identifiant - machine est basé uniquement sur l'adresse MAC de votre - première carte Ethernet. - - &prompt.root; cd /localdir/Files/SystemFiles/Installation/Binaries/Linux -&prompt.root; mathinfo -disco.example.com 7115-70839-20412 + Quand vous lancez &mathematica; + pour la première fois, un mot de passe vous sera + demandé. Si vous n'avez pas encore + récupéré votre mot de passe auprès + de Wolfram, lancez le programme mathinfo + présent dans le répertoire d'installation afin + d'obtenir l'identifiant de votre machine. Cet + identifiant de machine est basé uniquement sur + l'adresse MAC de votre première carte Ethernet, vous ne + pouvez donc pas utiliser votre copie de + &mathematica; sur une machine + différente. Quand vous vous enregistrez auprès de Wolfram, par courrier électronique, téléphone, ou fax, vous leur communiquerez l'“identifiant” de la machine et ils vous donneront en réponse le mot de passe correspondant qui a la forme de plusieurs groupes - de nombres. Vous pouvez ensuite entrer cette information - quand vous essayez d'exécuter - &mathematica; pour la première - fois comme vous le feriez sous une autre plateforme. + de nombres. Exécuter l'interface de &mathematica; via le réseau &mathematica; utilise des polices de caractères spécifiques pour afficher des caractères qui ne sont pas présents dans l'ensemble standard de polices (caractère intégrale, somme, lettres grèques, etc.). Le protocole X a besoin que ces polices de caratères soient installées localement. Cela signifie que vous devrez copier sur votre machine locale ces polices à partir du CDROM ou d'une machine avec &mathematica; installé. Ces polices sont normalement stockées dans /cdrom/Unix/Files/SystemFiles/Fonts sur le CDROM, ou dans /usr/local/mathematica/SystemFiles/Fonts sur votre disque dur. En fait les polices sont dans les sous-répertoires Type1 et X. Il existe différentes manières de les utiliser, comme décrit ci-dessous. La première manière est de les copier dans un des répertoires de polices de caractères existant dans /usr/X11R6/lib/X11/fonts. Il faudra alors éditer le fichier fonts.dir, y ajouter les noms des polices, et changer le nombre de polices sur la première ligne. Alternativement, vous devriez pouvoir juste exécuter &man.mkfontdir.1; dans le répertoire dans lequel vous avez copié les polices de caractères. La deuxième manière est de copier les répertoires dans /usr/X11R6/lib/X11/fonts: &prompt.root; cd /usr/X11R6/lib/X11/fonts &prompt.root; mkdir X &prompt.root; mkdir MathType1 &prompt.root; cd /cdrom/Unix/Files/SystemFiles/Fonts &prompt.root; cp X/* /usr/X11R6/lib/X11/fonts/X &prompt.root; cp Type1/* /usr/X11R6/lib/X11/fonts/MathType1 &prompt.root; cd /usr/X11R6/lib/X11/fonts/X &prompt.root; mkfontdir &prompt.root; cd ../MathType1 &prompt.root; mkfontdir Maintenant ajoutez les nouveaux répertoires de polices à votre chemin de recherche des polices de caractères: &prompt.root; xset fp+ /usr/X11R6/lib/X11/fonts/X &prompt.root; xset fp+ /usr/X11R6/lib/X11/fonts/MathType1 &prompt.root; xset fp rehash Si vous utilisez le serveur - &xfree86;, vous pouvez charger + &xorg;, vous pouvez charger ces répertoires de polices automatiquement en les ajoutant à votre fichier - XF86Config. + xorg.conf. + + + Sous les serveurs &xfree86;, + le fichier de configuration se nomme + XF86Config. + polices de caractères Si vous n'avez pas déjà de répertoire appelé /usr/X11R6/lib/X11/fonts/Type1, vous pouvez modifier le nom du répertoire MathType1 dans l'exemple ci-dessus par Type1. Aaron Kaplan Contribution de Robert Getschmann Remerciements à Installer &maple; applications Maple &maple; est un programme mathématique commercial similaire à &mathematica;. Vous devez acquérir ce logiciel auprès de et vous enregistrer pour obtenir un fichier de licence. Pour installer ce logiciel sous &os;, veuillez suivre les étapes suivantes: Exécutez la procédure INSTALL fournie avec le logiciel. Choisissez l'option “RedHat” quand le programme vous le demandera. Un répertoire d'installation typique devrait être: /usr/local/maple. Si vous ne l'avez pas déjà fait, demandez une licence pour &maple; auprès de Maple Waterloo Software () et copiez-la sous /usr/local/maple/license/license.dat. Installez le gestionnaire de licence FLEXlm en exécutant la procédure d'installation INSTALL_LIC fournie avec &maple;. Précisez le nom de la machine au serveur de licence. Modifiez le fichier /usr/local/maple/bin/maple.system.type avec le correctif suivant: ----- snip ------------------ *** maple.system.type.orig Sun Jul 8 16:35:33 2001 --- maple.system.type Sun Jul 8 16:35:51 2001 *************** *** 72,77 **** --- 72,78 ---- # the IBM RS/6000 AIX case MAPLE_BIN="bin.IBM_RISC_UNIX" ;; + "FreeBSD"|\ "Linux") # the Linux/x86 case # We have two Linux implementations, one for Red Hat and ----- snip end of patch ----- Remarquez qu'après "FreeBSD"|\ aucun espace ne doit être ajouté. Ce correctif demande à &maple; de reconnaître “FreeBSD” comme étant un type de système Linux. La procédure bin/maple fait appel à la procédure bin/maple.system.type qui à son tour appelle uname -a pour déterminer le nom du système d'exploitation. En fonction de ce nom, la procédure déterminera quels binaires utiliser. Lancez le serveur de licence. La procédure suivante, installée sous le nom /usr/local/etc/rc.d/lmgrd.sh est une façon pratique de lancer lmgrd: ----- snip ------------ #! /bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin PATH=${PATH}:/usr/local/maple/bin:/usr/local/maple/FLEXlm/UNIX/LINUX export PATH LICENSE_FILE=/usr/local/maple/license/license.dat LOG=/var/log/lmgrd.log case "$1" in start) - lmgrd -c ${LICENSE_FILE} 2>> ${LOG} 1>&2 + lmgrd -c ${LICENSE_FILE} 2>> ${LOG} 1>&2 echo -n " lmgrd" ;; stop) - lmgrd -c ${LICENSE_FILE} -x lmdown 2>> ${LOG} 1>&2 + lmgrd -c ${LICENSE_FILE} -x lmdown 2>> ${LOG} 1>&2 ;; *) - echo "Usage: `basename $0` {start|stop}" 1>&2 + echo "Usage: `basename $0` {start|stop}" 1>&2 exit 64 ;; esac exit 0 ----- snip ------------ Testez &maple;: &prompt.user; cd /usr/local/maple/bin &prompt.user; ./xmaple Cela devrait fonctionner. Assurez-vous d'écrire à Maplesoft pour leur indiquer que vous désirez une version native pour &os;! Pièges courants Le gestionnaire de licence FLEXlm peut être difficile à utiliser. De la documentation supplémentaire à ce sujet est disponible à l'adresse . lmgrd est connu pour être très capricieux au sujet du fichier de licence et de planter si il y a un quelconque problème. Un fichier de licence correct devrait ressembler à ceci: # ======================================================= # License File for UNIX Installations ("Pointer File") # ======================================================= SERVER chillig ANY #USE_SERVER VENDOR maplelmg FEATURE Maple maplelmg 2000.0831 permanent 1 XXXXXXXXXXXX \ PLATFORMS=i86_r ISSUER="Waterloo Maple Inc." \ ISSUED=11-may-2000 NOTICE=" Technische Universitat Wien" \ SN=XXXXXXXXX Le numéro de série et la clé ont été ici remplacés par des X. chillig est le nom de la machine. L'édition du fichier de licence est possible tant que vous ne touchez pas à la ligne “FEATURE” (qui est protégée par la clé de la licence). Dan Pelleg Contribution de Installer &matlab; applications MATLAB Ce document décrit l'installation de la version Linux de &matlab; version 6.5 sur un système &os;. Le logiciel fonctionne plutôt bien, à l'exception de la &jvm;, machine virtuelle &java; (voir la ). La version Linux de &matlab; peut être commandée directement auprès de The MathWorks à l'adresse . Assurez-vous d'avoir le fichier de licence ou les instructions pour le créer. Pendant que vous y êtes, faites-leur savoir que vous désireriez une version &os; native de leur logiciel. Installer &matlab; Pour installer &matlab;, faites ce qui suit: Insérez le CD d'installation et montez-le. Ouvrez une session super-utilisateur (root), comme recommandé par la procédure d'installation. Pour lancer la procédure d'installation tapez: &prompt.root; /compat/linux/bin/sh /cdrom/install Le programme d'installation est graphique. Si vous obtenez une erreur disant que le programme est incapable d'ouvrir une instance d'affichage, tapez setenv HOME ~utilisateur, où utilisateur est l'utilisateur à partir duquel vous avez fait un &man.su.1;. Quand on vous demande le répertoire racine pour &matlab;, tapez: /compat/linux/usr/local/matlab. Pour faciliter la suite de l'installation et réduire les frappes inutiles, tapez à l'invite de l'interpréteur de commandes ceci: set MATLAB=/compat/linux/usr/local/matlab Editez le fichier de licence comme précisé lors de l'obtention de la licence &matlab;. Vous pouvez préparer d'avance ce fichier en utilisant votre éditeur favori, et en le copiant sous le nom $MATLAB/license.dat avant que le programme d'installation ne vous demande de l'éditer. Terminez le processus d'installation. A ce point, votre installation de &matlab; est terminée. Les étapes suivantes rajoutent le nécessaire pour l'intégrer à votre système &os;. Démarrage du gestionnaire de licence Créez des liens symboliques pour les procédures du gestionnaire de licence: &prompt.root; ln -s $MATLAB/etc/lmboot /usr/local/etc/lmboot_TMW &prompt.root; ln -s $MATLAB/etc/lmdown /usr/local/etc/lmdown_TMW Créez un fichier de démarrage nommé /usr/local/etc/rc.d/flexlm.sh. L'exemple ci-dessous est une version modifiée du fichier $MATLAB/etc/rc.lm.glnx86 fourni. Les modifications concernent l'emplacement des fichiers, et le lancement du gestionnaire de licence sous l'émulation Linux. #!/bin/sh case "$1" in start) if [ -f /usr/local/etc/lmboot_TMW ]; then /compat/linux/bin/sh /usr/local/etc/lmboot_TMW -u utilisateur && echo 'MATLAB_lmgrd' fi ;; stop) if [ -f /usr/local/etc/lmdown_TMW ]; then /compat/linux/bin/sh /usr/local/etc/lmdown_TMW > /dev/null 2>&1 fi ;; *) echo "Usage: $0 {start|stop}" exit 1 ;; esac exit 0 Le fichier doit être rendu exécutable: &prompt.root; chmod +x /usr/local/etc/rc.d/flexlm.sh Vous devez remplacer utilisateur dans la procédure par un nom d'utilisateur valide sur votre système (et non pas root). Lancez le gestionnaire de licence avec la commande: &prompt.root; /usr/local/etc/rc.d/flexlm.sh start Lier l'environnement d'exécution &java; (“&java; Runtime Environment”) Modifiez le lien vers le “&java; Runtime Environment” (JRE) pour un lien fonctionnant correctement sous &os;: &prompt.root; cd $MATLAB/sys/java/jre/glnx86/ &prompt.root; unlink jre; ln -s ./jre1.1.8 ./jre Création d'une procédure de lancement pour &matlab; Placez la procédure de démarrage suivante dans le répertoire /usr/local/bin/matlab: #!/bin/sh /compat/linux/bin/sh /compat/linux/usr/local/matlab/bin/matlab "$@" Puis tapez la commande chmod +x /usr/local/bin/matlab. En fonction de la version emulators/linux_base utilisée, vous pouvez rencontrer des problèmes lors de l'utilisation de cette procédure. Pour éviter cela, éditez le fichier /compat/linux/usr/local/matlab/bin/matlab, et modifiez la ligne qui dit: if [ `expr "$lscmd" : '.*->.*'` -ne 0 ]; then (dans la version 13.0.1, c'est la ligne 410) en: if test -L $newbase; then Créer une procédure d'arrêt pour &matlab; Ce qui suit est nécessaire pour corriger le fait que &matlab; ne peut être quitter correctement. Créez un fichier $MATLAB/toolbox/local/finish.m, et y mettre la ligne suivante: ! $MATLAB/bin/finish.sh $MATLAB doit être écrit tel quel. Dans le même répertoire, vous trouverez les fichiers finishsav.m et finishdlg.m, qui vous permettront de sauvegarder l'environnement avant de quitter. Si vous utilisez l'un d'eux, insérez la ligne ci-dessus après la commande save. Créez un fichier $MATLAB/bin/finish.sh, qui contiendra ce qui suit: #!/usr/compat/linux/bin/sh (sleep 5; killall -1 matlab_helper) & exit 0 Rendez le fichier exécutable: &prompt.root; chmod +x $MATLAB/bin/finish.sh Utilisation de &matlab; A ce point, vous êtes prêt à taper la commande matlab et à commencer à l'utiliser. Marcel Moolenaar Contribution de Installer &oracle; applications Oracle Préface Ce document décrit le processus d'installation d'&oracle; 8.0.5 et d'&oracle; 8.0.5.1 Enterprise Edition pour Linux sur une machine &os;. Installer l'environnement Linux Assurez-vous d'avoir installé les deux logiciels emulators/linux_base et devel/linux_devtools du catalogue des logiciels portés. Si vous rencontrez des problèmes avec ces logiciels portés, il se peut que vous ayez à utiliser les versions pré-compilées ou des versions plus anciennes disponibles dans le catalogue des logiciels portés. Si vous désirez installer l'agent intelligent, vous devrez également installer le “package” Red Hat Tcl: tcl-8.0.3-20.i386.rpm. La commande générale pour installer des RPMs avec le logiciel RPM (archivers/rpm) est: &prompt.root; rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm package L'installation du package ne devrait pas générer d'erreur. Créer l'environment &oracle; Avant de pouvoir installer &oracle;, vous devez configurer un environnement propre. Ce document ne décrit que ce qu'il y a faire spécifiquement pour utiliser &oracle; pour Linux sous &os;, et non pas ce qui a été décrit dans le guide d'installation d'&oracle;. Optimisation du noyau optimisation du noyau Comme décrit dans le guide d'installation d'&oracle;, vous devez configurer une taille maximale pour la mémoire partagée. Sous &os; n'utilisez pas l'option SHMMAX. SHMMAX est simplement calculée à partir de SHMMAXPGS et PGSIZE. Définissez donc l'option SHMMAXPGS. Toutes les autres options peuvent être configurées comme décrit dans le guide. Par exemple: options SHMMAXPGS=10000 options SHMMNI=100 options SHMSEG=10 options SEMMNS=200 options SEMMNI=70 options SEMMSL=61 Configurez ces options en fonction de l'utilisation prévue d'&oracle;. Assurez-vous également de la présence des options suivantes dans votre fichier de configuration du noyau: options SYSVSHM #SysV shared memory options SYSVSEM #SysV semaphores options SYSVMSG #SysV interprocess communication Compte &oracle; Créez un compte oracle de la même manière que vous créerez un autre compte utilisateur. Le compte oracle n'a de spécial que le fait que vous devez lui donner un interpréteur de commandes Linux. Ajoutez /compat/linux/bin/bash au fichier /etc/shells et fixez l'interpréteur de commande du compte oracle à /compat/linux/bin/bash. Environnement En plus des variables d'environnement normales d'&oracle; comme ORACLE_HOME et ORACLE_SID vous devez fixer les variables d'environnement suivantes: - + Variable Valeur LD_LIBRARY_PATH $ORACLE_HOME/lib CLASSPATH $ORACLE_HOME/jdbc/lib/classes111.zip PATH /compat/linux/bin /compat/linux/sbin /compat/linux/usr/bin /compat/linux/usr/sbin /bin /sbin /usr/bin /usr/sbin /usr/local/bin $ORACLE_HOME/bin Il est conseillé de définir toutes les variables d'environnement dans le fichier .profile. Un exemple complet est: ORACLE_BASE=/oracle; export ORACLE_BASE ORACLE_HOME=/oracle; export ORACLE_HOME LD_LIBRARY_PATH=$ORACLE_HOME/lib export LD_LIBRARY_PATH ORACLE_SID=ORCL; export ORACLE_SID ORACLE_TERM=386x; export ORACLE_TERM CLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip export CLASSPATH PATH=/compat/linux/bin:/compat/linux/sbin:/compat/linux/usr/bin PATH=$PATH:/compat/linux/usr/sbin:/bin:/sbin:/usr/bin:/usr/sbin PATH=$PATH:/usr/local/bin:$ORACLE_HOME/bin export PATH Installer &oracle; En raison d'une particularité de l'émulateur Linux, vous devez créer un répertoire appelé .oracle dans /var/tmp - avant de lancer le programme d'installation. Donnez-y un - accès en écriture pour tout le monde ou faites + avant de lancer le programme d'installation. + Faites en sorte que l'utilisateur oracle en soit le propriétaire. Vous devriez être en mesure d'installer &oracle; sans problème. Si vous rencontrez cependant des problèmes, contrôlez tout d'abord votre distribution d'&oracle; et/ou configuration! Après avoir installé &oracle;, appliquez les correctifs décrits dans les deux sous-sections suivantes. Un problème fréquent est que l'interface au protocole TCP n'est pas correctement installée. Avec comme conséquence l'impossibilité d'écouter le trafic TCP. Les opérations suivantes aident à résoudre ce problème: &prompt.root; cd $ORACLE_HOME/network/lib &prompt.root; make -f ins_network.mk ntcontab.o &prompt.root; cd $ORACLE_HOME/lib &prompt.root; ar r libnetwork.a ntcontab.o &prompt.root; cd $ORACLE_HOME/network/lib &prompt.root; make -f ins_network.mk install N'oubliez pas de lancer à nouveau root.sh! Appliquer un correctif au fichier root.sh Quand on installe &oracle;, certaines opérations, qui doivent être effectuées en tant que root, sont enregistrées dans une procédure d'interpréteur de commandes appelée root.sh. Cette procédure se trouve dans le répertoire orainst. Appliquez le correctif suivant au fichier root.sh, pour faire en sorte qu'il utilise le chemin correct pour chown, ou exécute une procédure sous un interpréteur de commandes Linux natif. *** orainst/root.sh.orig Tue Oct 6 21:57:33 1998 --- orainst/root.sh Mon Dec 28 15:58:53 1998 *************** *** 31,37 **** # This is the default value for CHOWN # It will redefined later in this script for those ports # which have it conditionally defined in ss_install.h ! CHOWN=/bin/chown # # Define variables to be used in this script --- 31,37 ---- # This is the default value for CHOWN # It will redefined later in this script for those ports # which have it conditionally defined in ss_install.h ! CHOWN=/usr/sbin/chown # # Define variables to be used in this script Quand vous n'installez pas &oracle; à partir d'un CD, vous pouvez modifier les sources de root.sh. La procédure se nomme rthd.sh et se trouve dans le répertoire orainst dans l'arborescence des sources. Patching genclntsh La procédure genclntsh est utilisée pour créer une simple bibliothèque partagée cliente. Elle est utilisée lors de la construction des démos. Appliquez le correctif suivant pour commenter la définition de la variable d'environnement PATH: *** bin/genclntsh.orig Wed Sep 30 07:37:19 1998 --- bin/genclntsh Tue Dec 22 15:36:49 1998 *************** *** 32,38 **** # # Explicit path to ensure that we're using the correct commands #PATH=/usr/bin:/usr/ccs/bin export PATH ! PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH # # each product MUST provide a $PRODUCT/admin/shrept.lst --- 32,38 ---- # # Explicit path to ensure that we're using the correct commands #PATH=/usr/bin:/usr/ccs/bin export PATH ! #PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH # # each product MUST provide a $PRODUCT/admin/shrept.lst Exécuter &oracle; Après avoir suivi les instructions précédentes, vous devriez être en mesure d'exécuter &oracle; comme si le programme tournait sous Linux. Holger Kipp Contribution de Valentino Vaschetto Conversion en SGML par Installer &sap.r3; applications &sap.r3; Les installations de systèmes &sap; sous &os; ne seront pas supportées par l'équipe de support de SAP — ils n'assurent que le support pour des plateformes ceritifiées. Préface Ce document décrit une façon d'installer un système &sap.r3; avec la base de données &oracle; pour Linux sur une machine &os;, comprenant l'installation de &os; et d'&oracle;. Deux configurations différentes seront décrites: &sap.r3; 4.6B (IDES) avec &oracle; 8.0.5 sous &os; 4.3-STABLE &sap.r3; 4.6C avec &oracle; 8.1.7 sous &os; 4.5-STABLE Même si ce document tente de décrire toutes les étapes importantes de façon détaillée, il n'est pas destiné à remplacer les guides d'installation d'&oracle; et &sap.r3;. Veuillez consulter la documentation fournie avec la version Linux de &sap.r3; et les questions spécifiques à &oracle;, ainsi que les ressources d'&oracle; et de &sap; OSS. Logiciels Les CD-ROMs suivants ont été utilisés pour les installations de &sap;: &sap.r3; 4.6B, &oracle; 8.0.5 - + Nom Numéro Description KERNEL 51009113 Noyau SAP Oracle / Installation / AIX, Linux, Solaris RDBMS 51007558 Oracle / RDBMS 8.0.5.X / Linux EXPORT1 51010208 IDES / DB-Export / Disque 1 sur 6 EXPORT2 51010209 IDES / DB-Export / Disque 2 sur 6 EXPORT3 51010210 IDES / DB-Export / Disque 3 sur 6 EXPORT4 51010211 IDES / DB-Export / Disque 4 sur 6 EXPORT5 51010212 IDES / DB-Export / Disque 5 sur 6 EXPORT6 51010213 IDES / DB-Export / Disque 6 sur 6 De plus, nous avons utilisé le CD d'&oracle; 8 Serveur (version 8.0.5 de pré-production pour Linux, noyau 2.0.33) qui n'est pas vraiment nécessaire, et &os; 4.3-STABLE (une version plus vieille de quelques jours que la 4.3-RELEASE). &sap.r3; 4.6C SR2, &oracle; 8.1.7 - + Nom Numéro Description KERNEL 51014004 Noyau SAP Oracle / Noyau SAP Version 4.6D / DEC, Linux RDBMS 51012930 Oracle 8.1.7/ RDBMS / Linux EXPORT1 51013953 Version 4.6C SR2 / Export / Disque 1 sur 4 EXPORT1 51013953 Version 4.6C SR2 / Export / Disque 2 sur 4 EXPORT1 51013953 Version 4.6C SR2 / Export / Disque 3 sur 4 EXPORT1 51013953 Version 4.6C SR2 / Export / Disque 4 sur 4 LANG1 51013954 Version 4.6C SR2 / Langue / DE, EN, FR / Disque 1 sur 3 En fonction des langues que vous désirez installer, des CDs propres à ces langues pourront être nécessaires. Ici nous utilisons juste l'allemand (DE) et l'anglais (EN), donc seul le premier CD propre aux langues sera nécessaire. Notez que le numéro des quatre CDs EXPORT est identique (c'est différent du numérotage des CDs 4.6B IDES). Au moment de l'écriture de ces lignes, cette installation utilise &os; 4.5-STABLE (du 20 mars 2002). Notes concernant &sap; Les notes suivantes devraient être lues avant d'installer &sap.r3; et ont prouvé leur utilité durant l'installation: &sap.r3; 4.6B, &oracle; 8.0.5 - + Numéro Titre 0171356 SAP sous Linux: Remarques importantes 0201147 INST: 4.6C R/3 Inst. sur UNIX - Oracle 0373203 Mise à jour / Migration Oracle 8.0.5 --> 8.0.6/8.1.6 LINUX 0072984 Digital UNIX 4.0B pour Oracle 0130581 Fin de l'étape DIPGNTAB de R3SETUP 0144978 Votre système n'a pas été installé correctement 0162266 Questions et conseils pour R3SETUP sous Windows NT / W2K &sap.r3; 4.6C, &oracle; 8.1.7 - + Numéro Titre 0015023 Initialisation de la table TCPDB (RSXP0004) (EBCDIC) 0045619 R/3 avec plusieurs langues ou languages or typefaces 0171356 SAP sous Linux: Remarques importantes 0195603 RedHat 6.1 version entreprise: problèmes connus 0212876 Le nouvel outil d'archivage SAPCAR 0300900 Linux: matériel DELL 0377187 RedHat 6.2: remarques importantes 0387074 INST: R/3 4.6C SR2 Installation sous UNIX 0387077 INST: R/3 4.6C SR2 Inst. sous UNIX - Oracle 0387078 SAP sous UNIX: Dépendances 4.6C SR2 Matériel nécessaire L'équipement suivant est suffisant pour l'installation d'un système &sap.r3;. Bien sûr pour une utilisation en production, un choix plus pointu du matériel est nécessaire: - + Composant 4.6B 4.6C Processeur 2 x 800MHz &pentium; III 2 x 800MHz &pentium; III Mémoire 1Go ECC 2Go ECC Espace disque 50-60Go (IDES) 50-60Go (IDES) Pour une utilisation en production, des processeurs &xeon; avec un cache important, un accès disque rapide (SCSI, contrôleur RAID matériel) et de la mémoire ECC. L'espace disque nécessaire est important en raison du système IDES pré-configuré, qui créé une base de données de 27 Go durant l'installation. Cet espace est également suffisant pour démarrer des systèmes destinés à la production. &sap.r3; 4.6B, &oracle; 8.0.5 Le matériel suivant fut utilisé: une carte mère bi-processeurs avec 2 processeurs &pentium; III 800 MHz, une carte SCSI &adaptec; 29160 Ultra160 (pour utiliser un lecteur de bande 40/80 Go DLT et un lecteur de CDROM), une carte &mylex; &acceleraid; (2 canaux, firmware 6.00-1-00 avec 32 Mo de RAM). Au contrôleur RAID &mylex; sont reliés deux disques durs de 17 Go (miroirs) et quatre disques de 36 Go (RAID niveau 5). &sap.r3; 4.6C, &oracle; 8.1.7 Pour cette installation un &dell; &poweredge; 2500 a été utilisé: une carte mère bi-processeurs avec deux processeurs &pentium; III 1000 MHz (256 Ko de cache), 2 Go PC133 ECC SDRAM, un contrôleur PERC/3 DC PCI RAID avec 128 Mo, et un lecteur DVD-ROM EIDE. Au contrôleur RAID sont reliés deux disques durs 18 Go (miroirs) et quatre disques de 36 Go (RAID niveau 5). Installation de &os; Tout d'abord vous devez installer &os;. Il existe de nombreuses manière d'installer &os; (&os; 4.3 a été installé via FTP, &os; 4.5 directement à partir d'un CD), pour plus d'informations consultez la . Organisation des disques Pour rester simple, la même organisation des disques a été utilisée pour les installations de &sap.r3; 46B et &sap.r3; 46C SR2. Seuls les noms de périphériques ont changé, comme les installations ont été effectuées sur du matériel différent - (/dev/da et - /dev/amr respectivement, aussi si + (/dev/da et + /dev/amr respectivement, aussi si l'on utilise un contrôleur AMI MegaRAID, on verra - /dev/amr0s1a à la place de - /dev/da0s1a): + /dev/amr0s1a à la place de + /dev/da0s1a): - + Système de fichiers Taille (blocs de 1k) Taille (Go) Monté sous - /dev/da0s1a + /dev/da0s1a 1.016.303 1 / - /dev/da0s1b + /dev/da0s1b 6 swap - /dev/da0s1e + /dev/da0s1e 2.032.623 2 /var - /dev/da0s1f + /dev/da0s1f 8.205.339 8 /usr - /dev/da1s1e + /dev/da1s1e 45.734.361 45 /compat/linux/oracle - /dev/da1s1f + /dev/da1s1f 2.032.623 2 /compat/linux/sapmnt - /dev/da1s1g + /dev/da1s1g 2.032.623 2 /compat/linux/usr/sap Configurez et initialisez les deux disques logiques à l'avance avec les logiciels &mylex; ou PERC/3 RAID. Ces logiciels peuvent être lancés lors de la phase de démarrage du BIOS. Notez que l'organisation du disque diffère légèrement des recommandations de SAP, comme SAP suggère de monter séparément les sous-répertoires d'&oracle; (et d'autres) — nous avons décidé de simplement créer de véritables sous-répertoires directement. Utiliser <command>make world</command> et compiler un nouveau noyau Téléchargez les sources -STABLE les plus récentes. Recompilez l'intégralité du système et votre noyau personnalisé après avoir configuré votre fichier de configuration du noyau. Là, vous devriez également ajouter les paramètres du noyau requis par &sap.r3; et &oracle;. Installer l'environnement Linux Installer le système de base Linux Tout d'abord le logiciel porté linux_base doit être installé (en tant que super-utilisateur): &prompt.root; cd /usr/ports/emulators/linux_base &prompt.root; make install distclean Installer l'environnement de développement Linux L'environnement de développement Linux est nécessaire, si vous désirez installer &oracle; sous &os; comme cela est décrit dans la : &prompt.root; cd /usr/ports/devel/linux_devtools &prompt.root; make install distclean L'environnement de développement Linux a été installé en vue de l'installation de &sap.r3; 46B IDES. Ce n'est pas nécessaire si &oracle; DB n'est pas liée sur un système &os;. C'est le cas si vous utilisez l'archive tar &oracle; en provenance d'un système Linux. Installer les RPMs nécessaires RPMs Pour lancer le programme R3SETUP, le support PAM est nécessaire. Lors de la première installation de &sap; sous &os; 4.3-STABLE, nous avons tenté d'installer PAM avec tous les “packages” nécessaires, et nous avons finalement forcé l'installation du “package” PAM, ce qui a fonctionné. Pour &sap.r3; 4.6C SR2, nous avons directement forcé l'installation du RPM PAM, ce qui fonctionne également, il semble donc que les RPMs de dépendance ne sont pas nécessaires: &prompt.root; rpm -i --ignoreos --nodeps --root /compat/linux --dbpath /var/lib/rpm \ pam-0.68-7.i386.rpm Pour utiliser l'agent intelligent d'&oracle; 8.0.5, nous devons également installer la version RedHat de Tcl tcl-8.0.5-30.i386.rpm (sinon l'édition de liens durant l'installation d'&oracle; ne fonctionnera pas). Il existe d'autres problèmes à ce niveau, mais ils concernent directement la version Linux d'&oracle;, et ne sont donc pas spécifiquent à &os;. Quelques conseils supplémentaires Cela peut être une bonne idée d'ajouter linprocfs au fichier /etc/fstab, pour plus d'informations consultez la page de manuel &man.linprocfs.5;. Un autre paramètre à positionner est kern.fallback_elf_brand=3, ce qui doit être fait dans le fichier /etc/sysctl.conf. Créer l'environnement SAP/R3 Créer les systèmes de fichiers et points de montage nécessaires Pour une simple installation, il est suffisant de créer les systèmes de fichiers suivants: - + point de montage taille en Go /compat/linux/oracle 45 Go /compat/linux/sapmnt 2 Go /compat/linux/usr/sap 2 Go Il est également nécessaire de créer certains liens. Sinon l'intalleur &sap; se plaindra, lors du contrôle des liens créés: &prompt.root; ln -s /compat/linux/oracle /oracle &prompt.root; ln -s /compat/linux/sapmnt /sapmnt &prompt.root; ln -s /compat/linux/usr/sap /usr/sap Un message d'erreur possible durant l'installation (ici avec un système PRD l'installation de &sap.r3; 4.6C SR2): INFO 2002-03-19 16:45:36 R3LINKS_IND_IND SyLinkCreate:200 Checking existence of symbolic link /usr/sap/PRD/SYS/exe/dbg to /sapmnt/PRD/exe. Creating if it does not exist... WARNING 2002-03-19 16:45:36 R3LINKS_IND_IND SyLinkCreate:400 Link /usr/sap/PRD/SYS/exe/dbg exists but it points to file /compat/linux/sapmnt/PRD/exe instead of /sapmnt/PRD/exe. The program cannot go on as long as this link exists at this location. Move the link to another location. ERROR 2002-03-19 16:45:36 R3LINKS_IND_IND Ins_SetupLinks:0 can not setup link '/usr/sap/PRD/SYS/exe/dbg' with content '/sapmnt/PRD/exe' Création des utilisateurs et des répertoires &sap.r3; a besoin de deux utilisateurs et de trois groupes. Les noms d'utilisateurs dépendent du système d'ID de &sap; (SID) qui est composé de trois lettres. Certains de ces SIDs sont réservés par &sap; (par exemple SAP et NIX. Pour une liste complète consultez la documentation de &sap;). Pour l'installation IDES, nous avons utilisé IDS, pour l'installation 4.6C SR2 PRD, comme ce système était destiné à la production. Nous avons cependant les groupes suivants (les identifiants de groupe peuvent être différents, ce sont seulement les valeurs que nous avons utilisés dans notre installation): - + groupe ID nom du groupe description 100 dba Administrateur de la base de données 101 sapsys Système &sap; 102 oper Opérateur de la base de données Pour une installation d'&oracle; par défaut, seul le groupe dba est utilisé. Tout comme le groupe oper, certains utilisent également le groupe dba (Voir les documentations d'&oracle; et de &sap; pour plus d'information). Nous avons également besoin des utilisateurs suivants: - + ID utilisateur nom d'utilisateur nom généric groupe groupes supplémentaires description 1000 idsadm/prdadm sidadm sapsys oper Administrateur &sap; 1002 oraids/oraprd orasid dba oper Administrateur de la base de données &oracle; L'ajout des utilisateurs avec la commande &man.adduser.8; nécessite les entrées suivantes (notez l'interpréteur de commandes et le répertoire utilisateur) pour l'“Administrateur &sap;”: Name: sidadm Password: ****** Fullname: SAP Administrator SID Uid: 1000 Gid: 101 (sapsys) Class: Groups: sapsys dba HOME: /home/sidadm Shell: bash (/compat/linux/bin/bash) et pour l'“Administrateur de la base de données &oracle;”: Name: orasid Password: ****** Fullname: Oracle Administrator SID Uid: 1002 Gid: 100 (dba) Class: Groups: dba HOME: /oracle/sid Shell: bash (/compat/linux/bin/bash) Ceci devrait également inclure le groupe oper au cas où vous utiliseriez les deux groupes dba et oper. Création des répertoires Ces répertoires sont généralement créés sous forme de systèmes de fichiers séparés. Cela dépend entièrement de vous besoins. Nous avons choisi de créer de simple répertoires, comme ils sont placés sur le même système RAID 5: Nous positionnerons tout d'abord les propriétaires et les droits de certains répertoires (en tant que root): &prompt.root; chmod 775 /oracle &prompt.root; chmod 777 /sapmnt &prompt.root; chown root:dba /oracle &prompt.root; chown sidadm:sapsys /compat/linux/usr/sap &prompt.root; chmod 775 /compat/linux/usr/sap Ensuite nous crérons les répertoires en tant qu'utilisateur orasid. Ce seront tous les répertoires du type /oracle/SID: &prompt.root; su - orasid &prompt.root; cd /oracle/SID &prompt.root; mkdir mirrlogA mirrlogB origlogA origlogB &prompt.root; mkdir sapdata1 sapdata2 sapdata3 sapdata4 sapdata5 sapdata6 &prompt.root; mkdir saparch sapreorg &prompt.root; exit Pour l'installation d'&oracle; 8.1.7 des répertoires supplémentaires sont nécessaires: &prompt.root; su - orasid &prompt.root; cd /oracle &prompt.root; mkdir 805_32 &prompt.root; mkdir client stage &prompt.root; mkdir client/80x_32 &prompt.root; mkdir stage/817_32 &prompt.root; cd /oracle/SID &prompt.root; mkdir 817_32 Le répertoire client/80x_32 est créé tel quel. Ne remplacez pas le x par quelque chose d'autre. La dernière étape consiste à créer les répertoires en tant qu'utilisateur sidadm: &prompt.root; su - sidadm &prompt.root; cd /usr/sap &prompt.root; mkdir SID &prompt.root; mkdir trans &prompt.root; exit Entrées dans <filename>/etc/services</filename> &sap.r3; a besoin de certaines entrées dans le fichier /etc/services, qui ne seront pas créées durant son installation sous &os;. Veuillez ajouter les entrées suivantes (vous avez besoin au moins des entrées correspondant au numéro d'instance — dans notre cas, 00. Cela ne posera pas de problème d'ajouter toutes les entrées de 00 à 99 pour dp, gw, sp et ms). Si vous allez utiliser SAProuter ou vous devez accéder au &sap; OSS, vous avez également besoin de l'entrée 99, comme le port 3299 est généralement utilisé par le processus SAProuter sur le système cible: sapdp00 3200/tcp # SAP Dispatcher. 3200 + Instance-Number sapgw00 3300/tcp # SAP Gateway. 3300 + Instance-Number sapsp00 3400/tcp # 3400 + Instance-Number sapms00 3500/tcp # 3500 + Instance-Number sapmsSID 3600/tcp # SAP Message Server. 3600 + Instance-Number sapgw00s 4800/tcp # SAP Secure Gateway 4800 + Instance-Number “Locales” nécessaires locale &sap; nécessite au moins deux “locales” qui ne font pas partie de l'installation RedHat par défaut. SAP propose les RPMs nécessaires en téléchargement à partir de leur serveur FTP (qui est uniquement accessible si vous êtes un client avec un accès OSS). Consultez la note 0171356 pour la liste des RPMs dont vous avez besoin. Il est également possible de créer just les appropriés (par exemple à partir de de_DE et en_US), mais nous ne recommandons pas cela pour un système destiné à la production (bien que cela a fonctionné sans problème avec le système IDES). Les “locales” suivantes sont nécessaires: de_DE.ISO-8859-1 en_US.ISO-8859-1 Créez les liens comme suit: &prompt.root; cd /compat/linux/usr/share/locale &prompt.root; ln -s de_DE de_DE.ISO-8859-1 &prompt.root; ln -s en_US en_US.ISO-8859-1 S'ils n'existent pas, des problèmes apparaîtrons lors de l'installation. Si ces problèmes sont intentionnellement ignorés (en fixant la valeur de la variable STATUS des étapes pour lesquelles les problèmes sont apparus à la valeur OK dans le fichier CENTRDB.R3S), il sera impossible d'ouvrir une session sur le système &sap; sans effort supplémentaire. Optimisation du noyau optimisation du noyau Les systèmes &sap.r3; demandent beaucoup de ressources. Nous avons donc ajouté les paramètres suivants au fichier de configuration du noyau: # Set these for memory pigs (SAP and Oracle): options MAXDSIZ="(1024*1024*1024)" options DFLDSIZ="(1024*1024*1024)" # System V options needed. options SYSVSHM #SYSV-style shared memory options SHMMAXPGS=262144 #max amount of shared mem. pages #options SHMMAXPGS=393216 #use this for the 46C inst.parameters options SHMMNI=256 #max number of shared memory ident if. options SHMSEG=100 #max shared mem.segs per process options SYSVMSG #SYSV-style message queues options MSGSEG=32767 #max num. of mes.segments in system options MSGSSZ=32 #size of msg-seg. MUST be power of 2 options MSGMNB=65535 #max char. per message queue options MSGTQL=2046 #max amount of msgs in system options SYSVSEM #SYSV-style semaphores options SEMMNU=256 #number of semaphore UNDO structures options SEMMNS=1024 #number of semaphores in system options SEMMNI=520 #number of semaphore identifiers options SEMUME=100 #number of UNDO keys Les valeurs minimales sont précisées dans la documentation en provenance de SAP. Comme il n'y a pas d'éléments concernant Linux, consultez la section sur HP-UX (32bits) pour plus d'information. Comme le système utilisé pour l'installation de la version 4.6C SR2 dispose de plus de mémoire principale, les segments de mémoire partagée (“shared segments”) peuvent être plus larges pour &sap; et &oracle;, cependant choisissez un nombre plus important de page de mémoire partagée. Avec l'installation par défaut de &os; 4.5 sur architecture &i386;, laissez MAXDSIZ et DFLDSIZ à une valeur de 1 Go maximum. Sinon, des erreurs étranges comme ORA-27102: out of memory et Linux Error: 12: Cannot allocate memory risquent d'apparaître. Installer &sap.r3; Préparer les CDROMs &sap; Il y a de nombreux CDROMs à monter et démonter lors de l'installation. Si vous disposez de suffisament de lecteurs de CDROMs, vous pouvez tout simplement les monter tous. Nous avons décidé de copier le contenu des CDROMs dans les répertoires correspondant: /oracle/SID/sapreorg/nom-du-cd nom-du-cd est un nom parmi KERNEL, RDBMS, EXPORT1, EXPORT2, EXPORT3, EXPORT4, EXPORT5 et EXPORT6 pour l'installation de la version 4.6B/IDES, et KERNEL, RDBMS, DISK1, DISK2, DISK3, DISK4 et LANG pour l'installation de la version 4.6C SR2. Tous les noms de fichiers sur les CDs montés devraient être en majuscules, sinon utilisez l'option pour le montage. Utilisez donc les commandes suivantes: &prompt.root; mount_cd9660 -g /dev/cd0a /mnt &prompt.root; cp -R /mnt/* /oracle/SID/sapreorg/nom-du-cd &prompt.root; umount /mnt Exécuter la procédure d'installation Tout d'abord, vous devez préparer un répertoire install: &prompt.root; cd /oracle/SID/sapreorg &prompt.root; mkdir install &prompt.root; cd install Ensuite la procédure d'installation est lancée, qui copiera tous fichiers correspondant dans le répertoire install: &prompt.root; /oracle/SID/sapreorg/KERNEL/UNIX/INSTTOOL.SH L'installation IDES (4.6B) est fournie avec un système &sap.r3; de démonstration complètement configuré, il y a donc six CDs EXPORT au lieu de juste trois CDs EXPORT. A ce point la configuration par défaut d'installation CENTRDB.R3S est destiné à l'installation d'une instance centrale standard (&r3; et base de données), et non pas l'instance centrale standard IDES, on doit donc copier le fichier CENTRDB.R3S correspondant du répertoire EXPORT1, sinon R3SETUP ne demandera que trois CDs EXPORT. La nouvelle version &sap; 4.6C SR2 est fournie avec quatre CDs EXPORT. Le fichier de paramètres qui contrôle les étapes de l'installation est le fichier CENTRAL.R3S. Contrairement aux versions précédentes, il n'y a pas de modèle de configuration d'installation séparé pour une instance centrale avec ou sans base de données. &sap; utilise un modèle de configuration séparé pour l'installation de base de données. Pour relancer l'installation postérieurement, il suffit de la relancer avec le fichier d'origine. Pendant et après l'installation, &sap; a besoin que la commande hostname renvoie uniquement le nom de la machine et non pas le nom complet de la machine. Fixez donc le nom de la machine en fonction, ou créez un alias avec alias hostname='hostname -s' pour les utilisateurs orasid et sidadm (et pour le super-utilisateur root au moins durant les étapes de l'installation effectuées en tant que root). Il est également possible d'ajuster les fichiers .profile et .login des deux utilisateurs qui sont installés lors de l'installation de &sap;. Exécuter <command>R3SETUP</command> 4.6B Assurez-vous que la variable LD_LIBRARY_PATH est correctement positionnée: &prompt.root; export LD_LIBRARY_PATH=/oracle/IDS/lib:/sapmnt/IDS/exe:/oracle/805_32/lib Lancez R3SETUP en tant que root à partir du répertoire d'installation: &prompt.root; cd /oracle/IDS/sapreorg/install &prompt.root; ./R3SETUP -f CENTRDB.R3S La procédure pose ensuite un certain nombre de questions (les valeurs par défaut sont entre crochets, suivies par les entrées clavier): - + Question Défaut Entrée(s) clavier Enter SAP System ID [C11] IDSEntrée Enter SAP Instance Number [00] Entrée Enter SAPMOUNT Directory [/sapmnt] Entrée Enter name of SAP central host [troubadix.domain.de] Entrée Enter name of SAP db host [troubadix] Entrée Select character set [1] (WE8DEC) Entrée Enter Oracle server version (1) Oracle 8.0.5, (2) Oracle 8.0.6, (3) Oracle 8.1.5, (4) Oracle 8.1.6 1Entrée Extract Oracle Client archive [1] (Yes, extract) Entrée Enter path to KERNEL CD [/sapcd] /oracle/IDS/sapreorg/KERNEL Enter path to RDBMS CD [/sapcd] /oracle/IDS/sapreorg/RDBMS Enter path to EXPORT1 CD [/sapcd] /oracle/IDS/sapreorg/EXPORT1 Directory to copy EXPORT1 CD [/oracle/IDS/sapreorg/CD4_DIR] Entrée Enter path to EXPORT2 CD [/sapcd] /oracle/IDS/sapreorg/EXPORT2 Directory to copy EXPORT2 CD [/oracle/IDS/sapreorg/CD5_DIR] Entrée Enter path to EXPORT3 CD [/sapcd] /oracle/IDS/sapreorg/EXPORT3 Directory to copy EXPORT3 CD [/oracle/IDS/sapreorg/CD6_DIR] Entrée Enter path to EXPORT4 CD [/sapcd] /oracle/IDS/sapreorg/EXPORT4 Directory to copy EXPORT4 CD [/oracle/IDS/sapreorg/CD7_DIR] Entrée Enter path to EXPORT5 CD [/sapcd] /oracle/IDS/sapreorg/EXPORT5 Directory to copy EXPORT5 CD [/oracle/IDS/sapreorg/CD8_DIR] Entrée Enter path to EXPORT6 CD [/sapcd] /oracle/IDS/sapreorg/EXPORT6 Directory to copy EXPORT6 CD [/oracle/IDS/sapreorg/CD9_DIR] Entrée Enter amount of RAM for SAP + DB 850Entrée (en mégaoctets) Service Entry Message Server [3600] Entrée Enter Group-ID of sapsys [101] Entrée Enter Group-ID of oper [102] Entrée Enter Group-ID of dba [100] Entrée Enter User-ID of sidadm [1000] Entrée Enter User-ID of orasid [1002] Entrée Number of parallel procs [2] Entrée Si vous n'avez pas copié les CDs en différent endroits, alors l'installeur &sap; ne peut trouver le CD nécessaire (identifié par le fichier LABEL.ASC sur le CD) et vous demandera alors d'insérer, de monter le CD et de confirmer ou d'entrer le chemin du point de montage. Le fichier CENTRDB.R3S peut ne pas être exempt de problème. Dans notre cas, il demanda à nouveau le CD EXPORT4 mais indiqua la clé correcte (6_LOCATION, puis 7_LOCATION, etc.), on peut donc juste continuer à saisir les bonnes valeurs. En dehors des problèmes mentionnés plus bas, tout devrait être assez direct jusqu'au moment où la base de données &oracle; doit être installée. Exécuter <command>R3SETUP</command> 4.6C SR2 Assurez-vous que la variable LD_LIBRARY_PATH est correctement positionnée. La valeur est différente de l'installation 4.6B avec &oracle; 8.0.5: &prompt.root; export LD_LIBRARY_PATH=/sapmnt/PRD/exe:/oracle/PRD/817_32/lib Lancez R3SETUP en tant que root à partir du répertoire d'installation: &prompt.root; cd /oracle/PRD/sapreorg/install &prompt.root; ./R3SETUP -f CENTRAL.R3S La procédure pose ensuite un certain nombre de questions (les valeurs par défaut sont entre crochets, suivies par les entrées clavier): - + Question Défaut Entrée(s) clavier Enter SAP System ID [C11] PRDEntrée Enter SAP Instance Number [00] Entrée Enter SAPMOUNT Directory [/sapmnt] Entrée Enter name of SAP central host [majestix] Entrée Enter Database System ID [PRD] PRDEntrée Enter name of SAP db host [majestix] Entrée Select character set [1] (WE8DEC) Entrée Enter Oracle server version (2) Oracle 8.1.7 2Entrée Extract Oracle Client archive [1] (Yes, extract) Entrée Enter path to KERNEL CD [/sapcd] /oracle/PRD/sapreorg/KERNEL Enter amount of RAM for SAP + DB 2044 1800Entrée (en mégaoctets) Service Entry Message Server [3600] Entrée Enter Group-ID of sapsys [100] Entrée Enter Group-ID of oper [101] Entrée Enter Group-ID of dba [102] Entrée Enter User-ID of oraprd [1002] Entrée Enter User-ID of prdadm [1000] Entrée LDAP support 3Entrée (pas de support) Installation step completed [1] (continue) Entrée Choose installation service [1] (DB inst,file) Entrée Jusqu'ici, la création d'utilisateurs donne une erreur durant l'installation lors des phases OSUSERDBSID_IND_ORA (pour la création de l'utilisateur orasid) et OSUSERSIDADM_IND_ORA (création de l'utilisateur sidadm). En dehors des problèmes mentionnés plus bas, tout devrait être assez direct jusqu'au moment où la base de données &oracle; doit être installée. Installer &oracle; 8.0.5 Consultez les notes &sap; et les Readmes d'&oracle; concernant Linux et la base de données &oracle; pour de possibles problèmes. La plupart, si ce n'est pas tous, de ces problèmes proviennent de bibliothèques incompatibles. Pour plus d'informations au sujet de l'installation d'&oracle;, référez-vous au chapitre sur l'installation d'&oracle;. Installer &oracle; 8.0.5 avec <command>orainst</command> Si &oracle; 8.0.5 doit être utilisée, des bibliothèques supplémentaires sont nécessaires pour une édition de liens couronnée de succès, comme &oracle; 8.0.5 est liée avec une ancienne bibliothèque glibc (RedHat 6.0), cependant RedHat 6.1 utilise déjà une nouvelle version de la bibliothèque glibc. Vous devez donc installer les “packages” suivants pour s'assurer que l'édition de liens fonctionnera: compat-libs-5.2-2.i386.rpm compat-glibc-5.2-2.0.7.2.i386.rpm compat-egcs-5.2-1.0.3a.1.i386.rpm compat-egcs-c++-5.2-1.0.3a.1.i386.rpm compat-binutils-5.2-2.9.1.0.23.1.i386.rpm Consultez les notes &sap; et les Readmes d'&oracle; pour plus d'informations. On pourra utiliser les binaires d'origine (au moment de l'installation, nous n'avons pas eu le temps de contrôler cela), ou utiliser directement les binaires fraichement liés d'un système RedHat. Pour la compilation de l'agent intelligent, la version RedHat de Tcl doit être installée. Si vous ne pouvez vous procurer tcl-8.0.3-20.i386.rpm, un fichier plus récent comme tcl-8.0.5-30.i386.rpm pour RedHat 6.1 fera l'affaire. En dehors de ce problème de liens, l'installation est relativement directe: &prompt.root; su - oraids &prompt.root; export TERM=xterm &prompt.root; export ORACLE_TERM=xterm &prompt.root; export ORACLE_HOME=/oracle/IDS -&prompt.root; cd /ORACLE_HOME/orainst_sap +&prompt.root; cd $ORACLE_HOME/orainst_sap &prompt.root; ./orainst Confirmez tous les écrans en appuyant sur Entrée jusqu'à l'installation complète du logiciel, à l'exception de celui qui permet de déselectionner la “visionneuse de texte &oracle;” (&oracle; On-Line Text Viewer), comme cette dernière n'est pas disponible pour Linux. Ensuite &oracle; veut faire l'édition de liens avec i386-glibc20-linux-gcc à la place des gcc, egcs ou i386-redhat-linux-gcc disponibles. En raison d'un manque de temps, nous avons décidé d'utiliser les binaires d'une version &oracle; 8.0.5 PreProduction, après que la première tentative d'obtenir à partir du CD RDBMS une version fonctionnant eut échoué, et que nous avons trouvé qu'accéder aux bons RPMs était alors un véritable cauchemar. Installer la version &oracle; 8.0.5 Pre-production pour Linux (noyau 2.0.33) Cette installation est simple. Montez le CD, lancez l'installeur. Il vous demandera l'emplacement du répertoire utilisateur &oracle;, et y copiera tous les binaires. Nous n'avions, cependant, pas effacé les restes de nos précédentes tentatives d'installation RDBMS. Après cela, la base de données &oracle; put être installée sans encombres. Installer l'archive tar d'&oracle; 8.1.7 pour Linux Prennez l'archive tar que vous avez produite à partir du répertoire d'installation sur un système Linux, et désarchivez-la dans le répertoire /oracle/SID/817_32/. Poursuivre l'installation de &sap.r3; Tout d'abord vérifiez le paramétrage des environements des utilisateurs idsamd (sidadm) et oraids (orasid). Ils devraient avoir, tous les deux, des fichiers .profile, .login et .cshrc qui utilisent la directement la commande hostname. Si le nom de machine du système est un nom complet d'hôte, vous devez modifier hostname pour hostname -s dans ces trois fichiers. Chargement de la base de données Ensuite, R3SETUP peut être soit relancé ou poursuivi (tout dépend si le programme a été quitté ou non). R3SETUP créé ensuite les tables pour les données et charge ces données (pour 46B IDES, à partir des disques EXPORT1 à EXPORT6, pour 46C à partir des disques DISK1 à DISK4) avec R3load dans la base de données. Quand le chargement de la base de données est achevé (cela peut prendre plusieurs heures), des mots de passe sont demandés. Pour les installations de tests, on peut utiliser les mots de passe par défauts connus (utilisez-en des différents si la sécurité est importante): - + Question Entrée(s) clavier Enter Password for sapr3 sapEntrée Confirum Password for sapr3 sapEntrée Enter Password for sys change_on_installEntrée Confirm Password for sys change_on_installEntrée Enter Password for system managerEntrée Confirm Password for system managerEntrée A ce point, nous avons eut quelques problèmes avec dipgntab durant l'installation de la version 4.6B. Programme d'écoute Démarrer le programme d'écoute (“listener”) d'&oracle; sous l'utilisateur orasid comme suit: &prompt.user; umask 0; lsnrctl start Sinon vous risquez d'obtenir l'erreur ORA-12546 comme les “sockets” n'auront pas les bonnes permissions. Consultez la note &sap; 072984. Mettre à jour les tables MNLS Si vous projetez d'importer des données utilisant des langues non latin-1 dans le système &sap;, vous devez mettre à jour les tables de support des langues internationales (“Multi National Language Support” — MNLS). Ceci est décrit dans les notes &sap; OSS 15023 et 45619. Sinon, vous pouvez ignorer cette question lors de l'installation de &sap;. Si vous n'avez pas besoin des tables MNLS, il est toujours nécessaire de contrôler la table TCPDB et l'initialiser si cela n'a pas déjà été fait. Consultez les notes 0015023 et 0045619 pour plus d'information. Etapes de post-installation Demander une clé licence pour &sap.r3; Vous devez demander votre clé &sap.r3;. Cette clé est indispensable étant donné que la licence temporaire qui a été installée lors de l'installation n'est valide que pendant quatre semaines. Tout d'abord récupérez la clé matérielle. Ouvrez une session sous l'utilisateur idsadm et lancez la commande saplicense: &prompt.root; /sapmnt/IDS/exe/saplicense -get Appeler saplicense sans paramètres affiche la liste des options disponibles. Après la réception de la clé, elle peut être installée en utilisant: &prompt.root; /sapmnt/IDS/exe/saplicense -install Vous devez ensuite entrer les valeurs suivantes: SAP SYSTEM ID = SID, 3 chars CUSTOMER KEY = hardware key, 11 chars INSTALLATION NO = installation, 10 digits EXPIRATION DATE = yyyymmdd, usually "99991231" LICENSE KEY = license key, 24 chars Créer les utilisateurs Créez un utilisateur sous le client 000 (certaines tâches doivent être effectuées sous le client 000, mais avec un utilisateur différent de sap* et ddic). Comme nom d'utilisateur, nous choisissons généralement wartung (ou service en français). Les profiles nécessaires sont sap_new et sap_all. Pour plus de sécurité les mots de passe des utilisateurs par défaut à l'intérieur de tous les clients devraient être modifiés (cela inclut les utilisateurs sap* et ddic). Configurer le système de transport, les profils, les modes d'opération, etc. Dans le client 000, avec un utilisateur autre que ddic et sap*, faire, au moins, ce qui suit: - + Tâche Transaction Configurez le système de transport, par exemple entité autonome de domaine de transport (Stand-Alone Transport Domain Entity) STMS Créez / Editez le profil système RZ10 Maintenez les modes d'opération et les instances RZ04 Cela et toutes les autres étapes de post-installation sont intégralement décrites dans les guides d'installation &sap;. Editer <filename>init<replaceable>sid</replaceable>.sap</filename> (<filename>initIDS.sap</filename>) Le fichier /oracle/IDS/dbs/initIDS.sap contient le profil de sauvegarde &sap;. Ici la taille de la bande à utiliser, le type de compression et ainsi de suite doivent être définis. Pour garantir un fonctionnement avec les commandes sapdba/brbackup, nous avons modifié les valeurs suivantes: compress = hardware archive_function = copy_delete_save cpio_flags = "-ov --format=newc --block-size=128 --quiet" cpio_in_flags = "-iuv --block-size=128 --quiet" tape_size = 38000M tape_address = /dev/nsa0 tape_address_rew = /dev/sa0 Explications: compress: la bande que nous utilisons est une HP DLT1 qui fournie une compression matérielle. archive_function: définie le comportement par défaut en ce qui concerne l'archivage des fichiers journaux d'&oracle;: les nouveaux journaux sont sauvegardés sur la bande, ceux déjà sauvegardés le sont à nouveau et sont ensuite effacés. Cela évite de nombreux problèmes si vous devez rétablir la base de données, et qu'une des bandes de sauvegarde est endommagée. cpio_flags: l'indicateur par défaut est qui fixe la taille d'un bloc à 5120 octets. Pour les bande DLT, HP recommande une taille de bloc d'au moins 32Ko, aussi nous avons utilisé pour 64Ko. L'option est nécessaire car nous avons un nombre d'inodes supérieur à 65535. La dernière option, , est nécessaire sinon brbackup se plaint dès que cpio donne le nombre de blocs sauvés. cpio_in_flags: indicateurs nécessaires pour charger les données à partir de bandes. Le format est reconnu automatiquement. tape_size: cette variable donne la capacité brute de la bande. Pour des raisons de sécurité (nous utilisons une compression matérielle), la valeur est légèrement inférieure à la valeur réelle. tape_address: le périphérique non rembobinable devant être utilisé avec cpio. tape_address_rew: le périphérique rembobinable à utiliser avec cpio. Problèmes de configuration après l'installation Les paramètres &sap; suivants devraient être optimisés après l'installation (exemples pour IDES 46B, 1 Go de mémoire): - + Nom Valeur ztta/roll_extension 250000000 abap/heap_area_dia 300000000 abap/heap_area_nondia 400000000 em/initial_size_MB 256 em/blocksize_kB 1024 ipc/shm_psize_40 70000000 Note &sap; 0013026: - + Nom Valeur ztta/dynpro_area 2500000 Note &sap; 0157246: - + Nom Valeur rdisp/ROLL_MAXFS 16000 rdisp/PG_MAXFS 30000 Avec les paramètres donnés ci-dessus, sur un système avec 1Go de mémoire, on pourra avoir une utilisation de la mémoire similaire à: Mem: 547M Active, 305M Inact, 109M Wired, 40M Cache, 112M Buf, 3492K Free Problèmes lors de l'installation Relancer <command>R3SETUP</command> après la correction d'un problème R3SETUP s'arrête s'il rencontre une erreur. Si vous avez examiné les fichiers journaux correspondants et corrigé l'erreur, vous devez relancer R3SETUP à nouveau, habituellement en sélectionnant comme option de la dernière étape pour laquelle R3SETUP avait rencontré un problème. Pour relancer R3SETUP, exécutez-le avec le fichier R3S correspondant: &prompt.root; ./R3SETUP -f CENTRDB.R3S pour la version 4.6B, ou avec &prompt.root; ./R3SETUP -f CENTRAL.R3S pour la version 4.6C, peu importe si l'erreur est apparue avec CENTRAL.R3S ou DATABASE.R3S. A certains points, R3SETUP suppose que la base de données et le processus &sap; sont en fonctionnement (comme s'il avait déjà complété ces étapes). Au cas où les erreurs se produiraient et que par exemple la base de données ne peut être lancée, vous devez lancer la base de données et &sap; à la main après avoir corrigé les erreurs et avant d'exécuter à nouveau R3SETUP. N'oubliez pas également de démarrer le programme d'écoute d'&oracle; à nouveau (en tant que orasid avec umask 0; lsnrctl start) s'il a également été stoppé (par exemple en raison d'un redémarrage du système). Etape OSUSERSIDADM_IND_ORA lors de l'utilisation de <command>R3SETUP</command> Si R3SETUP se plaint à ce stade, éditez le fichier modèle utilisé par R3SETUP à ce moment (CENTRDB.R3S (4.6B) ou CENTRAL.R3S ou DATABASE.R3S (4.6C)). Localisez la ligne [OSUSERSIDADM_IND_ORA] ou cherchez l'unique entrée STATUS=ERROR et éditez les valeurs suivantes: HOME=/home/sidadm (was empty) STATUS=OK (had status ERROR) Vous pouvez ensuite relancer R3SETUP. Etape OSUSERDBSID_IND_ORA lors de l'utilisation de <command>R3SETUP</command> Il est possible que R3SETUP se plaigne également à ce stade. L'erreur ici est similaire à celle durant la phase OSUSERSIDADM_IND_ORA. Editez juste le fichier modèle utilisé par R3SETUP à ce moment (CENTRDB.R3S (4.6B) ou CENTRAL.R3S ou DATABASE.R3S (4.6C)). Localisez la ligne [OSUSERDBSID_IND_ORA] ou cherchez l'unique entrée STATUS=ERROR et éditez la valeur suivante dans la section: STATUS=OK Puis relancez R3SETUP. Erreur <errorname>oraview.vrf FILE NOT FOUND</errorname> lors de l'installation d'&oracle; Vous n'avez pas désélectionné la visionneuse de texte en ligne d'&oracle; avant de débutter l'installation. Elle est sélectionnée par défaut même si cette option n'est actuellement pas disponible pour Linux. Désélectionnez cet élément dans le menu d'installation d'&oracle; et relancez l'installation. Erreur <errorname>TEXTENV_INVALID</errorname> lors du lancement de <command>R3SETUP</command>, RFC ou SAPgui Si cette erreur apparaît, la “locale” correcte n'est pas présente. La note &sap; 0171356 liste les RPMs nécessaires (e.g. saplocales-1.0-3, saposcheck-1.0-1 pour RedHat 6.1). Dans le cas où vous avez ignoré toutes les erreurs en rapport et modifié la valeur du STATUS correspondant de la valeur ERROR vers la valeur OK (dans CENTRDB.R3S) à chaque fois que R3SETUP s'est plaint et que vous avez relancé R3SETUP, le système &sap; ne sera pas correctement configuré et vous ne serez pas en mesure de vous connecter au système avec SAPgui, même si le système peut être lancé. Tenter de se connecter avec l'ancien SAPgui Linux donna les messages suivants: Sat May 5 14:23:14 2001 *** ERROR => no valid userarea given [trgmsgo. 0401] Sat May 5 14:23:22 2001 *** ERROR => ERROR NR 24 occured [trgmsgi. 0410] *** ERROR => Error when generating text environment. [trgmsgi. 0435] *** ERROR => function failed [trgmsgi. 0447] *** ERROR => no socket operation allowed [trxio.c 3363] Speicherzugriffsfehler Ce comportement est dû au fait que &sap.r3; est incapable d'assigner correctement une “locale” et n'est lui-même pas correctement configuré (entrées manquantes dans certaines tables de la base de données). Pour être en mesure de se connecter à &sap;, ajoutez les entrées suivantes au fichier DEFAULT.PFL (voir la note 0043288): abap/set_etct_env_at_new_mode = 0 install/collate/active = 0 rscp/TCP0B = TCP0B Redémarrer le système &sap;. Vous pouvez maintenant vous connecter au système, même si les paramètrages spécifiques à certaines langues peuvent ne pas fonctionner comme attendu. Après la correction des paramétrages de langue (et après avoir fourni les “locales” correctes), ces entrées peuvent être supprimées du fichier DEFAULT.PFL et le système &sap; peut être relancé. Erreur <errorcode>ORA-00001</errorcode> Cette erreur s'est produite uniquement avec &oracle; 8.1.7 sous &os; 4.5. La raison était que la base de données &oracle; ne pouvait pas s'initialiser correctement et plantait, laissant des sémaphores et de la mémoire partagée sur le système. La tentative suivante de démarrer la base de données retourna alors l'erreur ORA-00001. Retrouvez-les avec la commande ipcs -a et détruisez-les avec ipcrm. Erreur <errorcode>ORA-00445</errorcode> (le processus en tâche de fond PMON n'a pas démarré — “Background Process PMON Did Not Start”) Cette erreur s'est produite avec &oracle; 8.1.7. Cette erreur est rapportée si la base de données est démarrée avec la procédure startsap habituelle (par exemple startsap_majestix_00) en tant qu'utilisateur prdadm. Une solution possible est de démarrer la base de données sous l'utilisateur oraprd avec la commande svrmgrl: &prompt.user; svrmgrl SVRMGR> connect internal; SVRMGR> startup; SVRMGR> exit Erreur <errorcode>ORA-12546</errorcode> (Lancez le programme d'écoute avec les droits corrects — “Start Listener with Correct Permissions”) Démarrez le programme d'écoute (“listener”) d'&oracle; sous l'utilisateur oraids avec les commandes suivantes: &prompt.root; umask 0; lsnrctl start Sinon vous pourrez obtenir l'erreur ORA-12546 étant donné que les “sockets” n'auront pas les bonnes permissions. Consultez la note &sap; 0072984. Erreur <errorcode>ORA-27102</errorcode> (Mémoire épuisée — “Out of Memory”) Cette erreur s'est produite quand nous avons essayé des valeurs pour MAXDSIZ et DFLDSIZ supérieures à 1 Go (1024x1024x1024). De plus, nous avons eu l'erreur Linux Error 12: Cannot allocate memory. Erreur [DIPGNTAB_IND_IND] lors de l'utilisation de <command>R3SETUP</command> En général, vous devez consulter la note &sap; 0130581 (“R3SETUP step DIPGNTAB terminates”). Lors de l'installation d'IDES, pour certaines raisons le processus d'installation n'a pas utilisé le nom correct pour le système &sap; “IDS”, mais la chaîne de caratère "" à la place. Cela conduit à des problèmes mineurs d'accès aux répertoires, comme les chemins sont générés dynamiquement en utilisant l'identifiant système SID (dans ce cas IDS). Aussi au lieu d'accéder par: /usr/sap/IDS/SYS/... /usr/sap/IDS/DVMGS00 les chemins suivants ont été utilisé: /usr/sap//SYS/... /usr/sap/D00 Afin de poursuivre l'installation, nous avons créé un lien et un répertoire supplémentaire: &prompt.root; pwd /compat/linux/usr/sap &prompt.root; ls -l total 4 drwxr-xr-x 3 idsadm sapsys 512 May 5 11:20 D00 drwxr-x--x 5 idsadm sapsys 512 May 5 11:35 IDS -lrwxr-xr-x 1 root sapsys 7 May 5 11:35 SYS -> IDS/SYS +lrwxr-xr-x 1 root sapsys 7 May 5 11:35 SYS -> IDS/SYS drwxrwxr-x 2 idsadm sapsys 512 May 5 13:00 tmp drwxrwxr-x 11 idsadm sapsys 512 May 4 14:20 trans Nous avons également trouvé des notes &sap; (0029227 et 0008401) décrivant ce comportement. Nous n'avons pas rencontré un seul de ces problèmes lors de l'installation de SAP 4.6C. Erreur [RFCRSWBOINI_IND_IND] lors de l'utilisation de <command>R3SETUP</command> Lors de l'installation de SAP 4.6C, cette erreur est juste une conséquence d'une autre erreur survenant plus tôt dans l'installation. Dans ce cas, vous devez consulter les fichiers journaux correspondant et corriger le véritable problème. Si après avoir cherché dans les fichiers journaux cette erreur est confirmée (consultez les notes &sap;), vous pouvez modifier la valeur du STATUS de l'étape posant problème de la valeur ERROR à la valeur OK. Après l'installation, vous devez exécuter le report RSWBOINS à partir de la transaction SE38. Lire la note &sap; 0162266 pour des informations supplémentaires au sujet des phases RFCRSWBOINI et RFCRADDBDIF. Erreur [RFCRADDBDIF_IND_IND] lors de l'utilisation de <command>R3SETUP</command> Ici les même restrictions s'appliquent: assurez-vous en consultant les fichiers journaux, que cette erreur n'est pas causée par d'autres problèmes apparus précédemment. Si vous avez confirmation que la note &sap; 0162266 s'applique, modifiez juste la valeur du STATUS de l'étape posant problème de la valeur ERROR à la valeur OK (fichier CENTRDB.R3S) et relancez R3SETUP. Après l'installation, vous devez exécuter le report RADDBDIF à partir de la transaction SE38. Erreur <errorcode>sigaction sig31: File size limit exceeded</errorcode> Cette erreur s'est produite lors du lancement des processus &sap; disp+work. Si &sap; est démarré avec la procédure startsap, les sous-processus sont alors lancés, et lancent les autres processus &sap;. Cela a pour résultat le fait que la procédure ne remarquera pas si quelque chose se passe mal. Pour contrôler si les processus &sap; ont démarré correctement, consultez l'état des processus avec la commande ps ax | grep SID, qui vous donnera une liste de tous les processus &oracle; et &sap;. S'il semble que certains processus sont manquant ou que vous ne pouvez pas vous connecter au système &sap;, consultez les fichiers journaux correspondants qui peuvent être trouvés dans le répertoire /usr/sap/SID/DVEBMGSnr/work/. Les fichiers à consulter sont dev_ms et dev_disp. Le signal 31 se produit ici si la quantité de mémoire partagée utilisée par &oracle; et &sap; dépasse celle définie dans le fichier de configuration du noyau et ce problème peut être résolu en utilisant une valeur plus grande: # larger value for 46C production systems: options SHMMAXPGS=393216 # smaller value sufficient for 46B: #options SHMMAXPGS=262144 Le lancement de <command>saposcol</command> échoue Il y a quelques problèmes avec le programme saposcol (version 4.6D). Le système &sap; utilise saposcol pour collecter les données concernant les performances du système. Ce programme n'est pas nécessaire pour utiliser le système &sap;, aussi ce problème peut être considéré comme mineur. Les anciennes versions (4.6B) fonctionnent, mais ne récupèrent pas toutes les données (nombreux sont les appels qui retournent juste 0, par exemple pour l'utilisation du CPU). Sujets avancés Si vous êtes curieux de savoir comment la compatibilité binaire avec Linux fonctionne, cette section est faite pour vous. La plupart de ce qui suit est principalement basé sur un courrier électronique de Terry Lambert tlambert@primenet.com envoyé à la &a.chat; (Message ID: <199906020108.SAA07001@usr09.primenet.com>). Comme ça marche? chargeur de classe d'exécution &os; possède une abstraction appelée “chargeur de classe d'exécution”. C'est une portion de l'appel système &man.execve.2;. Ce qui se passe est que &os; dispose d'une liste de chargeurs, à la place d'un simple chargeur avec retour (“fallback”) vers le chargeur #! pour exécuter n'importe quel interpréteur de commandes ou procédure. Historiquement, l'unique chargeur sur les plate-formes &unix; examinait le nombre magique (généralement les 4 ou 8 premiers octets du fichier) pour voir si c'était un binaire connu par le système, et si c'était le cas, invoquait le chargeur binaire. Si ce n'était pas le type de binaire du système, l'appel &man.execve.2; retournait un échec, et l'interpréteur de commandes tentait de l'exécuter comme une commande d'interpréteur. Cette hypothèse est celle par défaut quelque soit l'interpréteur de commandes actuel. Plus tard, une modification a été faite sur &man.sh.1; pour examiner les deux premiers caractères, et s'ils étaient :\n, alors elle invoquait l'interpréteur de commandes &man.csh.1; à la place (nous pensons que l'entreprise SCO fut la première à faire cette modification). Ce que fait maintenant &os; est de parcourir une liste de chargeurs, avec un chargeur #! générique qui reconnait les noms des interpréteurs qui se trouvent après le caractère espace suivant, puis avec un retour possible vers /bin/sh. ELF Pour le support de l'ABI Linux, &os; voit le nombre magique comme un binaire ELF (il ne fait pas la différence à ce niveau entre &os;, &solaris;, Linux, ou tout autre système d'exploitation qui dispose d'un type d'image ELF). Solaris Le chargeur ELF recherche une marque spécifique, qui se trouve dans une section de commentaire dans l'image ELF, et qui n'est pas présente dans les binaires SVR4/&solaris; ELF. Pour que les binaires Linux puissent fonctionner, ils doivent être marqués sous le type Linux avec &man.brandelf.1;: &prompt.root; brandelf -t Linux file Quand cela est fait, le chargeur ELF verra le marquage Linux sur le fichier. ELF marquage Lorsque le chargeur ELF voit le marquage Linux, le chargeur remplace un pointeur dans la structure proc. Tous les appels système sont indéxés par l'intermédiaire de ce pointeur (dans un système &unix; traditionnel, cela serait la structure sysent[], contenant les appels système). De plus, le processus est marqué pour une gestion spéciale du vecteur d'interruption (“trap”) pour le signal de code “trampoline”, et plusieurs autres corrections (mineures) qui sont gérées par le noyau Linux. Le vecteur d'appel système Linux contient, entre autres, une liste des entrées sysent[] dont les adresses résident dans le noyau. Quand un appel système est effectué par le binaire Linux, le code “trap” déréférence de la structure proc le pointeur de la fonction de l'appel système, et utilise les points d'entrée Linux, et non pas &os;, de d'appel système. De plus, le mode Linux redéfinit dynamiquement l'origine des requêtes; c'est, en effet, ce qu'effectue l'option (pas le type de système de fichiers unionfs!) de montage des systèmes de fichiers. Tout d'abord, une tentative est faite pour rechercher le fichier dans le répertoire /compat/linux/chemin-origine, puis uniquement si cela échoue, la recherche est effectuée dans le répertoire /chemin-origine. Cela permet de s'assurer que les binaires nécessitant d'autres binaires puissent s'exécuter (par exemple, l'ensemble des outils Linux peuvent tourner sous l'ABI Linux). Cela signifie également que les binaires Linux peuvent charger et exécuter les binaires &os;, s'il n'y a pas de binaires Linux correspondant présents, et vous pourriez placer une commande &man.uname.1; dans l'arborescence /compat/linux pour vous assurer que les binaires Linux ne puissent pas dire qu'ils ne tournent pas sous Linux. En effet, il y a un noyau Linux dans le noyau &os;; les diverses fonctions sous-jacentes qui implémentent tous les services fournis par le noyau sont identiques entre les deux tables d'entrées des appels systèmes &os; et Linux: les opérations sur les systèmes de fichiers, les opérations sur la mémoire virtuelle, la gestion des signaux, l'IPC System V, etc. La seule différence est que les binaires &os; utilisent les fonctions glue de &os;, et les binaires Linux celles de Linux (les plus anciens systèmes d'exploitation avaient uniquement leurs propres fonctions de glue: les adresses des fonctions dans une structure sysent[] statique globale, au lieu des adresses des fonctions déréférencées d'un pointeur initialisé dynamiquement pointant vers la structure proc du processus faisant l'appel). Laquelle est l'ABI native &os;? Cela n'a pas d'importance. Basiquement, la seule différence est que (actuellement, cela pourrait facilement changer dans les versions futures, et probablement après cela) les fonctions glue de &os; sont liées en statique dans le noyau, les fonctions glue Linux peuvent être liées statiquement, ou l'on peut y accéder via un module du noyau. Oui, mais est-ce vraiment de l'émulation? Non. C'est l'implémentation d'une interface binaire pour les applications (ABI). Il n'y a pas d'émulateur (ou de simulateur, pour couper court aux prochaines questions) impliqué. Mais pourquoi appelle-t-on parfois cela “émulation Linux”? Pour rendre difficile la vente des versions de &os;! Sérieusement, c'est dû au fait que l'implémentation historique a été faite à une époque où il n'y avait pas vraiment d'autres mots pour décrire ce qui était en développement; dire que &os; exécutait les binaires Linux n'était pas vrai si vous n'aviez pas compilé le code ou chargé un module, aussi un terme était nécessaire pour qualifier ce qui était chargé — donc l'“émulateur Linux”.