Hace algunas semanas instalé Mandriva 2010, es primera vez que uso esta distribución, la cual a primera vista aparece como el mejor candidato para quienes quieren comenzar su migración desde sistemas operativos propietarios a una alternativa FOSS.
La distribución en sí es bastante sencilla de usar, bastante intuitiva, pero no todo es tan mágico. Por este motivo, decidí escribir esta entrada para explicar un problema clásico que resolví solo usando las herramientas gráficas de Mandriva.
La versión que bajé e instalé de Mandriva es la Free, y realicé la instalación por omisión que ofrece el instalador, una vez que inicié por primera vez, me encontré con la sorpresa que no tenía acceso a través de la tarjeta wireless del equipo.
Como dije antes, me decidí a resolver este impasse solo con las herramientas que nos da Mandriva en su interfaz gráfica, y he aquí el como lo hice.
En la siguiente captura pueden ver el Network Center, que es quien maneja las conexiones de red en Mandriva, algo similar a NetworkManager en otras distros.
Pues bien, como se ve en la imagen, no tengo acceso a nada vía wifi, a pesar que tengo el adaptador habilitado.
Bien, ahora para reparar esto, nos vamos a Mandriva Control Center, que es el ícono que dice "Configure your Computer", o el equivalente en idioma local que hayan elegido para la instalación.
La primera pantalla es para configurar la instalación de software
Acá seleccionamos "Configure media sources...", que está a la derecha. En la siguiente pantalla debemos asegurarnos que estén seleccionados los repositorios "Contrib" y "Non Free", de esta forma podremos instalar drivers que son solo binarios, y que normalmente no se incluyen en las distribuciones.
La selección de repositorios debe quedar algo similar a las dos siguientes pantallas (yo no seleccioné nada extra, es lo que trae por omisión).
Le damos "OK", y entramos a la parte que dice "Install & Remove Software", en la esquina superior izquierda, hay un menú dropdown, en el cual deben seleccionar "All"
Luego escribimos el término a buscar, en este caso puse parte del nombre que aparece en la primera pantalla.
Acá está la parte truculenta del asunto, de todos los resultados de la búsqueda, hay que seleccionar Intel Wireless WiFi Link microcode, pues es lo que le falta a la tarjeta para funcionar. Este es el punto flaco de Mandriva, no dió ningún hint o ayuda para determinar esto.
Como sea, una vez seleccionado, presionamos Apply, y nos aparecerá la siguiente advertencia
En ella se nos informa que se agregarán algunos paquetes para cumplir con las dependencias, por tanto le damos OK.
Se nos indicará las dependencias a instalar.
Y luego de eso, las dependencias previas
Presionamos Yes, y comienza la instalación
Al finalizar, puesto que se actualizó un paquete base del sistema (glibc), se debe reiniciar para que tome los cambios, aunque no es mandatorio.
Ya sea que reiniciemos o no, al volver a abrir el utilitario de conexiones de red, ahora podemos ver las redes WiFi disponibles, con lo cual solo basta configurarlas para conectarse.
Mandriva apunta a ser una de las distribuciones más amigables para hacer la transición desde aquel sistema operativo propietario tan famoso hacia Linux, el problema que tenemos siempre, es que sin una interfaz amigable, que guie al usuario, y sea entendible frente a algún tipo de problema, no podremos hacer la que gente se encante con Linux, y lo deje de ver simplemente como un hobby temporal, o algo "chori" que ponerle al computador.
Mi paso por Mandriva duró una semana, después de eso volví a Fedora, a vivir la que creo ha sido las 2 semanas más duras y a la vez entretenidas del último tiempo, en lo que tener un escritorio funcional se refiere, pero más de eso, en un siguiente post.
27 nov 2009
12 jul 2009
Preparación de RedHat Enterprise Linux 4 para instalar Oracle
En Internet pueden encontrar un montón de guías acerca de como instalar Oracle en Linux, entonces ¿para qué hacer otra más? pues simplemente para poner en un solo set de pasos, la que me ha resultado como mejor práctica para la implementación del motor de base de datos, a través de la experiencia práctica y la experimentación.
Como primer paso tendremos que tener un equipo (físico o virtual) con RedHat Enterprise Linux 4 instalado, la instalación de esta distribución está fuera del alcance de esta mini-guía, pero como referencia podemos decir que, básicamente necesitamos:
- Instalación mínima
- SWAP calculado de acuerdo a la siguiente lista:
Una vez que tenemos instalado el sistema, debemos hacer algunos ajustes.
Hostname: El hostname de la máquina debe estar asignado de forma estática. En el archivo /etc/hosts no debe estar asociado al localhost, es bastante común tener una entrada como la siguiente:
"127.0.0.1 localhost.localdomain localhost miservidor"
Esta debe quedar:
"127.0.0.1 localhost.localdomain localhost
1.2.3.4 miservidor.midominio.tld miservidor"
Respecto a la dirección IP, esta debe estar asignada de forma estática, Oracle no soporte configuraciones con DHCP
Paquetes del Sistema Operativo: Como se imaginarán Oracle tiene un set de pre-requisitos para la instalación del motor, pues bien, a través de la experimentación, he ido depurando un listado menor de paquetes, e incluyendo algunos extras a fin de hacer nuestras tareas administrativas un poco más simples.
Deben instalar:
Los siguientes parámetros deben estar configurados como mínimo, todos están en la sintaxis que necesitan poner en el archivo /etc/sysctl.conf
kernel.shmmax = (RAM en bytes/2) - 1, en 32 bits que no exceda los 4GB - 1 bytes
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_max = 262144
Una vez modificados los parámetros en el archivo /etc/sysctl.conf, basta con ejecutar sysctl -p para activarlos. Cabe notar, que si algún parámetro de ese archivo es mayor a los anotados más arriba, se debe dejar el mayor.
Cuentas de usuario y grupos
Ahora debemos crear el grupo "dba", y el usuario "oracle". En los documentos de Oracle, se recomienda crear el grupo "oinstall" para ser dueño del inventario de software de Oracle, en la generalidad, no he visto instalaciones productivas donde se lleven a cabo más tareas que tener el motor de datos, por tanto el grupo "oinstall" se vuelve irrelevante.
Primero creamos el grupo con "groupadd dba", y luego el usuario oracle con "useradd -g dba oracle".
Límites para el usuario oracle
Debemos configurar los límites para el usuario oracle, para esto, modificamos el archivo /etc/security/limits.conf, y agregamos
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
Como primer paso tendremos que tener un equipo (físico o virtual) con RedHat Enterprise Linux 4 instalado, la instalación de esta distribución está fuera del alcance de esta mini-guía, pero como referencia podemos decir que, básicamente necesitamos:
- Instalación mínima
- SWAP calculado de acuerdo a la siguiente lista:
- RAM < 4gb =" 2*RAM
- RAM >= 4GB < 8gb =" 1,5*RAM
- RAM >= 8GB = RAM
Una vez que tenemos instalado el sistema, debemos hacer algunos ajustes.
Hostname: El hostname de la máquina debe estar asignado de forma estática. En el archivo /etc/hosts no debe estar asociado al localhost, es bastante común tener una entrada como la siguiente:
"127.0.0.1 localhost.localdomain localhost miservidor"
Esta debe quedar:
"127.0.0.1 localhost.localdomain localhost
1.2.3.4 miservidor.midominio.tld miservidor"
Respecto a la dirección IP, esta debe estar asignada de forma estática, Oracle no soporte configuraciones con DHCP
Paquetes del Sistema Operativo: Como se imaginarán Oracle tiene un set de pre-requisitos para la instalación del motor, pues bien, a través de la experimentación, he ido depurando un listado menor de paquetes, e incluyendo algunos extras a fin de hacer nuestras tareas administrativas un poco más simples.
Deben instalar:
- cpp
- gcc
- gcc-c++
- binutils
- libstdc++
- libstdc++-devel
- compat-libstdc++-296
- compat-libstdc++-33
- make
- pdksh
- compat-db
- sysstat
- libaio
- openmotif21
- xorg-x11-xauth
- strace (muy útil para hacer debug)
- ntp (sincronización de tiempo)
- popt (pre-requisito de ntp)
Los siguientes parámetros deben estar configurados como mínimo, todos están en la sintaxis que necesitan poner en el archivo /etc/sysctl.conf
kernel.shmmax = (RAM en bytes/2) - 1, en 32 bits que no exceda los 4GB - 1 bytes
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_max = 262144
Una vez modificados los parámetros en el archivo /etc/sysctl.conf, basta con ejecutar sysctl -p para activarlos. Cabe notar, que si algún parámetro de ese archivo es mayor a los anotados más arriba, se debe dejar el mayor.
Cuentas de usuario y grupos
Ahora debemos crear el grupo "dba", y el usuario "oracle". En los documentos de Oracle, se recomienda crear el grupo "oinstall" para ser dueño del inventario de software de Oracle, en la generalidad, no he visto instalaciones productivas donde se lleven a cabo más tareas que tener el motor de datos, por tanto el grupo "oinstall" se vuelve irrelevante.
Primero creamos el grupo con "groupadd dba", y luego el usuario oracle con "useradd -g dba oracle".
Límites para el usuario oracle
Debemos configurar los límites para el usuario oracle, para esto, modificamos el archivo /etc/security/limits.conf, y agregamos
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
8 jul 2009
Oracle Gridcontrol Agent y HP-UX
Durante la implantación de los agentes de GridControl (10.2.0.5) para HP-UX, se genera un script que participa de la secuencia de inicio y apagado del servidor.
Este script hace una llamada al script agentstup, el cual asume ciertas cosas que no son correctas en HP-UX, al parecer fue desarrollado en Linux y no se tomaron las precauciones necesarias para validar que funcionara en un ambiente HP-UX que no necesariamente tiene utilitarios de Linux instalados, como sudo o bash.
Luego de reiniciar el servidor, teniendo ya el agente instalado, notarán que aparece un mensaje diciendo que falló un servicio y debemos revisar /etc/rc.log. Al revisarlo, notaremos que el script de inicialización de los agentes de gridcontrol no se ejecutó con éxito.
Para reparar el script hay que hacer los siguientes cambios.
- Ir al ORACLE_HOME del agente, por ejemplo: /u01/app/oracle/product/11.1.0/agent10g
- Luego entrar al directorio install/unix/scripts
- Copiar el archivo agentstup (cp agentstup agentstup.orig)
- Realizar las siguientes ediciones:
* En la línea 7, cambiar
Puesto que el script es llamado desde /sbin/init.d/gcstartup vía "su", el usuario que está ejecutando el script no es almacenado en la variable $USER
* En la línea 8, cambiar
por
En HP-UX, "sudo" no es instalado por default, para tenerlo disponible se debe instalar HP-UX RBAC (Role-Based Access Control)
* En las líneas 20 y 27, cambiar
por
Sin encerrar las variables, no se efectua la comparación de forma efectiva.
* En la línea 23, cambiar
por
De esta forma, utilizamos el comando "su" directamente, de forma análoga, se debe hacer el cambio en la línea 30, pero esta vez el parámetro será "stop".
Para probarlo ejecuten /sbin/init.d/gcstartup start o /sbin/init.d/gcstartup stop
Con esto, ahora tendremos un agente funcional luego del reinicio de los servidores.
Este script hace una llamada al script agentstup, el cual asume ciertas cosas que no son correctas en HP-UX, al parecer fue desarrollado en Linux y no se tomaron las precauciones necesarias para validar que funcionara en un ambiente HP-UX que no necesariamente tiene utilitarios de Linux instalados, como sudo o bash.
Luego de reiniciar el servidor, teniendo ya el agente instalado, notarán que aparece un mensaje diciendo que falló un servicio y debemos revisar /etc/rc.log. Al revisarlo, notaremos que el script de inicialización de los agentes de gridcontrol no se ejecutó con éxito.
Para reparar el script hay que hacer los siguientes cambios.
- Ir al ORACLE_HOME del agente, por ejemplo: /u01/app/oracle/product/11.1.0/agent10g
- Luego entrar al directorio install/unix/scripts
- Copiar el archivo agentstup (cp agentstup agentstup.orig)
- Realizar las siguientes ediciones:
* En la línea 7, cambiar
executingUser=$USERpor
executingUser=$LOGNAME
Puesto que el script es llamado desde /sbin/init.d/gcstartup vía "su", el usuario que está ejecutando el script no es almacenado en la variable $USER
* En la línea 8, cambiar
SU=/usr/local/bin/sudo
por
SU=/usr/bin/su
En HP-UX, "sudo" no es instalado por default, para tenerlo disponible se debe instalar HP-UX RBAC (Role-Based Access Control)
* En las líneas 20 y 27, cambiar
if [ $executingUser = $installUser ] ; then
por
if [ "$executingUser" = "$installUser" ] ; then
Sin encerrar las variables, no se efectua la comparación de forma efectiva.
* En la línea 23, cambiar
$SU -u $installUser $ORACLE_HOME/bin/emctl start agent
por
$SU - $installUser -c "$ORACLE_HOME/bin/emctl start agent"
De esta forma, utilizamos el comando "su" directamente, de forma análoga, se debe hacer el cambio en la línea 30, pero esta vez el parámetro será "stop".
Para probarlo ejecuten /sbin/init.d/gcstartup start o /sbin/init.d/gcstartup stop
Con esto, ahora tendremos un agente funcional luego del reinicio de los servidores.
Etiquetas:
gridcontrol,
hp-ux,
oracle