Instalar munin-node en RedHat / CentOS 5

10 09 2012

Para instalar munin-node en una máquina RedHat o CentOS 5 hay que utilizar los repositorios dag y forzar algunos paquetes, ya que no se encuentran todos disponibles para ésta release del sistema.

Aquí van los pasos, básicamente, crear un repo nuevo, bajar varios rpm e instalarlos a mano y finalmente instalar munin-node:

cat > /etc/yum.repos.d/dag.repo << FIN
[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
gpgkey=http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
enabled=1
FIN
cd /var/cache/yum/dag/packages/
wget 'http://pkgs.repoforge.org/perl-Net-Server/perl-Net-Server-0.90-2.el5.rf.noarch.rpm&#039;
yum install perl-Net-Server-0.90-2.el5.rf.noarch.rpm -y
wget 'http://pkgs.repoforge.org/perl-Socket6/perl-Socket6-0.23-1.el5.rfx.x86_64.rpm&#039;
yum install perl-Socket6-0.23-1.el5.rfx.x86_64.rpm -y
wget 'http://pkgs.repoforge.org/perl-Crypt-DES/perl-Crypt-DES-2.05-3.2.el5.rf.x86_64.rpm&#039;
yum install perl-Crypt-DES-2.05-3.2.el5.rf.x86_64.rpm -y
wget 'http://pkgs.repoforge.org/perl-Net-SNMP/perl-Net-SNMP-5.2.0-1.2.el5.rf.noarch.rpm&#039;
rpm -ivh --force perl-Net-SNMP-5.2.0-1.2.el5.rf.noarch.rpm --nodeps
yum -y install munin-node
/etc/init.d/munin-node restart

Advertisements




Configurar la red en RedHat

1 08 2011

Tenemos dos opciones:

Con:
# system-config-network-tui

O editar el archivo en /etc/sysconfig/network-scripts/ifcfg-eth0:

# Intel Corporation 82541GI Gigabit Ethernet Controller
DEVICE=eth0
BOOTPROTO=none
BROADCAST=22.23.112.255
HWADDR=01:09:4B:7F:6C:E3 # Dirección MAC
IPADDR= 64.34.55.50 # Ip de la interfaz de red
NETMASK= 255.255.255.0 # Máscara de red
NETWORK= 64.34.55.0 # Red en la que se encuentra
ONBOOT=yes # Arranque automático al inicio del sistema
GATEWAY= 64.34.55.1 # Puerta de enlace
TYPE=Ethernet





Crear paquete .rpm

28 03 2011

Para crear un paquete rpm primero instalar los paquetes necesarios:
# yum install rpm-build rpm-devel

Y dentro de /usr/src/redhat encontraremos los siguientes directorios:
/usr/src/redhat/SOURCES - Cotiene las fuentes, parches e iconos.
/usr/src/redhat/SPECS - Contiene los archivos de specificaciones usados para crear el rpm.
/usr/src/redhat/BUILD - Lugar donde se desempaqueta y se compila el software.
/usr/src/redhat/RPMS - Contiene los rpm creados, cada uno dentro de su arquitectura.
/usr/src/redhat/SRPMS - Contiene las fuentes de los rpm que se han creado.

Un ejemplo de los directorios con contenido:
BUILD
RPMS
SOURCES
  mi-programa
    archivo1.txt
    archivo2.sh
    archivo3
    archivo4.1.gz
  mi-programa.tar.gz
SPECS
  mi-programa.spec
SRPMSBUILD
SRPMS

Ahí hemos puesto el contenido de nuestro programa dentro de SOURCES y a su vez dentro de una carpeta, esa carpeta se encuentra comprimida en el mismo directorio con el mismo contenido que tiene el directorio, ese tar.gz es el que se descomprime y finalmente se instala, los archivos sin comprimir quedan como referencia para crear el tar.gz.

Ahora se muestra como ejemplo el contenido del archivo mi-programa.spec, que es la receta con la que se creará el rpm.

Summary: Mi primer rpm
Name: NombreDelPrograma
Version: 1.0.0
Release: 1
Group: Applications/System
License: GPL3
Packager: Mi Nombre
Requires: perl, (nombre de paquetes necesarios para su funcionamiento separados por comas)
Source: mi-programa.tar.gz
%description
Programa de prueba para mi primer rpm.
%prep
%setup
%install
install -m 0755 -d /etc/miprograma
install -m 0755 -d /var/lib/miprograma
install -m 0644 archivo1.txt /etc/miprograma/archivo1.txt
install -m 0644 archivo2.sh /etc/miprograma/archivo2.sh
install -m 0644 archivo3 /var/lib/miprograma/archivo3
install -m 0644 archivo4.1.gz /usr/share/man/man1/archivo4.1.gz
%post
chkconfig --add miprograma
echo '45 * * * * root /usr/bin/miprograma' >> /etc/crontab
echo -e "¡Instalado!"
%preun
chkconfig --del miprograma
sed -i '\/usr\/bin\/miprograma/d' /etc/crontab
echo -e "¡Desinstalado!"
%files
%dir /etc/miprograma
%dir /var/lib/miprograma
/etc/miprograma/archivo1.txt
/etc/miprograma/archivo2.sh
/var/lib/miprograma/archivo3
/usr/share/man/man1/archivo4.1.gz
%changelog
* Fri Mar 25 2011 Nombre Apellido
- Inicio

Ahora solo falta crear el rpm:
# cd /usr/src/redhat/
# rpmbuild -ba SPECS/mi-programa.spec

Y ya tendremos el .rpm creado el directorio RPMS/(Arquitectura)/mi-programa-1.0.0-1.arquitectura.rpm y las fuentes del mismo dentro de SRPMS

Si se quiere comprobar cómo se han construido otros paquetes, se pueden bajar los src y abrir del siguiente modo:
# rpm2cpio test-1.23.src.rpm | cpio -id

Más información:
http://home.fnal.gov/~dawson/rpms/howto/RPM-Build.html
http://www.linuxparatodos.net/portal/staticpages/index.php?page=como-rpmbuild
http://www.madboa.com/geek/specs/





Debian rgrep -> egrep Centos

19 03 2011

El comando “rgrep” que busca recursivamente un texto dentro de un árbol de directorios tiene su equivalente en CentOS / RedHat en “egrep -r”.

# rgrep "texto" *
# egrep -r "texto"





Instalar IBM Informix en CentOS Linux 5.5

19 03 2011

Se va a instalar Informix (IDS) 11.5 en un Centos 5.5 limpio creando una base de datos de ejemplo.

Partiendo de una instalación básica de Centos 5.5 es necesario descargarse de internet lo siguientes archivos:

iif.11.50.UC8DE.Linux-RHEL4.tar
(http://www-01.ibm.com/software/data/informix/?pgel=ibmhzn&cm_re=masthead-_-products-_-sw-informix)

jre-6u24-linux-i586-rpm.bin
(http://www.java.com/es/download/)

El primero es Informix, descargado de la página de ibm, es necesario el registo.
El segundo en JavaRuntime Enviroment, necesario para instalar Informix, es mejor bajárselo de la web oficial que usar los paquetes, ya que nos evitaremos errores.

Lo primero es instalar JRE. una vez descargado, cambiamos los permisos al instalador y lo ejecutamos:
# chmod ugo+x jre-6u24-linux-i586-rpm.bin
# ./jre-6u24-linux-i586-rpm.bin

Bien, ahora empezamos con Informix. Creamos el usuario y el grupo:
# groupadd informix
# useradd -g informix -m informix
# passwd informix

Creamos los directorios donde instalar la aplicacioón:
# mkdir /opt/informix
# chown informix:informix /opt/informix
# cd /opt/informix
# tar -xvf /ruta/a/iif.11.50.UC8DE.Linux-RHEL4.tar

Definir las variables de entorno:
# echo 'export INFORMIXDIR=/opt/informix' >> ~/.bash_profile
# source ~/.bash_profile

Instalar desde consola:
# cd /opt/informix
# ./ids_install -acceptilecense=yes -console
(Aceptar todas las opciones que se nos indican por defecto, "Intro" en todas.)

Ya se ha instalado Informix Dinamic Server, ahora toca configuar IDS.

Cambiar de usuario y definir las variables de entorno:
# su - informix
$ cat <> ~/.bash_profile
export INFORMIXDIR=/opt/informix
export INFORMIXSERVER=demo_on
export PATH=$INFORMIXDIR/bin:$PATH
EOF
$ source ~/.bash_profile

Creamos los archivos de configuración:
$ cd $INFORMIXDIR/etc
$ cp onconfig.std onconfig
$ cp sqlhosts.std sqlhosts

Editamos $INFORMIXDIR/etc/onconfig cambiando las opciones que vienen por defecto, aquí indicadas, por las siguientes:
ROOTPATH $INFORMIXDIR/tmp/demo_on.rootdbs
-
ROOTPATH $INFORMIXDIR/dbspaces/online_root
MSGPATH $INFORMIXDIR/tmp/online.log
-
MSGPATH $INFORMIXDIR/logs/online.log
LTAPEDEV /dev/tapedev
-
LTAPEDEV /dev/null
DBSERVERNAME
-
DBSERVERNAME demo_on

Comprobamos el nombre del host:
$ uname -n

Y le definimos en el archivo $INFORMIXDIR/etc/sqlhosts tomando como ejemplo el archivo original, hay que sustituir la siguiente línea:
demo_on onipcshm on_hostname on_servername
-
demo_on onipcshm localhost demo_on

Creamos los directorios necesarios:
$ cd $INFORMIXDIR
$ mkdir logs
$ mkdir dbspaces
$ cd dbspaces
$ touch online_root
$ chmod 660 online_root

Y por fin, inicializamos IDS:
$ oninit -iv
(Responder "y" a la pregunta)

¡ Y ya tenemos instalado el servidor Informix en pruebas!

Ahora toca pararlo:
$ onmode -ky

Y crear un dispositivo para su utilización por informix, en este ejemplo utilizamos un segundo disco duro /dev/hdb (ahora como root):
# fdisk /dev/hdb
Crear una particion completa del disco, el código del tipo de partición puede ser 83 - Linux.

Refrescar la tabla de particiones:
# partprobe

Cambiamos los permisos para informix:
# chown informix:informix /dev/hdb1
# chmod 660 /dev/hdb1
# echo 'chown informix:informix /dev/hdb1' >> /etc/rc.local

Creamos en enláce al dispositivo:
# su - informix
$ ln -s /dev/hdb1 $INFORMIXDIR/dbspaces/chunk1
$ chmod 660 $INFORMIXDIR/dbspaces/chunk1

Como root añadimos el cambio de permisos en el arranque, luego volvemos al usuario informix:
# echo 'chmod 660 /opt/informix/dbspaces/*' >> /etc/rc.local

Creamos la base de datos dbspace1 en el enláce que acabamos de crear, la opción -s se corresponde con el tamaño de bloques que nos informó previamente fdisk del nuevo dispositivo:
$ onspaces -c -d dbspace1 -p /opt/informix/dbspace/chunk1 -o 0 -s 265072

Creamos la base de datos de prueba:
$ dbaccessdemo7 -dbspace dbspace1

Y ya podemos arrancar y acceder a Informix:
$ oninit
$ dbaccess





Instalar CentOS 5.5 desde la red

7 03 2011

Para instalar CentOS sin bajar la iso completa, se puede bajar la versión netinstall y realizar una instalación mediante http.
Lo único que hay que configurar son los parámetros del servidor que nos dará los archivos. En la pantalla “Http Setup”:

Web Site Name: mirrors.kernel.org
CentOS Directory: /centos/5.5/os/i386/





Configurar arranque: ntsysv en redhat, sysvconfig en debian

23 12 2010

Para configurar los servicios del arranque de manera fácil desde la terminal, se puede usar:

En redhat:

# ntsysv

En debian:

# sysvconfigo en Debian 6
# rcconfy para añadir un nuevo script:
# update-rc.d mydaemon defaultso# update-rc.d-insserv apache2 defaults
Más información:
http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot