Que se debe saber antes de compilar en centos?

octubre 7, 2008

Es importante tener en cuenta que en linux no es aconsejable trabajar como usuario root, para el caso de la compilacion si lo haremos con este usuario.

Como los demas usuarios creados en un sistema linux centos, son usuarios limitados y para poder realizar diversas configuraciones desde el punto de vista administrativo del sistema, se debe configurar los usuarios con la herramienta sudo, que se encuantra explicada aqui.

Empecemos:

Primero

Se debe crear un directorio llamado linux en la ruta /usr/src:

Nos ubicamos dentro del directorio /usr/src:

[root@asterisk ~]# cd /usr/src
[root@asterisk src]# pwd
/usr/src
[root@asterisk src]# ls
kernels

Creamos el directorio linux:

[root@asterisk src]# mkdir linux
[root@asterisk src]# ls
kernels  linux

Segundo

Nos ubicamos “dentro” de este directorio creado y realizamos un enlace sombolico asi:
Ingresamos dentro del directorio:

[root@asterisk 2.6.18-92.1.13.el5-i686]# cd /usr/src/linux/

Creamos un enlace simbolico con el comando ln -s asi:
[root@asterisk linux]# ln -s /usr/src/kernels/2.6.18-92.1.13.el5-i686/  /usr/src/linux/

Para tener en cuenta:

/usr/src/kernels/2.6.18-92.1.13.el5-i686/: Es la ruta  del directorio en el sistema donde estan ubicados los sources para poder permitir la compilacion de los distintos paquetes (para Red Hat y centos, este directorio  puede variar de acuerdo a la distribucion de linux que se emplee).

2.6.18-92.1.13.el5-i686 este directorio corresponde a la version del kernel que se maneja de centos 5.2 (ademas actualizando el kernel)  puede variar este numero de acuerdo al distro y version que utilicemos de la linea Red Hat (Fedora o Centos)

Tercero
Con el comando ls o ll, podemos ver el directorio que esta dentro de /usr/src/linux y que corresponde a un enlace simbolico
[root@asterisk linux]# ll
total 0
lrwxrwxrwx 1 root root 41 oct  6 17:46 2.6.18-92.1.13.el5-i686 -> /usr/src/kernels/2.6.18-92.1.
13.el5-i686/
Cuarto
Lo que se desee compilar, por lo general esta en un archivo empaquetado o comprimido con formatos como .tar, .tar.gz,  .gz, .bz2, Z etc, etc aqui hay una excelente guia de como hacerlo con algunos formatos.
Se debe crear un directorio  dentro de /usr/src (preferiblemente con el nombre de la aplicacion, aunque no es necesario asignar este nombre, es solo por llevar un orden) y desde alli desempaquetarlos de acuerdo al formato y compilarlos, ya en otro articulo de PICA mostraremos detalladamente como se compilar las herramientas de esta plataforma integral de comunicacion asterisk.
Anuncios

Preparar kernel para la compilacion de ASTERISK.

octubre 6, 2008

Es importante tener configurado un repositorio en el distro de linux, que para nuestro caso es centos, el motivo de este blog no es aprender este tipo de configuraciones especiales porque esta centrado a la plataforma PICA, su funcionamiento e implementacion, pero aqui hay un buen ejemplo de como configurar un repositorio para centos, redhat o fedora.

Antes de compilar los diferentes paquetes de asterisk (asterisk, libpri, zaptel, asterisk-addons) debemos tener solventadas todas las dependencias del sistema operativo empezando por el kernel, para asi lograr una correcta compilacion y evitar fallos en el transcurso de esta por errores de dependencias o paquetes del sistema operativo.

Para empezar es importante saber cual es la version del kernel, y para esto se emplea el comando uname -a o sino uname -r.

[root@asterisk pica]# uname -r
2.6.18-92.1.13.el5


[root@asterisk pica]# uname -a
Linux asterisk 2.6.18-92.1.13.el5 #1 SMP Wed Sep 24 19:33:52 EDT 2008 i686 athlon i386 GNU/Linux

Para nuestro ejemplo podemos observar que se posee la version del kernel 2.6.18-92.1.13.el5.

Es importante tener la ultima version estable del kernel, para asi poder tener mas estabilidad (valga la redindancia) en el sistema operativo y por ende en la plataforma.

Para el caso de PICA se emplea el distro centos, por ende la paqueteria de este son los .rpm.

Luego de verificar la version del kernel, es importante tener instalados los paquetes kernel-headers y kernel-devel, pero que ademas coincidan perfectamente con la version del kernel, asi:

[root@asterisk fotos]# rpm -q kernel-devel
kernel-devel-2.6.18-92.1.13.el5


[root@asterisk fotos]# rpm -q kernel-headers
kernel-headers-2.6.18-92.1.13.el5

Podemos apreciar que tanto la version del kernel, como las de kernel-devel y kernel-headers son exactamente las mismas (2.6.18-92.1.13.el5).

¡¡¡Atencion!!!

DE NO TENER LA MISMA VERSION EN ESTOS PAQUETES, HAY ERRORES DE COMPILACION O SIMPLEMENTE NO COMPILA