GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo crear un repositorio local de Red Hat

Hay muchas razones por las que puede querer un repositorio local de Red Hat Enterprise Linux. El ancho de banda es un factor importante, ya que la descarga de actualizaciones de Internet puede consumir mucho tiempo y ancho de banda. Otra razón puede ser que sus servidores no estén conectados a Internet y, por lo tanto, necesiten obtener sus actualizaciones de una fuente local. Es posible que tenga un entorno de desarrollo en el que preferiría no gastar dinero en licencias pero que aún necesita actualizar. Cualquiera que sea el motivo, este tutorial lo guiará a través del proceso de configuración de su repositorio local.

Nota:El servidor que sirve como repositorio solo debe servir como repositorio.

Instalar los paquetes necesarios para los repositorios

yum install yum-utils createrepo httpd

Crea los directorios para tus repositorios

mkdir /var/www/html/rhel6
mkdir /var/www/html/rhel6/server
mkdir /var/www/html/rhel6/dts
mkdir /var/www/html/rhel6/dts2
mkdir /var/www/html/rhel6/rhsc

Comandos útiles

Enumere los repositorios en su servidor, tanto habilitados como deshabilitados.

yum repolist all

Enumere los repositorios disponibles en su suscripción

subscription-manager repos --list

Habilite un repositorio en su sistema

subscription-manager repos --enable=rhel-6-server-optional-rpms

Deshabilite un repositorio en su sistema

subscription-manager repos --disble=rhel-6-server-optional-rpms

Queremos tener los repositorios server, dts y rhsc (colecciones de software) habilitados en el repositorio

Repos de sincronización

Una vez que se hayan habilitado todos estos repositorios, ejecute el siguiente comando para todos ellos, cambiando la ruta de descarga de cada uno para que coincida con la ruta de descarga de ese repositorio.

reposync --gpgcheck -l --repoid=repoid --download_path=/var/www/html/rhel6/repo_name --downloadcomps --download-metadata

Nota:El repositorio del servidor tardará más. Como toda la noche. Los otros deberían ser mucho más cortos.

Createrepo Command

Una vez que se han descargado los paquetes, todo lo que se necesita es el siguiente comando createrepo para cada repositorio

createrepo -v /var/www/html/rhel6/repo_name/ -g comps.xml

Nota:El -g comps.xml solo es necesario para el repositorio del servidor.

Configuración de servidores cliente

Ahora tiene un repositorio local pero necesita hacer algunos cambios en sus servidores Red Hat que usarán estos repositorios para las actualizaciones.

Primero, asegúrese de que todos los demás repositorios tengan el indicador habilitado establecido en 0 (cero) dentro del archivo de repositorio en /etc/yum.repos.d. No eliminaría los repositorios por ahora porque es posible que los necesite más adelante. Simplemente cambiar la bandera habilitada es suficiente.

Ahora necesita crear un archivo .repo que se agregará al directorio /etc/yum.repos.d en cada servidor que use los repositorios. Ese archivo debe ser similar al siguiente archivo.

vi /etc/yum.repos.d/name_of_repo_file.repo
[server]
name = rhel-6-server-rpms
baseurl = http://hostname_or_ip_address_of_repository/rhel6/server
gpgcheck = 0
enabled = 1

[dts]
name = rhel-server-dts-6-rpms
baseurl = http://hostname_or_ip_address_of_repository/rhel6/dts
gpgcheck = 0
enabled = 1

[dts2]
name = rhel-server-dts2-6-rpms
baseurl = http://hostname_or_ip_address_of_repository/rhel6/dts2
gpgcheck = 0
enabled = 1

[rhsc]
name = rhel-server-dts2-6-rpms
baseurl = http://hostname_or_ip_address_of_repository/rhel6/dts2
gpgcheck = 0
enabled = 1

Crear script y cron job para actualizar tus repositorios

Cree un script llamado update-repository.sh y colóquelo en /usr/local/bin con el siguiente contenido:

vi /usr/local/bin/update-repository.sh
echo Update script started at $(date) >> /var/log/update-repository.log
reposync --gpgcheck -l --repoid=rhel-6-server-rpms --download_path=/var/www/html/rhel6/server --downloadcomps --download-metadata
createrepo --update /var/www/html/rhel6/server/
reposync --gpgcheck -l --repoid=rhel-server-dts-6-rpms --download_path=/var/www/html/rhel6/dts --downloadcomps --download-metadata
createrepo --update /var/www/html/rhel6/dts/ \\
reposync --gpgcheck -l --repoid=rhel-server-dts2-6-rpms --download_path=/var/www/html/rhel6/dts2 --downloadcomps --download-metadata
createrepo --update /var/www/html/rhel6/dts2/
echo Update script ended at $(date) >> /var/log/update-repository.log
chmod 600 /usr/local/bin/update-repository.sh

Tenga en cuenta que lo he colocado en un registro que configuré para rotar mensualmente.

Cree un archivo en /etc/cron.d y asígnele el nombre update-repository con el siguiente contenido.

vi /etc/cron.d/update-repository
@weekly root /usr/local/bin/update-repository.sh

Pensamientos finales

Hay muchas formas diferentes de lograr la creación de un repositorio local y ciertamente no inventé la rueda en este caso. Consulte mis fuentes a continuación para obtener más información y conocimientos sobre su configuración.

Fuentes

  • https://access.redhat.com/solutions/23016
  • http://www.oracle.com/technetwork/articles/servers-storage-admin/yum-repo-setup-1659167.html
  • https://www.howtoforge.com/creating_a_local_yum_repository_centos

Linux
  1. Cómo crear un repositorio YUM local en CentOS 7 / RHEL 7 usando DVD

  2. Cómo habilitar la suscripción de Red Hat en RHEL 8

  3. Cómo crear un repositorio YUM local en RHEL 8 usando DVD

  4. Cómo duplicar un repositorio en Linux

  5. ¿Cómo obtener Red Hat Enterprise Linux gratis?

Cómo habilitar el repositorio EPEL en RHEL 7 sin una suscripción actual a Red Hat

Cómo crear un repositorio rpm personalizado en Linux

Cómo crear un servidor de repositorio de Ubuntu

Cómo crear su propio repositorio para paquetes en Debian

Agregar un repositorio EPEL 8 a Red Hat Satellite 6

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