apt-get para Red Hat

Imagen de ElSanto

Tema: 

Como todo buen usuario uno sabe, apt-get es tu mejor amigo. Pero solo está para Debian. ¿Seguro?

En este artículo paso a descifrar los siguientes misterios:

¿Qué es apt-get?

¿Qué es Red Hat?

¿Qué es un RPM?

¿Quien va a ganar la liga?

Bueno, la ultima cuestión, igual no :P



¿Qué es el apt-get?

apt-get es una aplicación libre creada para manejar de forma inteligente y senzilla el sistema de paquetes (famos los programas instalados) de un sistema operativo tipo Unix. apt-get es utilizado por Debian "de serie". Debian utiliza este programa como el gestor de su sistema de paquetes ".deb". El apt-get se puede configurar para indicarle la fuente ("sources") de los paquetes DEB (el cd-rom, un directorio, un servidor ftp...)

Todo esto está muy bién pero... ¿no iba esto de Red Hat?

Tranquilo...

¿Qué es Red Hat?

Red Hat, inc es una empresa que distribuye Linux. En concreto, la distribución Red Hat Linux. La última versión disponible, al momento de escribir estas líneas, es la 8.0. Red Hat distribuye Linux a base de CDs, imágenes ISO, repositorio de ftps.... pagando o gratis. La distribución Red Hat utiliza el gestor de paquetes RPM , que no es tan intuitivo como nos podríamos imaginar para el siglo XXI. Red Hat empaqueta los programas en paquetes ".rpm". Exacto, el mismo nombre que el gestor de paquetes. (¿Para qué hacerlo fácil si se puede complicar?)).

Todo esto está muy bién pero... ¿no son los paquetes .deb diferentes de los .rpm?

Sí. Paciencia...

¿Qué es un RPM?

Un RPM (o un .rpm) es un "paquete" o archivo que contiene (comprimido) un programa ejecutable, sus ficheros de ayuda, los programas que necesita pre-instalados para poder funcionar (las famosas dependencias) sus ficheros de configuración, y una serie de scripts (o guiones) para automatizar su instalación y desinstalación. Como veis, la idea del "paquete" es muy buena. Los ".deb" (o DEB) también son paquetes. Los RPM y los DEB se diferencian en la cantidad de información que contienen acerca de las dependéncias y los scripts de instalación / desinstalación.

Y hete aquí el quid de la cuestion.

apt-get se aprovecha de la información de los DEB para instalar los otros paquetes DEB necesarios para que el programa a instalar funcione. Por ejemplo, para instalar un DEB de un visualizador de imágenes, apt-get leerá el DEB para saber que librerías necesita, la librería jpeg, la gif la png y la TIFF. apt-get se encargará de localizar los DEB que contienen esas librerías, automágicamente.

El programa RPM no se aprovecha de la información disponible en los paquetes .rpm y, cuandointentas instalar un paquete .rpm de un visualizador de imágenes, si no tienes las librerías necesarias (la librería jpeg, la gif la png y la TIFF) te va a dar un error de "dependencias no satisfechas" y se va a quedar tan ancho.Y a tí, una cara de tonto...

Los chicos de MandrakeSoft, los que distribuyen Linux Mandrake (mientras escribo ésto, su última versión es la 9.0), decidieron que un poco de Perl no hace daño y desarrollaron el urpmi. El urpmi , otro prorgama GPL, consiste de una série de scripts que, utilizando el programa RPM, la información contenida en los paquetes .rpm y un hábil uso de bases de datos, presenta una solución "de serie" muy parecida al apt-get. Vamos, que en Mandrake, el problema ya no es tal problema.

Y aquí es donde entra el apt-get para RPMs de Red Hat.

ah....., ya empiezo a entenderlo.

¿Viste como no era tan dificil?

apt-get para Red Hat, alias, la Madre del Cordero

Como ya te habras dado cuenta, en el mundo del Software Libre, si hay un problema, alguien lo va a solucionar, tarde o temprano.

Red Hat, como buena compañía de software libre, publica su código. El programa RPM, así como el formato de los paquetes .rpm está disponible. Y una serie de voluntarios se dieron cuenta que:

  • Usaban Red Hat y les gustaba

  • Red Hat usa paquetes .rpm

  • El programa RPM deja que desear

  • El programa apt-get es mejor que el RPM

  • Tenían a su alcance las fuentes de RPM, de apt-get y las especificaciones técnicas de los paquetes .rpm y .deb

  • Sabían programar

Los susodichos voluntarios, también se dieron cuenta que Conectiva, el mayor distribuidor de Linux de Brasil, había portado apt-get para utilizarlo con su distribución, basada en paquetes .rpm. Vamos, que ya tenían mucho trabajo hecho.

Estos voluntarios, se montaron una web, se curraron una documentación, hicieron unos .rpm y levantaron unos servidores FTP que, si usas Red Hat, te van a alegrar el día.

Su web es esta: http://apt-rpm.tuxfamily.org/

La web está en inglés, y explica dónde y cómo instalar el apt-get para Red Hat, versiones 6.2, 7.2 y 7.3.

Instrucciones para instalar apt-get en Red Hat 7.3

Para utilitzar el repositorio de RPMs con apt-get, primero tienes que instalar el programa APT-GET en tu sistema. Consígue el programa aquí. Si necesitas las fuentes, las tienes aquí.

Luego, tienes que editar el archivo /etc/apt/sources.list y añade las líneas que sean relevantes para tu distribución. Por ejemplo, el /etc/apt/sources.list del mantenedor de la web esa, tiene:

rpm ftp://apt-rpm.tuxfamily.org/apt redhat-7.2-i386/redhat os

rpm ftp://apt-rpm.tuxfamily.org/apt redhat-updates-7.2/redhat os

rpm ftp://apt-rpm.tuxfamily.org/apt redhat-extra-7.2/redhat extra

rpm-src ftp://apt-rpm.tuxfamily.org/apt redhat-7.2-i386/redhat os

rpm-src ftp://apt-rpm.tuxfamily.org/apt redhat-updates-7.2/redhat os

rpm-src ftp://apt-rpm.tuxfamily.org/apt redhat-extra-7.2/redhat extra

Lo siguiente es utilizar el prorgama apt-get update dos veces (debido a un bug en apt) y, luego, apt-get dist-upgrade o apt-get install paquetillo...

Para 7.2, 7.1 y 6.2, el sistema es similar, auqnue, evidentemente, los paquetes serán diferentes.

Problema comúm: ¡¡tengo paquetes ducplicados!!

apt-get update se quejará si tienes un paquete duplicado, te dará un mensaje de error y no hará nada. ¿como se soluciona?

Primero, descubre cual es el paquete duplicado (por ejemplo, p_duplicado) y sus versiones con:

# rpm -q p_duplicado

p_duplicado-1.2.1-3

p_duplicado-1.2.1-5

Luego, procede a "desinstalar", sin cargarte nada, la versión más antigua del paquete:

# rpm --justdb -e p_duplicado-1.2.1-3

# rpm --rebuilddb

Vuelves a probar con el apt-get update . Si falla con otro paquete (solo te indica el primer paquete duplicado que tengas), repites el proceso.

¡Este artículo es una pasada!

¿Te ha gustado? Me alegro. A ver si te sirve de inspiración y nos montas un artíuclo con esos truquillos que tú conoces... y tanta gente ansía en conocer.

¿Le encuentras fallos? Por favor, avísame, para que hable con los de EcuaLUG, a base de promesas, amenazas y emilios variados, arreglemos el desaguisado.

¿Qué hay que votar? ¡Lo que diga la rubia!

buuuuuuueno, ya me callo ;)