Llevo unos días peleado con los repositorios de RedHat y por el momento le he ganado la partida.

Uno de los “problemas” que he encontrado con esta distribución ha sido a la hora de instalar las librerías necesarias para poder instalar aplicaciones que las necesitan.

RedHat y su sistema de repositorios.

Como sabes, Linux es un sistema operativo de código abierto y libre, basado en Unix. Pero RedHat es una empresa que está centrada en la distribución de Linux a empresas, y, entre otras cosas requiere una subscripción para poder beneficiarse de las actualizaciones periódicas que, cada cierto tiempo son lanzadas por la compañía.

La clave de todo está en el comando YUM.

Para realizar las instalaciones de los paquetes y actualizaciones se utiliza el comando yum (Yellow dog Updater, Modified), el cual tiene un uso sencillo en entorno de consola:

[highlight]#yum install -y nombre_paquete (instala el paquete indicado y confirma la instalación)
#yum whatprovides parámetro (busca en los repositorios que paquete tiene el parámetro indicado)
#yum provides */librería (busca en los repositorios que paquete tiene una librería en concreto)
#yum update (actualiza todos los paquetes que tengas instalados)[/highlight]

La solución; repositorio local.

Si instalas un paquete en RedHat, este normalmente viene con dependencias, que son necesarias para poder instalar el paquete que necesitas. Yum hace el trabajo por ti y además de instalar el paquete, instala las dependencias correspondientes.

Tienes la alternativa de instalar un paquete .rpm obviando las dependencias, lo puedes decargar de webs de repositorios e instalar con el comando rpm de este modo: [highlight]#rpm -i –nodeps nombre_del_paquete.rpm[/highlight]. Aún así, corres el riesgo de que te falte algo.

El procedimiento.

Pero te puede ocurrir como a mi, que necesites utilizar RedHat en un entorno de laboratorio y no tengas suscripción; o que lo instales, pero no tengas acceso externo a internet para poder utilizar los repositorios externos.

La forma para salir del paso de este atolladero es la siguiente:

Primero necesitas al menos tener la ISO de la versión de RedHat que tengas instalada. Por ejemplo: rhel server 6.4.

Montar la ISO en Linux es muy sencillo (una de las primeras cosas que aprendí) con el siguiente comando: [highlight]#mount -o loop ruta_de_la_ISO /mnt/[/highlight] (u otra carpeta para montar, como puede ser /media)

Ahora podemos ver el contenido del archivo como si de un DVD se tratase.

Tecleamos:

[highlight]# cp /mnt/media.repo /etc/yum.repos.d/rhel6dvd.repo[/highlight] para copiar el archivo de repositorios del DVD a la carpeta local con el nombre rhel6dvd (le puedes poner el nombre que quieras).

[highlight]# chmod 644 /etc/yum.repos.d/rhel6dvd.repo[/highlight] (le damos permisos al archivo para modificarlo).
[highlight]# mv /etc/yum.repos.d/rhel-source.repo /etc/yum.repos.d/rhel-source.repo_bk[/highlight] (creamos una copia de seguridad del repositorio que teníamos anteriormente para que no moleste).

Editamos el archivo copiado anteriormente:

[highlight]# vi /etc/yum.repos.d/rhel6dvd.repo[/highlight] y añadimos las últimas 3 líneas, además de cambiar el parámetro gpgcheck de 0 a 1.

[highlight][InstallMedia]
name=DVD for Red Hat Enterprise Linux 6.4 Server
mediaid=1359576196.686790
metadata_expire=-1
gpgcheck=1
cost=500
enabled=1
baseurl=file:///mnt/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release[/highlight]

Ahora elimina la cache de yum y de subscription – manager.

[highlight]# yum clean all
# subscription-manager clean[/highlight]

Visualiza el listado de los repositorios locales.

[highlight]# yum –noplugins list[/highlight]

la opción –noplugin evita que yum vaya a mirar a los repositorios online.

Si todo a ido bien, ahora puedes actualizar.

[highlight]# yum –noplugins update[/highlight]

Y ya lo tienes. Ahora tienes la seguridad de que podrás instalar con Yum usando el repositorio local.

Categories
Trending News
Gallery
Banner
Banner Image Caption
Follow Us
Newsletter
Al marcar esta casilla, confirma que ha leído y acepta nuestras condiciones de uso relativas al almacenamiento de los datos enviados a través de este formulario.

