GNU/Linux >> Tutoriales Linux >  >> Linux

Creación de un repositorio de paquetes de Redhat

Si su servidor Red Hat no está conectado a los repositorios oficiales de RHN, deberá configurar su propio repositorio privado que luego podrá usar para instalar paquetes. El procedimiento para crear un repositorio de Red Hat Linux es una tarea bastante simple. En este artículo, le mostraremos cómo crear un repositorio de archivos local de Red Hat, así como un repositorio HTTP remoto.

En este tutorial aprenderás:

  • Cómo usar el DVD oficial de Red Hat como repositorio
  • Cómo crear un archivo local en el repositorio de Red Hat
  • Cómo crear un repositorio HTTP Red Hat remoto

Usando un repositorio de Red Hat personalizado, en este caso desde un DVD de Red Hat

Uso del DVD oficial de Red Hat como repositorio

Después de la instalación predeterminada y sin registrar su servidor en los repositorios oficiales de RHN, no tiene ninguna posibilidad de instalar nuevos paquetes desde el repositorio de Red Hat, ya que su lista de repositorios mostrará 0 entradas:

# dnf repolist
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
repolist: 0

En este punto, lo más fácil es adjuntar su DVD de instalación de Red Hat como un repositorio local. Para hacer eso, primero asegúrese de que su DVD RHEL esté montado:

# mount | grep iso9660
/dev/sr0 on /media/RHEL_6.4 x86_64 Disc 1 type iso9660 (ro,nosuid,nodev,uhelper=udisks,uid=500,gid=500,iocharset=utf8,mode=0400,dmode=0500)

El directorio que más nos interesa en este momento es /media/RHEL_6.4 x86_64 Disc 1/repodata ya que este es el directorio que contiene información sobre todos los paquetes que se encuentran en este disco DVD en particular.

A continuación, debemos definir nuestro nuevo repositorio apuntando a /media/RHEL_6.4 x86_64 Disc 1/ creando una entrada de repositorio en /etc/yum.repos.d/ . Cree un nuevo archivo llamado:/etc/yum.repos.d/RHEL_6.4_Disc.repo usando el editor vi e inserte el siguiente texto:

[RHEL_6.4_Disc]
name=RHEL_6.4_x86_64_Disc
baseurl="file:///media/RHEL_6.4 x86_64 Disc 1/"
gpgcheck=0

Una vez que se creó el archivo, su repositorio local de DVD de Red Hat debería estar listo para usar:

# dnf repolist
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
repo id                                                     repo name                                                           status
RHEL_6.4_Disc                                               RHEL_6.4_x86_64_Disc                                                3,648
repolist: 3,648

Creación de un archivo local en el repositorio de Red Hat

Normalmente, tener un repositorio de DVD de Red Hat será suficiente para comenzar; sin embargo, la única desventaja es que no puede modificar su repositorio de ninguna manera y, por lo tanto, no puede insertar paquetes nuevos/actualizados en él. Para resolver este problema, podemos crear un repositorio de archivos local ubicado en algún lugar del sistema de archivos. Para ayudarnos con este plan, usaremos un createrepo utilidad.

  1. Empieza instalando el createrepo en su sistema si aún no está instalado.
    # dnf install createrepo
    
  2. En esta etapa, estamos listos para crear nuestro propio repositorio de archivos local de Red Hat. Cree un nuevo directorio llamado /rhel_repo :
    # mkdir /rhel_repo
    
  3. A continuación, copie todos los paquetes de su DVD de RHEL montado en su nuevo directorio:
    # cp /media/RHEL_6.4\ x86_64\ Disc\ 1/Packages/* /rhel_repo/
    
  4. Cuando finalice la copia, ejecute el comando createrepo con un único argumento que es el nombre del directorio de su nuevo repositorio local:
    # createrepo /rhel_repo/
    Spawning worker 0 with 3648 pkgs
    Workers Finished
    Gathering worker results
    
    Saving Primary metadata
    Saving file lists metadata
    Saving other metadata
    Generating sqlite DBs
    Sqlite DBs complete
    
  5. Como último paso, crearemos una nueva entrada en el repositorio de yum editando este archivo:
    # vi /etc/yum.repos.d/rhel_repo.repo
    

    E insertando este texto:

    [rhel_repo]
    name=RHEL_6.4_x86_64_Local
    baseurl="file:///rhel_repo/"
    gpgcheck=0
    
  6. Ahora debería poder acceder a su nuevo repositorio:
    # dnf repolist
    Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    rhel_repo                                                                                                      | 2.9 kB     00:00 ... 
    rhel_repo/primary_db                                                                                           | 367 kB     00:00 ... 
    repo id                                                     repo name                                                           status
    RHEL_6.4_Disc                                               RHEL_6.4_x86_64_Disc                                                3,648
    rhel_repo                                                   RHEL_6.4_x86_64_Local                                                 3,648
    

