Capítulo 2. Introducción a la gestión del software
Todo sistema informático necesita un mecanismo para instalar y remover el software que utilizará para realizar sus funciones. ¿Pero qué es instalar software? Instalar software es colocar los documentos fuentes binarios ejecutables o no de dicho software en los lugares adecuados en el sistema destino.
Luego de definido dónde se debe instalar el software, entonces podemos escoger la forma para realizar dicha instalación:
Manualmente, copiando y pegando con herramientas como cp
, mv
, scp
.
Usando alguna herramienta que automatice el proceso como make.
Usando alguna herramienta general de distribución de software.
gem install rubygem
cpan> install DateTime
Usando alguna herramienta de control de versiones, svn, cvs , git , etc.
git clone ...
svn co ...
cvs co ...
Usando las herramientas propias de la distribución.
yum install ...
aptitude install ...
Este manual es acerca de la última opción y en particular Fedora aunque muchos de los conceptos, herramientas y técnicas de este manual se pueden aplicar a otros sistemas. A continuación se resaltan algunos problemas de usar los otros métodos.
Diversidad de herramientas para la misma tarea, ¿gem o cpan?
Difícil averiguar qué software se tiene instalado.
Difícil realizar actualizaciones al software instalado.
No escala en la medida que se instala mucho software.
Díficil o imposible de saber quién instaló un software determinado.
Tiende a ser desordenado y a ensuciar el sistema en general.
Rutas alteradas y sin certeza de que se esté usando el programa deseado.
Hay algunas pocas ventajas de usar mecanismos manuales o herramientas de gestión de software independientes de la plataforma, a saber:
Soporte para múltiples versiones.
Acceso a últimas versiones disponibles aguas arriba.
Acceso a software privativo sin sustituto libre.
Instalación de software sólo accesible a nivel de usuario.
En general no se recomienda usar herramientas no nativas Fedora para la gestión de software del sistema en la medida que el software que usted necesita esté disponible en el formato RPM, incluso si es software privativo. También esas supuestas ventajas son muy cuestionables y realmente se insiste que no se usen dichos métodos salvo excepción y que sepa lo que está haciendo.
En Fedora y al igual que otras distribuciones GNU/Linux hoy día, la gestión del software ocurre en tres niveles que introduciremos a continuación:
Tabla 2.1. Tres capas en la gestión del software
Capa
|
Componente
|
Comentario
|
---|
1
|
RPM
|
Bajo nivel, gestión básica de dependencias
|
2
|
YUM
|
Gestión de dependencias automáticas y repositorios
|
3
|
PackageKit
|
Gestión GUI y Multi-distro
|
El formato RPM es la forma de encapsular todo el software de una aplicación dada, o datos en general, para el sistema de gestión de software RPM existente en Fedora y otras distribuciones Linux y otros sistemas Unix. El sistema RPM es tanto el formato del archivo como un sistema de gestión de software de bajo nivel basado en registros en base de datos.
Así entonces, la aplicación escogida puede ser suministrada por los desarrolladores en formato RPM compatible Fedora. Igualmente puede ser suministrada por el propio Proyecto Fedora si dicho software ha sido previamente empaquetado correctamente y validado legalmente como para formar parte de la distribución. Una tercera opción es que esté disponible en repositorios externos que se han dado a la tarea de empaquetar dicha aplicación en el formato RPM.
RPM permite instalar, desinstalar y actualizar paquetes de software con comandos simples. RPM mantiene una base de datos de los paquetes instalados así que se pueden invocar comandos de consulta y verificación en el sistema.