diff --git a/es_ES.ISO8859-1/books/handbook/linuxemu/chapter.sgml b/es_ES.ISO8859-1/books/handbook/linuxemu/chapter.sgml
index 3f67429f55..f577619306 100755
--- a/es_ES.ISO8859-1/books/handbook/linuxemu/chapter.sgml
+++ b/es_ES.ISO8859-1/books/handbook/linuxemu/chapter.sgml
@@ -1,3578 +1,3744 @@
JimMockReestructurado y actualizado por Brian N.HandyEscrito por RichMurpheyCompatibilidad binaria con LinuxSinopsiscompatibilidad binaria con Linuxcompatibilidad binariaLinux&os; proporciona compatibilidad de binarios con muchos otros
sistemas operativos tipo &unix;, incluyendo Linux.
Puede estarse preguntando ¿por qué necesita
&os; ejecutar binarios de Linux? La
respuesta a esa pregunta es muy simple. Muchos desarrolladores y
compañías desarrollan sólo para Linux, ya
que últimamente es el blanco de todas las miradas dentro del
mundo de las tecnologís de la información.
Esto hace que la comunidad &os; tenga que exigir a esas
compañías y desarrolladores que produzcan versiones
nativas de sus aplicaciones para &os;.
El problema es que la mayoría de esas compañías
no suelen saber realmente cuánta gente utilizaría
su producto si existieran esas versiones para &os;, y
la mayoría continúa desarrollando únicamente
para Linux.
Vista la situación ¿que puede hacer un usuario de &os?
Aquí es donde entra en juego la compatibilidad binaria con
Linux.Para expresarlo en pocas palabras, dicha compabitilidad permite
a los usuarios de &os; cerca del 90% de las aplicaciones de Linux sin
tener que modificarlas en absoluto. Entre estas está
&staroffice;,
la versión Linux de &netscape;,
&adobe; &acrobat;,
RealPlayer,
VMware,
&oracle;,
WordPerfect, Doom,
Quake y muchas más. En determinados
casos los binarios Linux rinden mejor en &os; que en Linux.Existen, por desgracia, ciertas características
específicas de Linux que no funcionan en &os;.
Los binarios Linux no funcionarán en &os; si recurren a
llamadas específicas de &i386; como la activación
del modo virtual 8086.Tras leer este capítulo sabrá usted:cómo activar la compatibilidad binaria con Linux en su
sistema.cómo instalar bibliotecas compartidas de Linux que pueda
necesitar.
cómo instalar aplicaciones de Linux en su sistema &os;.cuáles son los detalles de la implementación de
compatibilidad binaria con Linux en &os;.Antes de leer este capítulo es necesario que sepa:cómo instalar software de
terceros ().InstalaciónKLD (objeto cargable del kernel)La compatibilidad binaria con Linux no viene activada
por omisión. La forma más sencilla de habilitarla
es cargar el KLD (objeto cargable en el kernel)
linux. Como usuario
root proceda del siguiente modo:&prompt.root; kldload linuxSi quiere que la compatibilidad con Linux esté
siempre activada tendrá que añadir la siguiente
línea en /etc/rc.conf:linux_enable="YES"Utilice &man.kldstat.8; para verificar que el KLD
esté cargado:&prompt.user; kldstat
Id Refs Address Size Name
1 2 0xc0100000 16bdb8 kernel
7 1 0xc24db000 d000 linux.kokernel optionsLINUXSi por alguna razón no desea o no puede cargar el KLD,
entonces puede enlazar estáticamente la compatibilidad de binarios
Linux en el kernel agregando options COMPAT_LINUX
a su fichero de configuración del kernel. Luego instale
su nuevo kernel como se describe en
.Instalación de bibliotecas de ejecución LinuxLinuxinstalación de bibliotecas LinuxPuede hacerse de dos maneras, ya sea usando
el port linux_base,
o instalándolas
de forma manual.Instalación usando el port linux_basecolección de portsEste es con mucho el método mas sencillo
para instalar bibliotecas de ejecución. Es como
instalar cualquier otro port de la
Colección
de Ports. Es tan sencillo como esto:&prompt.root; cd /usr/ports/emulators/linux_base
&prompt.root; make install distcleanHecho esto debería disponer de compatibilidad binaria con
Linux. Algunos programas pueden quejarse por
la presencia de versiones antiguas de algunas bibliotecas del
sistema. Generalmente esto no suele ser un problema muy
grave.Pueden coexistir múltiples versiones
del port emulators/linux_base
disponibles correspondientes a distintas versiones de diversas
distribuciones de Linux. Tendrá que instalar el port
que más se ajuste a las necesidades de las aplicaciones
de Linux que quiera instalar.Instalación manual de bibliotecasSi, por el motivo que fuese, no tiene instalada
la colección de ports puede instalar las bibliotecas
que necesite de forma manual.
Necesitará las bibliotecas compartidas Linux de
las que depende el programa y el enlazador en tiempo de
ejecución (runtime linker).
Necesitará también
crear un directorio
/compat/linux donde alojar las bibliotecas
Linux en su sistema &os; Cualquier biblioteca compartida a la
que haya recurrido un programa de Linux ejecutado en &os;
buscará en primer lugar en dicho directorio.
Por lo tanto, si se carga un
programa Linux, por ejemplo /lib/libc.so,
&os; intentará en primer lugar abrir
/compat/linux/lib/libc.so y, si no
existe, lo intentará con
/lib/libc.so. Las bibliotecas
compartidas deben instalarse en
/compat/linux/lib en lugar de las rutas que
el ld.so de Linux proporcione.En general, necesitará buscar las bibliotecas
compartidas de las que los binarios Linux dependen
sólamente las primeras veces que instale un programa
Linux en su &os;. Más adelante tendrá un conjunto
suficiente de bibliotecas compartidas Linux en su sistema
para poder ejecutar binarios Linux sin que tenga que hacer nada
más.Cómo instalar bibliotecas compartidas adicionalesbibliotecas compartidas¿Que pasaría si instalara el port
linux_base y su aplicación
todavía tuviera problemas debido a bibliotecas compartidas
que no encuentra en el sistema?
¿Cómo saber qué bibliotecas compartidas
necesitan los binarios Linux? Básicamente hay dos
posibilidades (para poder ejecutar las siguientes instrucciones
necesitará estar como rootSi tiene acceso a un sistema Linux busque en él
qué bibliotecas necesita la aplicación, y
cópielas a su sistema &os;. Veamos unos ejemplos:
Asumiremos que utilizó FTP para conseguir los
binarios Linux de Doom y los
puso en un sistema Linux.
Para ver qué bibliotecas compartidas necesitará
ejecute 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.29enlaces simbólicosNecesitaría todos los ficheros de la
segunda columna, y tendrá que ponerlos en
/compat/linux con los nombres de
la primera columna como enlaces
simbólicos apuntando hacia ellos. De este modo
tendría en su sistema &os; los siguientes ficheros:
/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
Recuerde que si ya tiene una biblioteca
compartida Linux con un número de versión
mayor que coincida con la primera columna de la salida de
ldd no necesitará copiar el
fichero que aparece en la última columna;
el que tiene debería funcionar, aunque se aconseja
copiar la biblioteca compartida de todas maneras
si es una nueva versión. Puede eliminar la vieja
siempre que haga que el enlace simbólico apunte
a la nueva. Si tiene estas bibliotecas
en su sistema:/compat/linux/lib/libc.so.4.6.27
/compat/linux/lib/libc.so.4 -> libc.so.4.6.27y un binario requiere
una versión más reciente (como indica la
siguiente salida de ldd):libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29si solo ve una o dos versiones desfasadas en los
últimos dígitos no se preocupe
de copiar /lib/libc.so.4.6.29,
el programa debería funcionar
bien con una versión ligeramente antigua.
De todas formas, si así lo prefiere, puede actualizar
libc.so; el resultado sería
este:/compat/linux/lib/libc.so.4.6.29
/compat/linux/lib/libc.so.4 -> libc.so.4.6.29
El mecanismo de enlazado simbólico
sólamente es necesario con
binarios Linux. El enlazador en tiempo de ejecución
de &os; se encarga de buscar él mismo las versiones
correctas, así que no tendrá que preocuparse
usted de hacerlo.
Instalar binarios ELF LinuxLinuxbinarios ELFLos binarios ELF algunas veces requieren un paso extra de
marcado. Si trata de ejecutar un binario ELF no
marcado recibirá un mensaje de error como el siguiente:&prompt.user; ./mi-binario-elf
ELF binary type not known
AbortPara ayudar al kernel de FreeBSD a distinguir entre un binario
ELF de &os; y uno de Linux utilice &man.brandelf.1;.&prompt.user; brandelf -t Linux mi-binario-elf-de-linuxGNU toolchainLas herramientas GNU se encargan de ubicar automáticamente
la marca apropiada en los binarios ELF, por lo tanto este
paso será innecesario en un futuro próximo.Configuración de la resolución de nombres de
equiposSi el DNS no funciona u obtiene este mensaje:resolv+: "bind" is an invalid keyword resolv+:
"hosts" is an invalid keywordNecesitará un fichero
/compat/linux/etc/host.conf
con el siguiente contenido:order hosts, bind
multi onSignifica que
/etc/hosts seráanalizado en primer lugar
y después se usará DNS.
Si /compat/linux/etc/host.conf no
está instalado, las aplicaciones Linux usan el
/etc/host.conf de &os; y chocan con la
sintaxis (incompatible) de &os;. Borre
bind de su /etc/resolv.conf
si no tiene configurado un servidor de nombres.HollasBorisActualizado para Mathematica 5.X por Instalación de &mathematica;aplicacionesMathematicaEste documento describe el proceso de instalación
de la versión para Linux de
&mathematica; 5.X en un sistema
&os;.Puede pedir a Wolfram, el fabricante, La versión para
para Linux de &mathematica; o
la versión de
&mathematica; para estudiantes
en su sitio web,
.El instalador de &mathematica;Lo primero que tiene que hacer es decirle a &os;
que los binarios de &mathematica;
para Linux utilizan la ABI Linux. La forma más
sencilla de hacerlo es marcar por omisión todos los
binarios sin marcas como Linux ELF.&prompt.root; sysctl kern.fallback_elf_brand=3Hecho esto &os; asumirá que cualquier binario
sin marca que encuentre utiliza la ABI Linux; de este modo
podrá ejecutar el binario directamente desde el
CDROM.Copie el fichero MathInstaller en su
disco duro&prompt.root; mount /cdrom
&prompt.root; cp /cdrom/Unix/Installers/Linux/MathInstaller /directoriolocal/Edite este fichero y sustituya la primera línea,
/bin/sh, por
/compat/linux/bin/sh para asegurarnos de
que lo que ejecute el instalador sea la verión
de &man.sh.1; de Linux. El siguiente paso es sustituir todos
los Linux) por FreeBSD)
con un editor de texto on con el script que encontrará
en la siguiente sección. Esto se hace para ayudar al
instalador de &mathematica;,
el cual en un cierto momento invoca a
uname -s para determinar el sistema operativo,
a tratar a &os; como si fuera un sistema operativo muy similar
a Linux. Hecho todo esto, cuando ejecute
MathInstaller podrá instalar
&mathematica;.Modificación de los ejecutables de &mathematica;Debe modificar los scripts de shell que
&mathematica; creó durante
la instalación antes de usarlos. Si eligió
ubicar en
/usr/local/bin
los ejecutables de
&mathematica; verá que
en ese directorio hay enlaces simbólicos a ficheros
como math, mathematica,
Mathematica y
MathKernel. En cada uno de esos ficheros debe
sustituir Linux) por FreeBSD)
con un editor de texto o bien con el siguiente script de
shell:#!/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
doneCómo obtener una contraseña de &mathematica;EthernetMAC addressCuando arranque &mathematica;
por primera vez se le pedirá una contraseña. Si
Wolfram no le ha enviado ya necesita un machine ID,
para lo cual debe ir al directorio de instalación y ejecutar
mathinfo. Este machine IDE
se obtiene de la dirección MAC de la primera tarjeta
Ethernet de la máquina y tiene como objetivo que no
pueda ejecutar &mathematica; en
más de una máquina.Durante el proceso de registro en Wolfram (ya sea por
correo electrónico, teléfono o fax) les dará
el machine ID y Wolfram le enviará una
contraseña relacionada con él, consistente en grupos
de números.Ejecución del «frontend» de &mathematica;
través de una red&mathematica; usa unos cuantos
tipos especiales para mostrar caracteres que no están
en ningún conjunto estándar de tipos: integrales,
sumas, letras griegas, etc. El protocolo X exige que los
tipos estén instalados
en local, es decir, tiene que copiar los
tipos del CDROM o la máquina desde la que ha instalado
&mathematica; a su
máquina. Los tipos están en el directorio del CDDROM
/cdrom/Unix/Files/SystemFiles/Fonts y se
supone que deben estar en su disco duro en el directorio
/usr/local/mathematica/SystemFiles/Fonts. Los
tipos están realmente en los subdirectorios
Type1 y X. Hay varias
formas de utilizarlos.La primera es copiarlos en uno de los directorios de tipos
que hay en /usr/X11R6/lib/X11/fonts, antes
de lo cual tendrá que añadir a
fonts.dir los nombres de los tipos;
tendrá también que cambiar el número de
tipos en la primera línea. Por otra parte, todo esto
puede hacerse ejecutando &man.mkfontdir.1; en el directorio
donde haya copiado los tipos.La segunda forma de utilizar estos tipos es copiarlos
bajo
/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; mkfontdirAñada los nuevos directorios de tipos a su ruta de
tipos:&prompt.root; xset fp+ /usr/X11R6/lib/X11/fonts/X
&prompt.root; xset fp+ /usr/X11R6/lib/X11/fonts/MathType1
&prompt.root; xset fp rehashSi usa el servidor &xorg;
puede cargar los tipos automáticamente
añadiéndolos al fichero
xorg.conf.En servidores &xfree86;
el fichero de configuración es
XF86Config.fontsSi no tiene ya en su sistema un
directorio /usr/X11R6/lib/X11/fonts/Type1
puede cambiarle el nombre al directorio
MathType1 del ejemplo anterior
por Type1.AaronKaplanEscrito por RobertGetschmannGracias a Instalación de &maple;aplicacionesMaple&maple; es un programa comercial
de matemáticas
similar a &mathematica;. Puede adquirir
este software en
; tras registrarlo
recibirá un fichero de licencia. Si quiere instalar este
software en &os; siga los siguienes pasos:Ejecute el script de shell
INSTALL
desde el lugar de instalación del producto. Elija
la opción RedHat cuando
le pregunte el programa de instalación.
/usr/local/maple
es un buen sitio para instalar el software.Si no lo ha hecho ya, solicite una licencia
para &maple;
a Maple Waterloo Software ()
y cópiela a
/usr/local/maple/license/license.dat.Instale el gestor de licencias
FLEXlm
ejecutando el script de shell de instalación
INSTALL_LIC
que viene con &maple;. Introduzca
el nombre de su máquina (el servidor de licencias
lo necesita).Parchée el fichero
/usr/local/maple/bin/maple.system.type
con lo siguiente: ----- 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 -----Tenga muy presente que después de
"FreeBSD"|\
no debe haber ningún espacio en blanco.Este parche le dice a &maple;
que interprete FreeBSD como un tipo de sistema
Linux. El script de shell
bin/maple
llama al script de shell
bin/maple.system.type,
que a su vez recurre a uname -a para
dictaminar el nombre del sistema operativo. Dependiendo de
cuál sea sabrá qué binarios
utilizar.Inicio del servidor de licencias.El siguiente script, sito en
/usr/local/etc/rc.d/lmgrd.sh, le
permitirá arrancar 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
echo -n " lmgrd"
;;
stop)
lmgrd -c ${LICENSE_FILE} -x lmdown 2>> ${LOG} 1>&2
;;
*)
echo "Usage: `basename $0` {start|stop}" 1>&2
exit 64
;;
esac
exit 0
----- snip ------------Prueba de arranque de &maple;:&prompt.user; cd /usr/local/maple/bin
&prompt.user; ./xmapleTodo debería funcionar perfectamente. Si es así
aún le queda un último paso: escribir a
Maplesoft y decirles que sería genial una versión
nativa para &os;.Problemas frecuentesEl gestor de licencias
FLEXlm puede ser un tanto
difícil de usar. En caso de necesitarla tiene
más información en
.lmgrd tiene una reconocida fama
de ser muy meticuloso en todo lo relacionado con el fichero de
licencia; suele generar volcados de memoria si se encuentra con
algún problema. Un fichero de licencia correcto tiene
que parecerse mucho a este:# =======================================================
# 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=XXXXXXXXXEl número de serie y la clave han sido
sobreescritos con X.
chillig es el nombre de un equipo.Puede editar el fichero de licencia siempre que no
toque la línea FEATURE (que está
protegida por la clave de la licencia).DanPellegEscrito por Instalación de &matlab;aplicacionesMATLABEste documento describe el proceso de instalación de
la versión para Linux de
&matlab; version 6.5
en &os;. En general funciona bastante bien, excepción
hecha de &java.virtual.machine;
(consulte la ).La versión Linux de &matlab;
puede pedirse directamente en el sitio de The MathWorks,
. Tiene que
recibir también el fichero de licencia o instrucciones
de cómo crearlo. Al hacer su pedido aproveche para decirles
que sería muy buena idea que ofrecieran una versión
nativa de su software para &os;.Instalación de &matlab;Para instalar &matlab;
haga lo siguiente:Inserte el CD de instalación y móntelo.
Conviértase en root e
inicie la instalación:&prompt.root; /compat/linux/bin/sh /cdrom/installEl instalador es gráfico. Si obtiene errores
acerca de no ser capaz de abrir un display teclée
setenv HOME ~USUARIO,
donde USUARIO es el nombre del
usuario con el que hizo &man.su.1;.Teclée
/compat/linux/usr/local/matlab
donde el instalador le pida el directorio raíz de
&matlab;.Esto último le facilitará la entrada de datos
durante el resto de la instalación. Introduzca lo
siguiente en el prompt de su shell:
set MATLAB=/compat/linux/usr/local/matlabEdite el fichero de licencia tal y como consta en las
instrucciones de la licencia de &matlab;.Puede tenerlo ya editado y copiado a
$MATLAB/license.dat desde antes de que
el instalador se lo pida.Complete el proceso de instalación.La instalación &matlab;
ha finalizado. Los siguientes pasos aplicarán el
pegamento necesario para conectarlo a su
sistema &os;.Inicio del administrador de licenciasCrée los enlaces simbólicos que necesitan los
scripts del administrador
de licencias:&prompt.root; ln -s $MATLAB/etc/lmboot /usr/local/etc/lmboot_TMW
&prompt.root; ln -s $MATLAB/etc/lmdown /usr/local/etc/lmdown_TMWCrée un fichero de inicio en
/usr/local/etc/rc.d/flexlm.sh.
El siguiente ejemplo es una versión modificada de
$MATLAB/etc/rc.lm.glnx86 que viene con
la distribución de &matlab;.
Los cambios que se han hecho en él obedecen a la
ubicación de los ficheros y el arranque del
administrador de licencias bajo emulación de 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 nombre-de-usuario && 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 0El fichero debe ser ejecutable:&prompt.root; chmod +x /usr/local/etc/rc.d/flexlm.shTendrá que reemplazar la entrada
nombre-de-usuario de
nuestro ejemplo por un nombre de usuario
válido en su sistema
(que no sea root).Arranque el administrador de licencias:&prompt.root; /usr/local/etc/rc.d/flexlm.sh startEnlace del entorno de ejecución &java;Cambie el enlace del entorno de ejecución
&java;
(JRE) a uno que funcione en &os;:&prompt.root; cd $MATLAB/sys/java/jre/glnx86/
&prompt.root; unlink jre; ln -s ./jre1.1.8 ./jreCreación de un script de arranque
para &matlab;Coloque el siguiente script de arranque en
/usr/local/bin/matlab:
#!/bin/sh
/compat/linux/bin/sh /compat/linux/usr/local/matlab/bin/matlab "$@"Escriba
chmod +x /usr/local/bin/matlab.Dependiendo de su versión de
emulators/linux_base tal
vez obtenga errores al ejecutar este script.
Para evitarlo edite
/compat/linux/usr/local/matlab/bin/matlab
y cambie la línea en la que aparece:if [ `expr "$lscmd" : '.*->.*'` -ne 0 ]; then(en la versión 13.0.1 es en la línea 410) por
esta otra línea:if test -L $newbase; thenCreación de un script para detener
&matlab;Este script solucionará
las dificultades que pueda tener para detener &matlab;
correctamente.Crée un fichero llamado
$MATLAB/toolbox/local/finish.m y
ponga en él una sola línea con este
texto:! $MATLAB/bin/finish.sh$MATLAB debe escribirse
tal cual.En el mismo directorio encontrará los
ficheros finishsav.m y
finishdlg.m, que le
permiten guardar su trabajo antes de
salir de la aplicación. Si quiere usar alguno de ellos,
inserte la línea de arriba inmediatamente
después de
save.Crée un fichero
$MATLAB/bin/finish.sh con el siguiente
contenido:#!/usr/compat/linux/bin/sh
(sleep 5; killall -1 matlab_helper) &
exit 0El fichero tiene que ser ejecutable:&prompt.root; chmod +x $MATLAB/bin/finish.shUso de &matlab;Desde este momento ya puede usted teclear
matlab y empezar a
usarlo.MarcelMoolenaarEscrito por Instalación de &oracle;aplicacionesOraclePrefacioEste texto describe el proceso de instalación de
&oracle; 8.0.5
y &oracle; 8.0.5.1 Enterprise Edition
para Linux en una
máquina &os;.Instalación del entorno LinuxDebe tener instalados los ports
emulators/linux_base
y devel/linux_devtools.
Si tiene dificultades con estos ports es posible que tenga que
usar los paquetes o quizás versiones más antiguas
de dichas aplicaciones que encontrará en la Colección
de Ports.Si quiere usar el agente inteligente también
tendrá que instalar el paquete Tcl de Red Hat,
tcl-8.0.3-20.i386.rpm. La orden
genérica para instalar paquetes con el port oficial
de RPM
(archivers/rpm) es:&prompt.root; rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm paqueteLa instalación de dicho paquete no debe generar ningún error.Creación del entorno &oracle;Antes de instalar &oracle;
tendrá que configurar un entorno apropiado. Este documento
solamente explica lo que hay que hacer
especialmente para utilizar la versión
de Linux para &oracle; &os;, no
lo que figura en la guía de instalación de
&oracle;.Personalización del kernelpersonalización del kernelTal y como consta en la guía de instalación de
&oracle;, debe configurar
la cantidad máxima de memoria compartida.
No utilice SHMMAX en &os;.
SHMMAX se calcula a partir de
SHMMAXPGS y PGSIZE,
así que defina SHMMAXPGS. Todas
las demás opciones pueden usarse tal y como se describen
en la guía. Por ejemplo:options SHMMAXPGS=10000
options SHMMNI=100
options SHMSEG=10
options SEMMNS=200
options SEMMNI=70
options SEMMSL=61Configure estas opciones para que se ajusten al uso que
pretenda darle a
&oracle;.Asegúrese también de que las siguientes
opciones están en el fichero de configuración de
su kernel:options SYSVSHM #SysV shared memory
options SYSVSEM #SysV semaphores
options SYSVMSG #SysV interprocess communicationCuenta &oracle;Crée una cuenta oracle según
el procedimiento habitual de creación de usuarios.
La cuenta oracle, empero, tiene algo
especial puesto que debe teer una shell de
Linux. Añada
/compat/linux/bin/bash a
/etc/shells y asigne a la
cuenta oracle/compat/linux/bin/bash como shell
por omisión.EntornoAdemás de las variables normales para
&oracle;,
como ORACLE_HOME y ORACLE_SID, debe
configurar las siguientes variables de entorno:VariableValorLD_LIBRARY_PATH$ORACLE_HOME/libCLASSPATH$ORACLE_HOME/jdbc/lib/classes111.zipPATH/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/binLe aconsejamos configurar todas las variables de entorno
en .profile. Veamos un ejemplo
completo: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 PATHInstalación de &oracle;Debido a una pequeña inconsistencia en el emulador
Linux tendrá que crear un directorio llamado
.oracle
en /var/tmp antes de iniciar el instalador.
Haga que sea propiedad del usuario oracle.
Hecho esto deberí poder instalar
&oracle;
sin ningún problema. Si no es así
revise su distribución&oracle; y su
configuración. Una vez finalizada la instalación de
&oracle; aplique los parches
que se detallan en las dos siguientes subsecciones.Un problema que se da con una cierta frecuencia es que el
adaptador del protocolo TCP
no está correctamente instalado. Como consecuencia no
puede iniciarse ninguna escucha TCP, a las que también se
les llama directamente «listeners». Esto le
ayudará a resolver el problema.:&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 installNo se olvide de ejecutar root.sh
de nuevo.Cómo parchear root.shDurante la instalación de
&oracle; algunas
acciones que requieren ser ejecutadas como
root deben almacenarse en un
script de shell llamado
root.sh. Dicho script
está en el directorio orainst.
Aplique el siguiente parche a root.sh para
que utilice la ruta correcta de chown o
ejecute el script bajo una shell nativa
de Linux.*** 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 scriptSi no está instalando
&oracle; desde un CD puede parchear
las fuentes de root.sh. Se llama
rthd.sh y está en el directorio
orainst del árbol de fuentes.
Cómo parchear genclntshEl scriptgenclntsh se usa
para crear una biblioteca de cliente compartida y para
construir los demos. Al aplicar el siguiente parche
comentará la definición de 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.lstEjecución de &oracle;Una vez seguidas estas instrucciones podrá ejecutar
&oracle; como si la hubiera instalado
en Linux.HolgerKippEscrito por ValentinoVaschettoVersión original convertida a SGML por Instalación de &sap.r3;aplicacionesSAP R/3Las instalaciones de sistemas &sap;
en &os; no reciben soporte técnico de &sap;.
&sap; solamente lo ofrece si se usan plataformas
certificadas.IntroducciónEste texto expone una forma de instalar
un &sap.r3; System con
una &oracle; Database
para Linux en una máquina &os;, incluyendo la
instalación de &os; y &oracle;.
Se muestran dos configuraciones diferentes:&sap.r3; 4.6B (IDES) con
&oracle; 8.0.5 en FreeBSD 4.3-STABLE&sap.r3; 4.6C con
&oracle; 8.1.7 en FreeBSD 4.5-STABLEAunque este documento trate de describir todos
los pasos importantes con detalle no ha sido escrito como
sustituto de las guías de instalación de
&oracle; y
&sap.r3;.Por favor, consulte la documentación de
&sap.r3;
que se incluye en la edición para Linux de
&sap;
y las preguntas específicas sobre
&oracle;,
así como los recursos que estén a su disposición
sobre &oracle;
y &sap; OSS.SoftwareDurante la instalación de &sap;
se han utilizado los siguientes CD-ROM:&sap.r3; 4.6B, &oracle; 8.0.5NombreNúmeroDescripciónKERNEL51009113SAP Kernel Oracle /
Installation / AIX, Linux, SolarisRDBMS51007558Oracle / RDBMS 8.0.5.X /
LinuxEXPORT151010208IDES / DB-Export /
Disco 1 de 6EXPORT251010209IDES / DB-Export /
Disco 2 de 6EXPORT351010210IDES / DB-Export /
Disco 3 de 6EXPORT451010211IDES / DB-Export /
Disco 4 de 6EXPORT551010212IDES / DB-Export /
Disco 5 de 6EXPORT651010213IDES / DB-Export /
Disco 6 de 6También utilizamos el CD de &oracle; 8
Server (versión pre-producción
8.0.5 para Linux, versión de kernel 2.0.33), que
no es realmente necesario y FreeBSD 4.3-STABLE (a unos cuantos
días de la liberación de 4.3-RELEASE).&sap.r3; 4.6C SR2, &oracle; 8.1.7NombreNúmeroDescripciónKERNEL51014004SAP Kernel Oracle /
SAP Kernel Version 4.6D / DEC, LinuxRDBMS51012930Oracle 8.1.7/ RDBMS /
LinuxEXPORT151013953Release 4.6C SR2 / Export
/ Disco 1 de 4EXPORT151013953Release 4.6C SR2 / Export
/ Disco 2 de 4EXPORT151013953Release 4.6C SR2 / Export
/ Disco 3 de 4EXPORT151013953Release 4.6C SR2 / Export
/ Disco 4 de 4LANG151013954Release 4.6C SR2 /
Language / DE, EN, FR / Disco 1 de 3Según los idiomas que quiera usar es posible que
necesite otros CD de idiomas. Sólo hemos utilizado DE y
EN, así que nos bastó con el primer CD.
Para su información, los números de los cuatro CD
EXPORT son idénticos. Los tres CD de idiomas también
tienen el mismo número, aunque esto es distinto en los CD de
la versión 4.6B IDES. Al escribir este texto
(20.03.2002) ejecutamos la instalación en FreeBSD
4.5-STABLE (20.03.2002).Notas &sap;Las siguientes notas han resultado ser muy útiles
durante la instalación, así que le recomendamos
encarecidamente que las lea antes de instalar
&sap.r3;:&sap.r3; 4.6B, &oracle; 8.0.5NúmeroTítulo0171356SAP Software on Linux: Essential
Comments0201147INST: 4.6C R/3 Inst. on UNIX -
Oracle0373203Update / Migration Oracle 8.0.5 -->
8.0.6/8.1.6 LINUX0072984Release of Digital UNIX 4.0B for
Oracle0130581R3SETUP step DIPGNTAB terminates0144978Your system has not been installed
correctly0162266Questions and tips for R3SETUP on Windows
NT / W2K&sap.r3; 4.6C, &oracle; 8.1.7NúmeroTítulo0015023Initializing table TCPDB (RSXP0004)
(EBCDIC)0045619R/3 with several languages or
typefaces0171356SAP Software on Linux: Essential
Comments0195603RedHat 6.1 Enterprise version:
Known problems0212876The new archiving tool SAPCAR0300900Linux: Released DELL Hardware0377187RedHat 6.2: important remarks0387074INST: R/3 4.6C SR2 Installation on
UNIX0387077INST: R/3 4.6C SR2 Inst. on UNIX -
Oracle0387078SAP Software on UNIX: OS Dependencies
4.6C SR2Requisitos de hardwareEl siguiente equipo es suficiente para la instalación
de un sistema &sap.r3;. Si pretende
darle uso productivo necesitará hacer un estudio
detallado de sus necesidades:Componente4.6B4.6CProcesador&pentium; III 800MHz x 2&pentium; III 800MHz x 2Memoria1GB ECC2GB ECCEspacio en disco50-60GB (IDES)50-60GB (IDES)Para su uso en producción le recomendamos procesadores
&xeon; con una caché grande, discos de alta
velocidad (SCSI, controlador de RAID por hardware), USV y
ECC-RAM. Un espacio en disco tan grande se debe al sistema
IDES preconfigurado, que crea ficheros de bases de datos de
27 GB durante la instalación. Este espacio
también es suficiente para sistemas de producción
iniciales y datos de aplicación.&sap.r3; 4.6B, &oracle; 8.0.5Este es el hardware que utilizamos al escribir este texto:
placa base dual
con 2 procesadores &pentium; III a 800 MHz, adaptador
SCSI &adaptec; 29160 Ultra160 (para acceder a una unidad de cinta
40/80 GB DLT y CDROM), &mylex; &acceleraid; (2 canales,
firmware 6.00-1-00 con 32 MB RAM). La controladora &mylex; RAID
tiene conectados dos discos duros de 17 GB
(replicados) y cuatro discos duros de 36 GB (RAID nivel 5).&sap.r3; 4.6C, &oracle; 8.1.7Para esta instalación se usó un &dell; &poweredge;
2500: placa base dual con 2 procesadores &pentium; III
a 1000 MHz (256 kB de Caché), 2 GB PC133 ECC
SDRAM, controladora RAID PERC/3 DC PCI con 128 MB y una unidad
EIDE DVD-ROM. La controladora RAID tiene conectados dos discos
duros 18 GB (replicados) y cuatro discos duros de
36 GB (RAID nivel 5).Instalación de &os;Lo primero que tiene que hacer es instalar &os;. Hay muchas
formas de hacerlo. Nosotros instalamos &os; 4.3 desde un FTP y
FreeBSD 4.5 desde el CD de la distribución. Si necesita
más información sobre los medios de instalación
de &os; consulte la
.Esquema de discoQuisimos hacer el proceso lo más simple posible,
así que usamos el esquema de disco de
&sap.r3; 46B y &sap.r3; 46C
SR2. Solo cambiamos los nombres
de dispositivo debido a que las instalaciones tuvieron lugar en
hardware diferente (/dev/da y
/dev/amr respectivamente. Si
utiliza una AMI &megaraid; verá en pantalla
/dev/amr0s1a en lugar de
/dev/da0s1a):Sistema de ficherosTamaño (bloques de 1k)Tamaño (GB)Montado en/dev/da0s1a1.016.3031//dev/da0s1b6swap/dev/da0s1e2.032.6232/var/dev/da0s1f8.205.3398/usr/dev/da1s1e45.734.36145/compat/linux/oracle/dev/da1s1f2.032.6232/compat/linux/sapmnt/dev/da1s1g2.032.6232/compat/linux/usr/sapConfigure e inicialice antes que nada las dos unidades
lógicas con el software &mylex; o PERC/3 RAID.
El software puede iniciarse durante la fase
de arranque de BIOS.Por favor, tenga en cuenta que el esquema de disco que
utilizamos difiere ligeramente de las recomendaciones de
&sap;, ya que &sap; sugiere montar los subdirectorios
&oracle;
(y algunos otros) por separado. Decidimos
crearlos como subdirectorios reales para simplificar.
make world y un nuevo kernelDescargue las fuentes -STABLE más recientes.
Ejecute make world y compile su kernel
personalizado. Recuerde incluir en él tanto los
parámetros del kernel
requeridos por &sap.r3;
como los que necesita
&oracle;.Instalación del entorno LinuxInstalación del sistema base LinuxPrimero instale el port
linux_base
(como root):&prompt.root; cd /usr/ports/emulators/linux_base
&prompt.root; make install distcleanInstalación del entorno de desarrollo LinuxEl entorno de desarrollo Linux es imprescindible si quiere
instalar
&oracle; en &os; según se
explica en la :&prompt.root; cd /usr/ports/devel/linux_devtools
&prompt.root; make install distcleanEl entorno de desarrollo Linux solo ha de
instalarse si sigue el proceso para instalar
&sap.r3; 46B IDES.
No es necesario si &oracle; DB
no está reenlazado («relinked») con el sistema
&os;. Este sería su caso si está usa el fichero
comprimido tar de &oracle; de un
sistema Linux.Instalación de los RPM necesariosRPMNecesitará soporte PAM para iniciar el programa
R3SETUP.
Durante la primera instalación de
&sap;
en FreeBSD 4.3-STABLE intentamos instalar PAM con todas
las dependencias y finalmente forzamos la
instalación del paquete PAM, y funcionó.
En &sap.r3; 4.6C SR2 forzamos
la instalación del RPM PAM, que también
funcionó, así que parece que las dependencias
no lo son tanto:&prompt.root; rpm -i --ignoreos --nodeps --root /compat/linux --dbpath /var/lib/rpm \
pam-0.68-7.i386.rpmPara que &oracle; 8.0.5 pueda
lanzar el agente inteligente también tendremos que
instalar el paquete Tcl de RedHat
tcl-8.0.5-30.i386.rpm (si no,
cuando lo reenlace durante la instalación de
&oracle; no funcionará).
Existen otros aspectos relacionados con el
reenlazado de &oracle; a tener en
cuenta durante la instalación, pero
atañen a la versión para Linux de
&oracle; y no son específicos
de &os;.SugerenciasLe recomendamos añadir
linprocfs a /etc/fstab.
Consulte &man.linprocfs.5; para más información.
Otro parámetro que debería configurar es
kern.fallback_elf_brand=3 en
/etc/sysctl.conf.Creación del entorno &sap.r3;Creación de los sistemas de ficheros y
puntos de montaje necesariosPara una instalación sencilla es suficiente con
crear los siguientes sistemas de ficheros:punto de montajetamaño en GB/compat/linux/oracle45 GB/compat/linux/sapmnt2 GB/compat/linux/usr/sap2 GBTambién es necesario crear algunos enlaces. Si no,
el instalador &sap;
tendrá problemas ya que buscará los siguientes
enlaces:&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/sapVeamos unos cuantos errores que se le pueden presentar
durante la instalación (en este caso
con el sistema PRD y la instalación
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'Creación de usuarios y directorios&sap.r3; necesita dos usuarios
y tres grupos. Los nombres de usuario dependen del
&sap; system ID
(SID), y consisten en tres letras.
Algunos de estos SID
están reservados por &sap;
(por ejemplo SAP y NIX.
Tiene una lista completa de ellos en la documentación
de &sap;).
Para la instalación de IDES usamos IDS
y para la instalación de 4.6C SR2 PRD,
dado que ese sistema está pensado para un uso de
producción. Tenemos por lo tanto los siguientes
grupos (Los ID de grupo pueden ser diferentes, estos son
solamente los valores que utilizamos en nuestra
instalación):ID de gruponombre de grupodescripción100dbaAdministrador de base de datos101sapsysSistema &sap;102operOperador de base de datosEn una instalación por omisión de
&oracle; solo se usa el
grupo dba.
Puede usar el grupo
oper como grupo
dba (consulte la
documentación de
&oracle; y
&sap;
para más información).También necesitaremos los siguientes usuarios:ID de usuarionombre de usuarionombre genéricogrupogrupos adicionalesdescripción1000idsadm/prdadmsidadmsapsysoperAdministrador &sap;1002oraids/oraprdorasiddbaoperAdministrador &oracle;Al añadir dichos usuarios mediante
&man.adduser.8; tenga en cuenta que debe incluir
las siguientes entradas (observe la shell y el
directorio home) al crear el
administrador &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)y para el Administrador &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)Esto también incluye al grupo
oper en caso de que esté
usando el grupo dba y
el grupo oper.Creación de directoriosEstos directorios se crean como sistemas de ficheros
independientes. Esto depende totalmente de sus necesidades.
Nosotros decidimos crearlos como directorios ya que todos
están en el mismo RAID 5:Primero vamos a configurar los propietarios y los
derechos de algunos directorios (como
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/sapLuego vamos a crear directorios como el
usuario orasid.
Estos serán todos subdirectorios de
/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; exitPara la instalación de
&oracle; 8.1.7
tendrá que crear unos cuantos directorios
más:&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_32El directorio client/80x_32 tiene
que tener exactamente este nombre. No sustituya la
x
por un número ni por ninguna otra
cosa.En el tercer paso creamos directorios como usuario
sidadm:&prompt.root; su - sidadm
&prompt.root; cd /usr/sap
&prompt.root; mkdir SID
&prompt.root; mkdir trans
&prompt.root; exitEntradas en /etc/services&sap.r3; requiere algunas entradas
en /etc/services que es posible que
no estén correctamente activadas durante
la instalalación. Añada
las siguientes entradas (necesita al menos las entradas
correspondientes al número de instancia, en
este caso, 00. No hará ningún
daño añadir todas las entradas de
00 hasta 99 para
dp, gw, sp
y ms). Si va a utilizar un
SAProuter
o necesita acceder a
&sap; OSS, también
necesitará 99, ya que el puerto 3299
se usa generalmente para el proceso
SAProuter
en el sistema destino:
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-NumberLocales necesarioslocales&sap; requiere al menos dos locales
que no forman parte de la instalación por defecto de
RedHat. &sap; dispone de los paquetes RPMs que pueda necesitar;
puede descargalos desde su FTP, aunque tenga en cuenta que
solo pueden acceder al mismo los clientes con acceso OSS).
Consulte la nota
0171356, que contiene una lista de los RPM que necesitará.
También puede crear enlaces
(por ejemplo desde de_DE y
en_US ), pero no se lo recomendamos si
pretende configurar un sistema de producción (no obstante,
hemos de reconocer que a nosotros nos ha funcionado con
el sistema IDES sin ningún problema). Necesitará
al menos los siguientes locales:de_DE.ISO-8859-1
en_US.ISO-8859-1Haga los enlaces de esta manera:&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-1Si no están habrá algunos
problemas durante la instalación. Si se ignoran
(es decir, si configura el STATUS
de los pasos relacionados con esos locales a
OK en el fichero
CENTRDB.R3S) será imposible
entrar al sistema &sap; sin
tener que recurrir a ciertas triquiñuelas.Personalización del kernelPersonalización del kernelLos sistemas &sap.r3; necesitan muchos
recursos, por eso hemos añadido los siguientes
parámetros al fichero de configuración de su
kernel:# 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 keysPuede consultar los valores mínimos en la
documentación de &sap;. Como no hay detalles
sobre Linux, consulte para mayor información
la sección de HP-UX (32-bit).
El sistema de instalación 4.6C SR2 tiene más
memoria principal, asín que los segmentos compartidos
pueden ser más extensos tanto para
&sap; como para
&oracle;; elija, por tanto,
un número mayor de páginas
de memoria compartida.En la instalación por omisión de
FreeBSD 4.5 en &i386;, configure MAXDSIZ
y DFLDSIZ como máximo a 1 GB.
Si no lo hace podrían aparecer errores extraños
como ORA-27102: out of memory
y Linux Error: 12: Cannot allocate memory.Instalación de &sap.r3;Preparación de los CDROMHay que montar y desmontar muchos CD-ROM durante la
instalación. Si tiene suficientes unidades
de CDROM, podría montarlos todos. Nosotros decidimos
copiar el contenido de los CD-ROM a los directorios
correspondientes:/oracle/SID/sapreorg/nombre-cdDonde nombre-cd era KERNEL,
RDBMS, EXPORT1,
EXPORT2, EXPORT3,
EXPORT4, EXPORT5 y
EXPORT6 para la instalación 4.6B/IDES, y
KERNEL, RDBMS,
DISK1, DISK2,
DISK3, DISK4 y
LANG para la instalación 4.6C SR2.
Todos los nombres de fichero en los CDs montados deben estar
en mayúsculas; si no es así use la opción
al montar. Utilice lo siguiente:
&prompt.root; mount_cd9660 -g /dev/cd0a /mnt
&prompt.root; cp -R /mnt/* /oracle/SID/sapreorg/nombre-cd
&prompt.root; umount /mntEjecución del script de
instalaciónPrimero tendrá que preparar un directorio
install:&prompt.root; cd /oracle/SID/sapreorg
&prompt.root; mkdir install
&prompt.root; cd installUna vez arrancado el script de instalación
copiará casi todos los ficheros relevantes en el directorio
install:&prompt.root; /oracle/SID/sapreorg/KERNEL/UNIX/INSTTOOL.SHLa instalación IDES (4.6B) incluye un sistema de
demostración &sap.r3; totalmente personalizado, así
que hay seis CD EXPORT en lugar de solo tres.
La plantilla de instalación
CENTRDB.R3S está pensada para
una instancia central estándar
(&r3; y
base de datos), no la instancia central IDES, así que
hay que copiar el CENTRDB.R3S
correspondiente del directorio
EXPORT1.
Si no lo hace R3SETUP solo pedirá
tres CD EXPORT.La nueva versión de
&sap; 4.6C SR2
incluye cuatro CDs EXPORT. El fichero de parámetros
que controla los pasos de la instalación es
CENTRAL.R3S. A diferencia de versiones
versiones anteriores, no existen patrones de instalación
por separado para una instancia central con o sin base de datos.
&sap; utiliza un patrón separado
para la instalación de la base
de datos. Para reiniciar la instalación después es
suficiente reiniciarla con el fichero original.Durante y después de la instalación,
&sap;
necesita que hostname devuelva
sólamente el nombre del sistema,
no el nombre cualificado de dominio. Configure el nombre
del equipo de ese modo, o active un alias mediante
alias hostname='hostname -s' para
orasid
y para sidadm
(y para root al menos durante los
pasos de la instalación realizados como
root). También puede configurar
los ficheros .profile y
.login de los usuarios que se crean durante
la instalación &sap;.Inicio de R3SETUP 4.6BAsegúrese de que LD_LIBRARY_PATH
esté configurada correctamente:&prompt.root; export LD_LIBRARY_PATH=/oracle/IDS/lib:/sapmnt/IDS/exe:/oracle/805_32/libInicie R3SETUP como root
desde el directorio de instalación:&prompt.root; cd /oracle/IDS/sapreorg/install
&prompt.root; ./R3SETUP -f CENTRDB.R3SEl script le preguntará algunas cosas;
le mostramos aquí entre corchetes la respuesta por
defecto, y después la respuesta que nosotros
introdujimos:PreguntaPor omisiónEntradaEnter SAP System ID[C11]IDSIntroEnter SAP Instance Number[00]IntroEnter SAPMOUNT Directory[/sapmnt]IntroEnter name of SAP central host[troubadix.domain.de]IntroEnter name of SAP db host[troubadix]IntroSelect character set[1] (WE8DEC)IntroEnter Oracle server version (1) Oracle 8.0.5, (2) Oracle 8.0.6, (3) Oracle 8.1.5, (4) Oracle 8.1.61IntroExtract Oracle Client archive[1] (Yes, extract)IntroEnter path to KERNEL CD[/sapcd]/oracle/IDS/sapreorg/KERNELEnter path to RDBMS CD[/sapcd]/oracle/IDS/sapreorg/RDBMSEnter path to EXPORT1 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT1Directory to copy EXPORT1 CD[/oracle/IDS/sapreorg/CD4_DIR]IntroEnter path to EXPORT2 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT2Directory to copy EXPORT2 CD[/oracle/IDS/sapreorg/CD5_DIR]IntroEnter path to EXPORT3 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT3Directory to copy EXPORT3 CD[/oracle/IDS/sapreorg/CD6_DIR]IntroEnter path to EXPORT4 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT4Directory to copy EXPORT4 CD[/oracle/IDS/sapreorg/CD7_DIR]IntroEnter path to EXPORT5 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT5Directory to copy EXPORT5 CD[/oracle/IDS/sapreorg/CD8_DIR]IntroEnter path to EXPORT6 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT6Directory to copy EXPORT6 CD[/oracle/IDS/sapreorg/CD9_DIR]IntroEnter amount of RAM for SAP + DB850Intro (en Megabytes)Service Entry Message Server[3600]IntroEnter Group-ID of sapsys[101]IntroEnter Group-ID of oper[102]IntroEnter Group-ID of dba[100]IntroEnter User-ID of sidadm[1000]IntroEnter User-ID of orasid[1002]IntroNumber of parallel procs[2]IntroSi no ha copiado los CD a su disco duro el instalador
&sap; no podrá encontrar
el CD que necesite (identifica los contenidos mediante
fichero LABEL.ASC de cada CD) y por lo
tanto le pedirá que introduzca y monte el CD, o que
confirme o introduzca la ruta de montaje.CENTRDB.R3S puede contener algún
error. En nuestro caso, solicitó
el CD EXPORT4 más de una vez, pero se le indicó
la clave correcta (6_LOCATION, luego 7_LOCATION, etc),
así que pudimos continuar introduciendo
los valores correctos.Aparte de algunos problemas que se detallan más
adelante deberíamos ir llegando a la instalación
del software de base de datos &oracle;.Iniciar R3SETUP 4.6C SR2Asegúrese de que LD_LIBRARY_PATH esté
correctamente configurada. Tenga en cuenta de que es un valor
diferente de la instalación 4.6B con
&oracle; 8.0.5:&prompt.root; export LD_LIBRARY_PATH=/sapmnt/PRD/exe:/oracle/PRD/817_32/libArranque R3SETUP como el usuario
root
desde el directorio de instalación:&prompt.root; cd /oracle/PRD/sapreorg/install
&prompt.root; ./R3SETUP -f CENTRAL.R3SEl script le preguntará algunas cosas.
Le presentamos la respuesta por omisión entre corchetes
y después la respuesta que dimos nosotros):PreguntaPor omisiónEntradaEnter SAP System ID[C11]PRDIntroEnter SAP Instance Number[00]IntroEnter SAPMOUNT Directory[/sapmnt]IntroEnter name of SAP central host[majestix]IntroEnter Database System ID[PRD]PRDIntroEnter name of SAP db host[majestix]IntroSelect character set[1] (WE8DEC)IntroEnter Oracle server version (2) Oracle 8.1.72IntroExtract Oracle Client archive[1] (Yes, extract)IntroEnter path to KERNEL CD[/sapcd]/oracle/PRD/sapreorg/KERNELEnter amount of RAM for SAP + DB20441800Intro (in Megabytes)Service Entry Message Server[3600]IntroEnter Group-ID of sapsys[100]IntroEnter Group-ID of oper[101]IntroEnter Group-ID of dba[102]IntroEnter User-ID of oraprd[1002]IntroEnter User-ID of prdadm[1000]IntroLDAP support3Intro (no support)Installation step completed[1] (continue)IntroChoose installation service[1] (DB inst,file)IntroLa creación de usuarios da un
error durante la instalación en las fases
OSUSERDBSID_IND_ORA (al crear al usuario
orasid) y
OSUSERSIDADM_IND_ORA (al crear el usuario
sidadm).Más adelante hablaremos de cierto problemas
que aún tenemos pendientes, pero ha llegado el
momento de instalar el software
de base de datos &oracle;.Instalación de &oracle; 8.0.5Consulte los
Readme de &oracle; y las notas de
de &sap; sobre Linux y &oracle; DB
por si hubiera algo que le pueda afectar. La mayoría de los
problemas, por no decir todos, tienen su origen en bibliotecas
incompatibles.Para mayor información sobre la instalación
de &oracle; diríjase al
capítulo de
instalación de &oracle;.Instalación de &oracle; 8.0.5 con orainstSi quiere instalar &oracle; 8.0.5
necesitará unas cuantas bibliotecas para el enlazado,
ya que &oracle; 8.0.5
fué enlazado con una glibc antigua (la de RedHat 6.0),
pero RedHat 6.1 usa una nueva glibc. Tendrá que
instalar los siguientes paquetes para
asegurarse que el reenlazado funcione:compat-libs-5.2-2.i386.rpmcompat-glibc-5.2-2.0.7.2.i386.rpmcompat-egcs-5.2-1.0.3a.1.i386.rpmcompat-egcs-c++-5.2-1.0.3a.1.i386.rpmcompat-binutils-5.2-2.9.1.0.23.1.i386.rpmPara más información consulte las notas
correspondientes de &sap; o los Readme
de &oracle;. Si no es posible (durante la instalación
no tuvimos tiempo suficiente para ello), se
podrían utilizar los binarios originales, o
los binarios reenlazados de un sistema original RedHat.Instale el paquete Tcl de RedHat para compilar el agente
inteligente. Si no puede conseguir
tcl-8.0.3-20.i386.rpm debería
funcionar una versión más reciente, por ejemplo
tcl-8.0.5-30.i386.rpm para RedHat.Aparte del reenlazado, la instalación
es muy sencilla:&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; ./orainstConfirme todas las pantallas con Intro hasta
que el software esté instalado; todas excepto en la que
debe quitar la marca de instalación al
visualizador de
textos &oracle; en línea, ya que no
existe para Linux. &oracle;
intentará, gracias a esto, reenlazar con
i386-glibc20-linux-gcc
en lugar de gcc,
egcs o
i386-redhat-linux-gcc.Debido a la falta de tiempo decidimos usar los binarios
de una versión
&oracle; 8.0.5 PreProduction,
después de que nuestro primer intento de que funcionara la
versión del CD RDBMS fallara y viendo que encontrar y
utilizar los RPM correctos hubiera sido una pesadilla.Instalación de &oracle; 8.0.5 Pre-production
Release para Linux (Kernel 2.0.33)La instalación es bastante fácil.
Monte el CD e inicie el instalador. Le preguntará
por la ubicación del directorio home de &oracle;,
y copiará en él todos los binarios. (Nosotros
no eliminamos los restos de una instalación
RDBMS anterior que no terminó de llegó a
terminar).Tras esto la base de datos &oracle;
puede arrancar.Instalación desde el fichero comprimido de
Linux &oracle; 8.1.7Descomprima el fichero
oracle81732.tgz (creado en el directorio
de instalación en un sistema Linux) y descomprímalo en
/oracle/SID/817_32/.Continúe con la instalación &sap.r3;Revise las configuraciones del entorno de los usuarios
idsamd
(sidadm) y
oraids (orasid).
Ambos deben tener los ficheros
.profile, .login y
.cshrc con
hostname correctamente configurado. En caso
que el nombre del sistema sea el nombre cualificado completo
tendrá que cambiar hostname a
hostname -s en los tres ficheros anteriormente
citados.Carga de la base de datosHecho esto puede rearrancar R3SETUP
o volver a arrancar la instalación
(dependiendo si eligió salir o no).
R3SETUP
crea las tablas y carga los datos (en 46B IDES,
desde EXPORT1 a EXPORT6, en 46C desde DISK1 a DISK4)
mediante R3load.Cuando se termina la carga de la base de datos (que puede
llevar un par de horas) se le pedirán algunas
contraseñas. En una instalación de prueba puede
usar unas contraseñas de compromiso.
(use una contraseña de verdad si le preocupa
siquiera ligeramente la seguridad):PreguntaEntradaEnter Password for sapr3sapIntroConfirum Password for sapr3sapIntroEnter Password for syschange_on_installEnterConfirm Password for syschange_on_installEnterEnter Password for systemmanagerIntroConfirm Password for systemmanagerIntroAquí tuvimos problemas con
dipgntab en la instalación de
4.6B.Las escuchasArranque las escuchas de &oracle;
con el usuario orasid
de la siguiente manera:&prompt.user; umask 0; lsnrctl startSi no lo hace así verá un error
ORA-12546,
ya que los sockets no tendrán los permisos correctos.
Consulte la nota 072984 de &sap;.Actualización de tablas MNLSSi tiene previsto importar idiomas que no sean Latin-1
en &sap; tiene que actualizar
las tablas Multi National Language Support.
Tiene más información sobre esto en las notas de
&sap; OSS 15023 y 45619. Si no es su caso puede saltarse
esta parte de la instalación de
&sap;.Aunque no necesite soporte MNLS sigue siendo necesario
que revise la tabla TCPDB y que la inicialice si no lo ha hecho ya.
Consulte las notas 0015023 y 0045619 de &sap; para más
información.Pasos para después de la instalaciónSolicitar una licencia &sap.r3;Tiene que solicitar una licencia de
&sap.r3;. No tendrá más
remedio, puesto que la licencia temporal que se usa durante la
instalación tiene un límite de validez de
cuatro semanas. Necesitará la llave
hardware. Entre al sistema como usuario
idsadm
y ejecute saplicense:&prompt.root; /sapmnt/IDS/exe/saplicense -getSi ejecuta saplicense sin parámetros
verá una lista de opciones. Una vez que tenga la licencia
en su poder la podrá instalar del siguiente modo:
&prompt.root; /sapmnt/IDS/exe/saplicense -installSe le solicitará que introduzca los siguientes
valores:SAP SYSTEM ID = SID, 3 caracteres
CUSTOMER KEY = llave hardware, 11 caracteres
INSTALLATION NO = instalación, 10 caracteres
EXPIRATION DATE = yyyymmdd, normalmente "99991231"
LICENSE KEY = licencia, 24 caracteresCrear usuariosCree un usuario dentro del cliente 000 (es necesario
para algunas tareas que requieren hacerse dentro del cliente 000,
pero con un usuario que no sea ni
sap*
ni ddic). Nosotros solemos elegir
para este usuario el nombre de wartung
(o service, ambos
servicio en castellano).
Los perfiles son sap_new y
sap_all. Para mayor seguridad
las contraseñas para usuarios por defecto dentro de
todos los clientes deben cambiarse (incluidos los
usuarios sap* y
ddic).Configurar sistema de transporte, perfil,
modos de operación, etc.Dentro del cliente 000 y con un usuario que no sea
ddic
ni sap*, haga al menos lo siguiente:TareaTransacciónConfigurar sistema de transporte, por ejemplo como
Stand-Alone
Transport Domain EntitySTMSCrear / editar perfil para el sistemaRZ10Mantener modos de operación e instanciasRZ04Todos estos (y muchos más) pasos para ejecutar
después de la instalación se explican de forma
detallada en las guías de instalación de
&sap;.Editar initsid.sap (initIDS.sap)El fichero /oracle/IDS/dbs/initIDS.sap
contiene la copia de seguridad del perfil de de
&sap;.
Aquí es donde debe definir el tamaño de la cinta a
utilizar, tipo de conpresión, etc. Las siguientes
modificaciones nos permitirían ejecutar
sapdba /
brbackup: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/sa0Explicación:compress: La cinta que usamos es una
HP DLT1 que tiene compresión por hardware.archive_function: Define el
comportamiento por omisión del almacenaje de los
logs de &oracle;: los nuevos ficheros de log se guardan en cinta,
los ficheros de log que ya han sido guardados
se guardan de nuevo y luego se borran. Así se
evitan muchos problemas si necesita recuperar la base de datos
y una de las cintas está dañada.cpio_flags: por omisión se usa
, que asigna un tamaño de bloque de
5120 Bytes. HP recomienda un tamaño de bloque de
32 K como mínimo; usamos
para que sea de
64 K. Necesitaremos usar
porque tenemos números de inodo mayores a 65535. La
última opción () se necesita
ya que brbackup se queja en cuanto
cpio imprime los números de bloque
guardados.cpio_in_flags: Parámetros
necesarios para cargar datos desde la cinta. El formato
es reconocido automáticamente.tape_size: La
capacidad de almacenaje de la cinta. Por razones
de seguridad (nosotros usamos compresión por
hardware) el valor es ligeramente menor que el valor
real.tape_address: El dispositivo
(que no permite el rebobinado) que se usará con
cpio.tape_address_rew: El dispositivo
(que permite el rebobinado) que se usará con
cpio.Aspectos de la configuración una vez
concluida la instalaciónLos siguientes parámetros
&sap;
deben personalizarse una vez concluída la
instalación (los ejemplos son para IDES 46B,
1 GB de memoria):NombreValorztta/roll_extension250000000abap/heap_area_dia300000000abap/heap_area_nondia400000000em/initial_size_MB256em/blocksize_kB1024ipc/shm_psize_4070000000&sap; Note 0013026:NombreValorztta/dynpro_area2500000&sap; Note 0157246:NombreValorrdisp/ROLL_MAXFS16000rdisp/PG_MAXFS30000En un sistema con 1 GB de memoria y los parámetros
arriba expuestos puede esperarse encontrar un consumo de
memoria similar al siguiente:Mem: 547M Active, 305M Inact, 109M Wired, 40M Cache, 112M Buf, 3492K FreeProblemas durante la instalaciónReiniciar R3SETUP una vez arreglado
el problemaR3SETUP se detiene si encuentra un error.
Si ha revisado los logs y ha corregido el error reinicie
R3SETUP; hágalo seleccionando
la opción REPEAT en el paso donde
R3SETUP se detuvo.Cuando quiera reiniciar R3SETUP
inícielo con el fichero R3S
correspondiente:&prompt.root; ./R3SETUP -f CENTRDB.R3Sen el caso de 4.6B, o con&prompt.root; ./R3SETUP -f CENTRAL.R3Sen 4.6C; no importa si el error ocurrió
con CENTRAL.R3S o con
DATABASE.R3S.En algunas etapas, R3SETUP asume
que la base de datos y los procesos
&sap; están en marcha
(como aquellos en los cuales se completaron los pasos).
Si hay errores y por ejemplo la base de datos no se
puede iniciar tendrá que arrancar la base de datos y
&sap; manualmente una vez haya
corregido los errores y antes de iniciar
R3SETUP nuevamente.No olvide iniciar también la escucha de
&oracle;
(como orasid con
umask 0; lsnrctl start) si también
tuvo que detenerlo (si por ejemplo hubo que reiniciar el
sistema).OSUSERSIDADM_IND_ORA durante R3SETUPSi R3SETUP se queja en este etapa edite
la plantilla R3SETUP que esté usando
en ese momento (CENTRDB.R3S (en 4.6B) o
CENTRAL.R3S o
DATABASE.R3S (en 4.6C)).
Ubique [OSUSERSIDADM_IND_ORA] o busque la
única entrada STATUS=ERROR y
edite los siguientes valores:HOME=/home/sidadm (was empty)
STATUS=OK (had status ERROR)
Hecho esto, reinicie R3SETUP.OSUSERDBSID_IND_ORA durante R3SETUPEs posible que R3SETUP se queje
también en esta etapa. El
error aquí es similar al de la fase
OSUSERSIDADM_IND_ORA. Edite la plantilla
R3SETUP que esté usando
(CENTRDB.R3S (en 4.6B) o
CENTRAL.R3S o
DATABASE.R3S (en 4.6C)).
Ubique [OSUSERDBSID_IND_ORA] o busque la
única entrada STATUS=ERROR y
edite los siguientes valores en esa sección:STATUS=OKHecho esto reinicie R3SETUP.oraview.vrf FILE NOT FOUND durante la instalación de &oracle;No ha dejado sin seleccionar la opción de
instalar el visualizador de texto en línea
de &oracle; antes de iniciar la instalación.
Está seleccionado para ser instalado, aunque la
aplicación no existe para Linux. Deje sin seleccionar
el producto en el menú de instalación de
&oracle; y reinicie la
instalación.TEXTENV_INVALID durante R3SETUP, o inicio de RFC o SAPguiSi se encuentra con este error significa que falta el locale
correcto. La nota 0171356 de &sap; contiene una lista de RPM que
deben instalarse (p.ej. saplocales-1.0-3,
saposcheck-1.0-1 para RedHat 6.1).
En caso de que ignore todos los errores relacionados y
configure los STATUS correspondientes
de ERROR a OK
(en CENTRDB.R3S) cada vez que
R3SETUP se queje y simplemente reinicie
R3SETUP; el sistema
&sap;
no estará configurado correctamente y no podrá
conectarse al sistema con SAPgui,
aunque el sistema pueda arrancar. Si intenta conectar con el
antiguo SAPgui de Linux recibirá
los siguientes mensajes: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]
SpeicherzugriffsfehlerEste comportamiento se debe a que
&sap.r3;
es incapaz de asignar correctamente un locale y tampoco
puede configurarse a sí mismo correctamente (faltan
entradas en algunas tablas de la base de datos).
Añada las siguientes entradas al fichero
DEFAULT.PFL y podrá conectarse a
&sap;
(vea la nota 0043288):abap/set_etct_env_at_new_mode = 0
install/collate/active = 0
rscp/TCP0B = TCP0BReinicie el sistema &sap;.
Puede conectar al sistema, aunque la configuración
de idioma o de país puede que no funcione como se
espera de ella. Una vez corregidas las configuraciones de
país (y proporcionados los locales adecuados)
puede eliminar estas entradas
de DEFAULT.PFL y el sistema
&sap; puede reiniciarse.ORA-00001Este error solo aparece con
&oracle; 8.1.7 en FreeBSD 4.5.
Se debe a que la base de datos &oracle;
no puede inicializarse correctamente y se viene abajo, dejando
semáforos y memoria compartida en el sistema. El
siguiente intento de iniciar la base de datos produce
el error ORA-00001.Encuéntrelos con ipcs -a y
elimínelos
con ipcrm.ORA-00445 (Brackground Process PMON
Did Not Start)Este error tuvo lugar con
&oracle; 8.1.7. Aparece si
se arranca la base de datos con el scriptstartsap
(por ejemplo startsap_majestix_00)
con el usuario prdadm.Una solución (entre otras) es iniciar la base de
datos con el usuario oraprd en
lugar de hacerlo con svrmgrl:&prompt.user; svrmgrl
SVRMGR> connect internal;
SVRMGR> startup;
SVRMGR> exitORA-12546 (Start Listener with Correct
Permissions)Inicie la escucha de &oracle; como
usuario oraids con la siguiente
orden:&prompt.root; umask 0; lsnrctl startDe no ser así puede encontrarse con el error
ORA-12546, ya que los sockets no
tendrán los permisos adecuados. Consulte la nota
de &sap; 0072984.ORA-27102 (Out of Memory)Este error ocurre al tratar de usar valores mayores
a 1 GB (1024x1024x1024) en MAXDSIZ
y DFLDSIZ. Recibiremos, además, este
otro error:
Linux Error 12: Cannot allocate memory.[DIPGNTAB_IND_IND] during R3SETUPConsulte la nota de &sap; 0130581 de
(R3SETUP step
(DIPGNTAB terminates). Por alguna razón
durante la instalación específica IDES el proceso
de instalación no usaba el nombre de sistema correcto
&sap;IDS
sino la cadena vacía "".
Esto provocaba algunos errores menores en el acceso a directorios,
ya que las rutas se generan dinámicamente en base a dicho
SID (en este caso IDS).
En lugar de ejecutar los accesos del siguiente modo :/usr/sap/IDS/SYS/...
/usr/sap/IDS/DVMGS00se usaron las siguientes rutas:/usr/sap//SYS/...
/usr/sap/D00Para continuar con la instalación creamos un
enlace y un directorio adicional:&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
drwxrwxr-x 2 idsadm sapsys 512 May 5 13:00 tmp
drwxrwxr-x 11 idsadm sapsys 512 May 4 14:20 transEncontramos una descripción de este comportamiento
en las notas de &sap;. (0029227 y 0008401).
En la instalación de
&sap; 4.6C no tuvimos estos
problemas.[RFCRSWBOINI_IND_IND] during R3SETUPDurante la instalación de
&sap; 4.6C nos encontramos con
este error, cuyo origen está en un error que tuvo lugar
anteriormente durante la propia instalación.
Busque en sus ficheros de log y corrija el problema.Si despues de buscar en los logs el error resulta ser
el correcto (revise las notas de &sap;), puede poner el
STATUS del paso donde se produce el error de
ERROR a OK
(en el fichero CENTRDB.R3S) y reiniciar
R3SETUP. Una vez finalizada la instalación,
tiene que ejecutar el informe RSWBOINS
de la transacción SE38. Consulte la nota &sap; 0162266
para más información sobre las fases
RFCRSWBOINI y
RFCRADDBDIF.[RFCRADDBDIF_IND_IND] during R3SETUPAquí sucede lo mismo de antes, asegúrese,
revisando los logs, de que la causa de este error no esté
en algún problema previo.Si en la nota de &sap; 0162266 está la solución
ponga el STATUS del paso donde se
produce el error de
ERROR a OK
(en el fichero CENTRDB.R3S) y reinicie
R3SETUP. Una vez finalizada la
instalación ejecute el informe
RADDBDIF desde la transacción SE38.sigaction sig31: File size limit exceededEste error ocurrió durante el inicio del proceso
&sap;disp+work. Si inicia
&sap;
con el scriptstartsap
se inician los subprocesos que se separan y hacen el
trabajo sucio de iniciar el resto de procesos de
&sap;, pero es importante saber que
el propio script no notará si algo ha
ido mal.Puede revisar si los procesos &sap;
se iniciaron correctamente con
ps ax | grep SID, que
le proporcionará una lista de todos los procesos de
&oracle; y de
&sap;.
Si parece que algunos procesos no están, o si no puede
conectarse al sistema &sap; revise los
logs que encontrará en
/usr/sap/SID/DVEBMGSnr/work/.
Los ficheros que debe revisar son dev_ms y
dev_disp.La señal 31 aparece si la cantidad de memoria
compartida asignada a
&oracle; y
&sap;
supera la definida dentro del fichero de configuración del
kernel y puede resolverse usando un valor mayor:# larger value for 46C production systems:
options SHMMAXPGS=393216
# smaller value sufficient for 46B:
#options SHMMAXPGS=262144Start of saposcol FailedHay algunos problemas con el programa
saposcol (version 4.6D).
El sistema &sap; utiliza
saposcol para recoger datos del
rendimiento del sistema. Este programa no es necesario para
usar el sistema &sap;, así
que el problema puede considerarse como poco importante.
La versión más antigua (4.6B) funciona, pero
no recoge todos los datos (muchas llamadas devolverán
un 0, por ejemplo el uso de CPU).Temas avanzados
- Pendiente de traducción
-
-
-
-
-
+
¿Cómo funciona?
+ cargador de clase en
+ ejecución
+
+ &os; dispone de una abstracció denominada
+ cargador de clase en ejecución. Esto no
+ es más que un bloque de có:digo incrustado
+ en la llamada &man.execve.2; del sistema.
+
+ Históricamente las plataformas &unix;
+ disponían de un único cargador
+ de binarios, que en última instancia
+ (fallback) recurría
+ al cargador #! para ejecutar
+ cualesquiera intérpretes o scripts de la shell. Ese
+ cargador único examinaba el número
+ mágico (generalmente los 4 u 8 primeros bytes
+ del fichero) para ver si era un binario reconocible
+ por el sistema y, en tal caso, invocaba al cargador
+ binario.
+
+ Si no era de tipo binario, la llamada &man.execve.2;
+ devolvía un error y la shell intentaba empezar
+ a ejecutarlo como órdenes shell, tomando por
+ defecto como punto de partida
+ la shell actual, sea cual sea.
+
+ Posteriormente se pensó en hacer una
+ modificación de manera que &man.sh.1; examinara
+ los dos primeros caracteres, de modo que si eran
+ :\n se llamaba a la shell
+ &man.csh.1; en su lugar (parece ser que en SCO
+ fueron los primeros en utilizar ese truco).
+
+ Lo que ocurre ahora es que &os; dispone de una
+ lista de cargadores, en lugar de uno solo. &os;
+ recorre esa lista de cargadores, con un cargador genérico
+ #! que sabe reconocer los
+ intérpretes en base a los caracteres que
+ siguen al siguiente espacio en blanco, con
+ /bin/sh como último
+ recurso.
+
+
+ ELF
+
+ Para dar soporte a la ABI
+ (Application Binary Interface) de Linux,
+ &os; interpreta el número mágico como un
+ binario ELF (Executable and Linking
+ Format): En este punto no hace distinción
+ entre &os;, &solaris;, &linux; o cualquier otro SO que tenga un
+ tipo de imagen ELF.
+
+ Solaris
+
+ El cargador ELF busca entonces una marca
+ (brand) especial, una
+ sección de comentarios en la imagen ELF
+ que no está presente en los binarios ELF de
+ SVR4/&solaris;.
+
+ Para que los binarios de Linux funcionen deben
+ estar marcados con &man.brandelf.1; como tipo
+ Linux:
+
+ &prompt.root; brandelf -t Linux file
+
+ Hecho esto el cargador ELF verá la
+ marca Linux en el fichero.
+
+ ELF
+ marcado
+
+
+ Cuando el cargador ELF ve la marca
+ Linux sustituye un puntero en la
+ estructura proc. Todas las
+ llamadas del sistema se indexan a través de
+ este puntero (en un sistema &unix; tradicional
+ sería el «array» de estructura
+ sysent[] que contiene las llamadas
+ del sistema). Además, el proceso se marca
+ con unos indicadores (flags) para que
+ el vector trampa del código de envío
+ señales lo maneje de una forma determinada,
+ así como otros arreglos (menores) que
+ serán utilizados por el módulo Linux
+ del kernel.
+
+ El vector de llamada del sistema Linux contiene,
+ entre otras cosas, una lista de entradas
+ sysent[] cuyas direcciones residen
+ en el módulo del kernel.
+
+ Cuando el binario Linux realiza una llamada al
+ sistema, el código trampa extrae el puntero
+ a la función de la llamada del sistema de la estructura
+ proc, y así obtiene los puntos de
+ entrada a las llamadas del sistema Linux, no las
+ de &os;.
+
+ Además, el modo Linux cambia la raíz
+ de las búsquedas de una forma dinámica. En
+ efecto, esto es lo que hace la opción
+ cuando se monta un sistema de ficheros
+ (¡y que no es lo mismo que el
+ sistema de ficheros unionfs!). Primero
+ se hace un intento de buscar el fichero en el directorio
+ /compat/linux/ruta-original
+ y solo después, si lo anterior
+ falla, se repite la búsqueda en el
+ directorio
+ /ruta-original. Esto
+ permite que se puedan ejecutar binarios que necesitan de
+ otros binarios (por ejemplo las herramientas de
+ programación (toolchain) de Linux
+ pueden ejecutarse en su totalidad bajo la ABI de
+ Linux). Esto significa también que los binarios
+ Linux pueden cargar y ejecutar binarios &os; si los binarios
+ Linux equivalentes no se hallan presentes y que se puede poner
+ una orden &man.uname.1; en el árbol de directorios
+ /compat/linux para poder estar seguros de
+ que los binarios Linux no puedan decir que no estaban
+ ejecutándose en Linux.
+
+ En efecto, hay un kernel Linux en el kernel
+ &os;; las distintas funciones subyacentes que
+ implementan todos los servicios proporcionados
+ por el kernel son idénticas en ambas, las
+ tablas de entradas de llamadas del sistema en &os; y en
+ Linux: operaciones del sistema de ficheros, operaciones
+ de memoria virtual, envío de señales
+ IPC System V, etc. La única diferencia es que
+ los binarios &os; reciben sus funciones de
+ conexión (glue)
+ y los binarios Linux las suyas (la mayoría de los
+ sistemas operativos más antiguos solo tienen sus
+ propias funciones de conexión:
+ direcciones de funciones en un array de
+ estructura sysent[] estática y
+ global, en lugar de direcciones de funciones que se extraen
+ a partir de un puntero inicializado dinámicamente
+ en la estructura proc del proceso que hace
+ la llamada).
+
+
+ ¿Cuál es entonces la ABI nativa de &os;? No
+ importa. Básicamente, la única diferencia
+ es (ahora mismo; esto podría cambiar y probablemente lo
+ hará en una release futura) que las funciones de
+ conexión de &os; están enlazadas
+ estáticamente en el kernel mientras que las de
+ Linux pueden estarlo también estáticamente o
+ se puede acceder a ellas por medio de un módulo
+ del kernel.
+
+ Bien, pero ¿de verdad es esto una
+ emulación? No. Es una implementación ABI, no
+ una emulación. No hay un emulador involucrado (ni
+ un simulador, para adelantarnos a la siguiente
+ pregunta).
+
+ Entonces ¿por qué a veces se le llama
+ emulación Linux? ¡Para hacer
+ más difícil el vender &os;! En serio, se
+ debe a que la primera implementación se hizo
+ en un momento en que realmente no había ninguna
+ palabra distinta a esa para describir lo que se estaba
+ haciendo; decir que &os; ejecutaba binarios Linux no era
+ cierto si no se compilaba el código o se cargaba
+ un módulo; hacía falta una forma de
+ describir todo esto y acabamos usando
+ emulador Linux.
+
+