Home » Tecnología » Crea un repositorio local en RedHat

Crea un repositorio local en RedHat

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:

#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)

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: #rpm -i –nodeps nombre_del_paquete.rpm. 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: #mount -o loop ruta_de_la_ISO /mnt/ (u otra carpeta para montar, como puede ser /media)

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

Tecleamos:

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

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

Editamos el archivo copiado anteriormente:

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

[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

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

# yum clean all
# subscription-manager clean

Visualiza el listado de los repositorios locales.

# yum –noplugins list

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

Si todo a ido bien, ahora puedes actualizar.

# yum –noplugins update

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

Sobre araque

Disfruto con las mismas cosas que tú; un buen plato, una buena película y una buena compañía. Además de todo esto, me gusta mucho la fotografía, la lectura y la cerveza y no precisamente por ese orden.

2 comentarios

  1. 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.

  2. 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.

Comentar

Su dirección de correo electrónico no será publicada.Los campos necesarios están marcados *

*

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

Translate »

Pin It on Pinterest

Share This