Comments

  • REDEDOPAR

    11 de septiembre de 2018 at 00:22

    Hola buenas tardes, estoy intentando instalar los paquetes y las librerías para RHEL_6.9 pero al registrar el servidor me genera error de proxy 407.

    Adjunto el error que me sale:

    [root@lnxbogtwfoarc5 /]# subscription-manager config –server.proxy_hostname=xxxxxxxx.xxxxx.com.co –server.proxy_port=8080 –server.proxy_user=xxxxxxx –server.proxy_password=xxxxxxxx

    [root@lnxbogtwfoarc5 /]# subscription-manager register –username rededopar –password xxxxxxx –auto-attach

    Registering to: subscription.rhsm.redhat.com:443/subscription
    Proxy connection failed: 407

    Entonces intento hacer la instalación de paquetes localmente desde la ISO que he montado como file system /mnt pero me sigue generando problemas al instalar, me dice que debo registrar en servidor…

    [root@lnxbogtwfoarc5 /]# df -h
    Filesystem Size Used Avail Use% Mounted on
    /var/rhel-6.9 3.7G 3.7G 0 100% /mnt

    [root@lnxbogtwfoarc5 /]# more /mnt/media.repo
    [InstallMedia]
    name=Red Hat Enterprise Linux 6.9
    mediaid=1489025761.767832
    metadata_expire=-1
    gpgcheck=0
    cost=500

    [root@lnxbogtwfoarc5 /]# cp /mnt/media.repo /etc/yum.repos.d/rhel6.repo
    [root@lnxbogtwfoarc5 /]# more /etc/yum.repos.d/rhel6.repo
    [InstallMedia]
    name=Red Hat Enterprise Linux 6.9
    mediaid=1489025761.767832
    metadata_expire=-1
    gpgcheck=1
    cost=500
    enabled=1
    baseurl=file:///mnt/
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

    [root@lnxbogtwfoarc5 /]# chmod 644 /etc/yum.repos.d/rhel6.repo
    [root@lnxbogtwfoarc5 /]# mv /etc/yum.repos.d/redhat.repo /etc/yum.repos.d/redhat.repo.bck

    [root@lnxbogtwfoarc5 /]# yum clean all
    Loaded plugins: product-id, search-disabled-repos, security, subscription-manager
    This system is not registered with an entitlement server. You can use subscription-manager to register.
    Cleaning repos: InstallMedia
    Cleaning up Everything

    [root@lnxbogtwfoarc5 /]# subscription-manager clean
    All local data removed

    [root@lnxbogtwfoarc5 /]# yum –noplugins list
    Loaded plugins: product-id, search-disabled-repos, security, subscription-manager
    This system is not registered with an entitlement server. You can use subscription-manager to register.

    [root@lnxbogtwfoarc5 /]# yum –noplugins update
    Loaded plugins: product-id, search-disabled-repos, security, subscription-manager
    This system is not registered with an entitlement server. You can use subscription-manager to register.

    Quiero saber si me pueden ayudar con un procedimiento paso a paso para poder instalar paquetes desde la ISO que tengo montada en /mnt sin que el sistema me pida que lo registre.

    Gracias. y quedo atento a sus comentarios.

    Reply

  • araque

    11 de septiembre de 2018 at 07:30

    Estás intentando acceder a través de un servidor Proxy que requiere autenticación. ¿Has leído mis instrucciones para instalar un repositorio local en tu máquina sin necesidad de acceder al servidor? Creo que está bien explicado. Pero si te atascas intentaré ayudarte.

    Reply

  • Pablo L

    17 de enero de 2019 at 19:17

    Excelente guía y recomendación, funciono todo perfectamente como lo indicas.

    Muchas gracias!

    Reply

  • JuanKa

    8 de febrero de 2019 at 23:32

    Luego de pasar por varios sitios buscando como hacer el repositorio local, ví la luz al final del camino cuando llegué a este blog. Todo funcionó muy bien, con excepción de los siguientes comandos:
    # yum –noplugins list
    # yum –noplugins update

    Estoy usando RedHat 7.6 y al usar el parámetro -noplugins se visualiza error indicando que no existe.

    Usé el siguiente comando y funcionó correctamente.
    yum search –noplugins yum-plugin

    Gracias por todo y sigue adelante con tus claras explicaciones.

    Reply

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

© 2020 GLEKK. ALL RIGHTS RESERVED.