Bueno, hoy me he encontrado con un (muy) antiguo server Red Hat 4 que no tenía yum instalado. Hace un tiempo ya me pasó algo parecido, así que he decidido crear un post para documentar cómo lo solucionamos.
Lo primero es verificar que no tenemos yum instalado. Para eso, como root, podemos ejecutar:
[root@myOldServer ~]# yum
bash: yum: command not found
[root@myOldServer ~]# whereis yum
yum:
[root@myOldServer ~]# rpm -q yum
package yum is not installed
Posteriormente, nos aseguramos de la versión y la arquitectura de nuestro servidor, para saber qué paquetes exactos necesitaremos:
[root@myOldServer ~]# uname -m
x86_64
[root@myOldServer ~]# cat /etc/redhat-release
Red Hat Enterprise Linux ES release 4 (Nahant Update 6)
En mi caso, he buscado los rpm necesarios en rpmPBone. Para ello, nos dirigiremos a la web y en «Search» buscaremos por el paquete «yum», seleccionando RHEL 4, que es nuestra versión de SO. Saldrán decenas de resultados. En mi caso, me he decidido por la versión 2.4.3 «noarch» es decir, que es independiente de la arquitectura (que en nuestro caso es x86_64). Infórmate y mira cual es la versión que quieres tener. Si te sirve la misma que a mi, puedes descargarla directamente así:
[root@myOldServer ~]# wget ftp://ftp.muug.mb.ca/mirror/fedora/epel/4/i386/yum-2.4.3-0.5.el4.noarch.rpm
Para saber qué paquetes adicionales deberemos instalar, he intentado instalar directamente el rpm de yum, el cual me ha devuelto las dependencias.
[root@myOldServer ~]# rpm -ivh yum-2.4.3-0.5.el4.noarch.rpm
warning: yum-2.4.3-0.5.el4.noarch.rpm: V3 DSA signature: NOKEY, key ID 217521f6
error: Failed dependencies:
python-elementtree is needed by yum-2.4.3-0.5.el4.noarch
python-sqlite is needed by yum-2.4.3-0.5.el4.noarch
urlgrabber is needed by yum-2.4.3-0.5.el4.noarch
Así pues, en mi caso, deberé descargar e instalar los siguientes paquetes:
- python-elementtree
- python-sqlite
- urlgrabber
De nuevo mediante rpmPBone he descargado los rpm correspondientes a las dependencias. A continuación, he pasado a instalarlos, uno a uno, empezando por:
[root@myOldServer ~]# rpm -ivh python-elementtree-1.2.6-7.el4.rf.x86_64.rpm
[root@myOldServer ~]# rpm -ivh python-urlgrabber-2.9.7-1.2.el4.rf.noarch.rpm
El otro rpm tiene, a su vez, otras dependencias, que también he tenido que descargar e instalar.
[root@myOldServer ~]# rpm -ivh python-sqlite-1.0.1-1.2.el4.rf.x86_64.rpm
warning: python-sqlite-1.0.1-1.2.el4.rf.x86_64.rpm: V3 DSA signature: NOKEY, key ID 6b8d79e6
error: Failed dependencies:
libsqlite.so.0()(64bit) is needed by python-sqlite-1.0.1-1.2.el4.rf.x86_64
[root@myOldServer ~]# rpm -ivh sqlite-2.8.17-1.el4.rf.x86_64.rpm
[root@myOldServer ~]# rpm -ivh python-sqlite-1.0.1-1.2.el4.rf.x86_64.rpm
Finalmente, con todas las dependencias resueltas, ya he podido instalar yum:
[root@myOldServer ~]# rpm -ivh yum-2.4.3-0.5.el4.noarch.rpm
warning: yum-2.4.3-0.5.el4.noarch.rpm: V3 DSA signature: NOKEY, key ID 217521f6
Preparing... ########################################### [100%]
1:yum ########################################### [100%]
Repositorios
Una vez tenemos yum instalado, ya podremos pasar a instalar nuestros repositorios, como por ejemplo, EPEL para RHEL4 x86_64.
[root@myOldServer ~]# wget http://mirror.rackcentral.com.au/epel/4/x86_64/epel-release-4-10.noarch.rpm
[root@myOldServer ~]# rpm -Uvh epel-release-4-10.noarch.rpm
Ya estaremos listos para usar nuestro gestor de paquetes:
[root@myOldServer ~]# yum search gcc
Searching Packages:
Setting up repositories
epel 100% |=========================| 3.4 kB 00:00
Fuentes:
http://nikitux.blogspot.com.es/2010/04/instalando-yum-en-red-hat-enterprise.html
Foto por Adams K.
Al instalar rpm -ivh python-elementtree-1.2.6-7.el4.rf.x86_64.rpm
me salen estos errores de dependencias:
libc.so.6()(64bit) se necesita para python-elementtree-1.2.6-7.el4.rf.x86_64
libc.so.6(GLIBC_2.2.5)(64bit) se necesita para python-elementtree-1.2.6-7.el4.rf.x86_64
libexpat.so.0()(64bit) se necesita para python-elementtree-1.2.6-7.el4.rf.x86_64
libpthread.so.0()(64bit) se necesita para python-elementtree-1.2.6-7.el4.rf.x86_64
Sabes que necesito instalar? Gracias
Hola Fran,
Al parecer necesitas instalar el paquete glibc-devel.
Ésto lo he hecho desde un PC que sí que tiene yum, ejecutando un «yum provides */libc.so», el cual me devuelve qué paquetes tienen ese determinado fichero.
¡Suerte!
Ok ha funcionado. Muchas Gracias
Buenas,
Después de seguir los pasos, me encuentro que no existe el fichero /etc/yum.conf. Lo he creado con la información por defecto y me sigue dando el error:
Config Error: Error accessing config file: /etc/yum.conf
He confirmado los permisos de acceso del fichero (777). No se si es un error de python.
¿Sabes qué puede estar pasando?
Gracias!
Hola. Mira lo que me acaba de pasar en un RHEL4:
server:~# whereis rpm
rpm:
server:~#
xDD