Instalación desde el código fuente
Debido a que CentOS posee con un completo entorno de desarrollo, no hay nada que le impida instalar software compilándolo desde un tar.gz o un tar.bz2.
Pero existen buenas razones para no hacerlo, exceptuando los casos que absolutamente tenga que hacerlo, así como algunos aspectos que debe recordar antes de comenzar la instalación.
1. Puntos en contra
CentOS se trata de la estabilidad, no de las versiones más recientes del software.
- El software de CentOS ha sido seleccionado para estabilidad, lo cual no es solo para el paquete en sí, sino en que este funcione correctamente con el resto del software instalado.
- Pero el paquete foo en la versión x.y.1 tiene huecos de seguridad que ya no están en la versión x.z.1!
- Puede que ese sea el caso. Pero normalmente la versión x.z.1 además incorpora nuevas características sobre la x.y.1 que pueden romper el comportamiento esperado del software.
Las actualizaciones de seguridad aplican parches (backporting) a la versión que está instalada en CentOS. Usted puede comprobarlo con rpm -q --changelog package.
- Pero absolutamente necesito el sotfware foobar que no viene con CentOS.
Probablemente alguien más ya lo haya empaquetado para usted. Existen varios Repositorios para CentOS externos e internos con software empaquetado que corre en CentOS.
- Pero necesito la versión x.y.z del software bazfoo!
- Usted debería buscar una distribución con software más moderno.
- Las versiones nuevas pueden romper otro software dependiente de la versión inicial de bazfoo que viene en la distribución.
2. Puntos a favor
Si definitivamente no puede encontrar el software que está buscando, entonces piense cómo construirá e instalará el software.
Empaquetar RPMs es muy difícil.
- Si empaqueta el software usted mismo, entonces le permitirá hacer fácil las actualizaciones, debido a que usted no tendrá que recordar como configuró el software - esto está en el fichero spec.
- RPM conoce sobre su software, de esta forma usted puede instalar otros paquetes los cuales dependen del software que acaba de construir.
- Esto hace más fácil la resolución de dependencias, proveedores y requisitos.
- Usted puede hacer su paquete disponible a otras personas. Algunos Repositorios están dispuestos a adicionar software que ha sido empaquetado de acuerdo a sus lineamientos.
3. Aspectos a recordar
Nunca intente instalar, desde su código fuente, paquetes de software que son parte de CentOS, tan solo porque piense que necesita la versión más nueva. Esto destruirá las cosas.
Si usted definitivamente está dispuesto a hacerlo, entonces trate de realizar la instalación de una forma paralela al software existente. Por ejemplo en /opt o en /usr/local.
Si usted necesita módulos de perl, no use CPAN, pués esto posiblemente rompa su instalación de perl. Por favor, intente empaquetar el módulo de perl, ya sea con cpan2rpm o la plantilla spec para módulos de perl de fedora-rpmdevtools. Lo mismo sucede para python.
El paquete fedora-rpmdevtools está disponible en el repositorio kbs-CentOS-Extras. Vea Repositorios. Esto además le ayudará a construir otros rpms.
4. Conclusiones
Evite construir software desde su código fuente, use otros Repositorios siempre que sea posible. Si tiene que construir software: involucre sus propios paquetes. Si no puede involucrar sus propios paquetes: instale el software en un lugar que no cree conflictos. Nunca sobrescriba el software que viene con CentOS.
Recuerde: Si usted lo rompe, usted se hace cargo. No encontrará ayuda para esto en los canales IRC, por ejemplo.