Creación de un repositorio HTTP Red Hat remoto

Si tiene varios servidores de Red Hat, es posible que desee crear un único repositorio de Red Hat al que puedan acceder todos los demás servidores de la red. Para esto necesitarás un servidor web Apache. Si necesita ayuda para configurar Apache, consulte nuestra guía sobre cómo instalar Apache en RHEL.

Para que su nuevo repositorio sea accesible a través de http, configure su Apache con /rhel_repo/ directorio creado en la sección anterior como directorio raíz del documento o simplemente copie el directorio completo a:/var/www/html/ (raíz del documento predeterminado).

  1. Primero, cree una nueva entrada de repositorio de yum en su sistema cliente creando un nuevo archivo de configuración de repositorio:
    # vi /etc/yum.repos.d/rhel_http_repo.repo
    

    con el siguiente contenido, donde el host es una dirección IP o nombre de host de su servidor de repositorio de Red Hat:

    [rhel_repo_http]
    name=RHEL_6.4_x86_64_HTTP
    baseurl="http://myhost/rhel_repo/"
    gpgcheck=0
    
  2. Confirme la exactitud de su nuevo repositorio ejecutando dnf repolist comando.
    # dnf repolist
    Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
    repo id                                                      repo name                                                          status
    rhel_repo_http                                               RHEL_6.4_x86_64_HTTP                                               3,648
    repolist: 3,648
    

Pensamientos finales

La creación de su propio repositorio de paquetes le brinda más opciones sobre cómo administrar los paquetes en su sistema Red Hat, incluso sin una suscripción paga de RHN. Cuando utilice un repositorio HTTP remoto de Red Hat, es posible que también desee configurar GPGCHECK como parte de su repositorio para asegurarse de que no se haya manipulado ningún paquete antes de su instalación.


Linux
  1. Configure el repositorio de paquetes Redhat de la red local con vsftpd

  2. Instalar repositorios EPEL e IUS en CentOS y Red Hat

  3. Cómo excluir un repositorio específico para la actualización de Yum en CentOS/Red Hat

  4. Gestión avanzada de paquetes en Kali Linux

  5. ¿Reprepro puede aceptar una nueva versión de un paquete en el repositorio?

Habilite los repositorios de administración de suscripciones en Redhat 8 Linux

Cómo agregar un repositorio a Debian

Cómo agregar un repositorio a Debian

Agregar un repositorio EPEL 8 a Red Hat Satellite 6

Ejemplos de comandos de 12 RPM (Administrador de paquetes de Red Hat)

Cómo habilitar el repositorio Remi en Fedora/Red Hat para instalar la pila LAMP

    Requisitos de software y convenciones de línea de comandos de Linux
    Categoría Requisitos, convenciones o versión de software utilizada
    Sistema Sombrero rojo
    Software createrepo
    Otro Acceso privilegiado a su sistema Linux como root o a través de sudo comando.
    Convenciones # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo comando
    $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios