Warning message

This translation is outdated. For the most up-to-date information, please refer to the English version.

Como criar um mirror local da última atualização para Red Hat Enterprise Linux 5, 6, 7 sem usar o servidor Satellite?

Solution Verified - Updated -

Environment

  • Red Hat Enterprise Linux 7
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 5
  • Red Hat Network (RHN)
  • Red Hat Subscription Management (RHSM)
  • reposync

Issue

  • O que é a utilidade reposync e como utiliza-la?
  • Como criar um mirror local da última atualização para Red Hat Enterprise Linux 5, 6, 7 sem usar o servidor Satellite?
  • Preciso descarregar todos os pacotes / rpms de um canal específico de maneira local

Resolution

Red Hat fornece uma utilidade chamada reposync que pode ser usada para baixar os pacotes da RHN. Para baixar todos os pacotes de um canal específico, o sistema deve ser subscrevido nesse canal. Se o sistema não estiver subscrito no canal desejado, o reposync não poderá baixar e sincronizar esses pacotes no sistema local.

Nota: os passos abaixo sincronizarão um repositório de maneira local apenas uma vez, leia esta base de conhecimento por completo para obter detalhes sobre a configuração de um mirror que, com frequência, mostra os mais novos pacotes.

Exemplo: se um sistema Red Hat Enterprise Linux 6 estiver subscrito no rhel-6-server-rpms erhel-6-server-eus-rpms, então reposync pode sincronizar o conteúdo apenas a partir destes 2 canais. Se você tentar sincronizar conteúdos de rhel-6-server-optional-rpms ou qualquer outro canal ao qual o sistema não está subscrito, oreposync não funcionará.

Instale os pacotes necessários

  • Primeiro, instale os pacotes "yum-utils" e "createrepo" no sistema que está registrado:

    # yum install yum-utils createrepo
    

Crie um repositório local básico

NOTA: Por favor, mude o --repoid = <repo-id> de acordo com o repo id que o sistema está usando atualmente.

  • Sincronize todos os pacotes de um repositório específico para um diretório especifico

    # reposync --gpgcheck -l --repoid=repo-id
    for example:
    # reposync --gpgcheck -l --repoid=rhel-6-server-rpms --download_path=/var/www/html
    
  • No diretório de destino, haverá um novo diretório com o nome Repository ID. Dentro, estarão todos os pacotes.

    # cd /var/www/html/<repo-id>
    # createrepo -v /var/www/html/<repo-id>
    

Crie um repositório local que permita aos clientes instalar grupos e usar o plugin de segurança

Como baixar todos os metadados para o repositório que está sendo sincronizado, o que permitirá o uso de diferentes plugins como 'yum groupinstall'

  • No RHEL 6 e posteriores, reposync suporta as opções --download-metadata e --downloadcomps. Por exemplo:

    # reposync --gpgcheck -l --repoid=channel-id --downloadcomps --download-metadata
    for example:
    # reposync --gpgcheck -l --repoid=rhel-6-server-rpms --download_path=/var/www/html \
        --downloadcomps --download-metadata
    
  • Para ter acesso aos dados do grupo para o repo recentemente sincronizado, execute o comando createrepo da seguinte maneira:

    # cd /var/www/html/<channel-id>
    # createrepo -v  /var/www/html/<channel-id>/ -g comps.xml
    
  • Compartilhe este repositório local com os sistemas off-line para atualizar os sistemas off-line.

NOTA:

  • Os comandos acima sincronizam um ou vários repositórios atuais. Para manter a sincronização atual, por exemplo, cronjobs pode ser usado. O comando createrepo suporta--update para atualizar eficientemente os repositórios existentes. Por favor, note que createrepo-0.9.9-26.el6.archive que faz parte de RHEL6.9GA tem um problema relacionado a --update, consulte [bz1434369] (https://bugzilla.redhat.com /show_bug.cgi?id=1434369) para detalhes.
  • Os comandos acima criam uma cópia local do repositório. Isso geralmente é usado por outros clientes RHEL via LAN, por exemplo via HTTP / HTTPS (por exemplo, fornecido pelo servidor web apache que é parte de RHEL), via FTP (ou seja, vsftpd) ou NFS (pacote nfs-utils).
  • A utilidade reposync criará o mirror local para o canal ao qual o sistema está subscrito.
  • Para criar repositórios de segurança locais, o procedimento a ser seguido é diferente, já que os metadados para rpms de segurança diferem daquele para rpms regulares. createrepo não criará o arquivo updateinfo.xml. Visite [este link] (https://access.redhat.com/solutions/55654) para obter mais informações sobre como criar um repositório de segurança local. Observe que o servidor que atuará como um repositório de segurança local deve ser da mesma versão de RHEL que os clientes. (Exemplo: se a versão do cliente for RHEL6.6, o servidor também deve ser RHEL 6.6).
  • O acesso a vários repositórios da versão RHEL no sistema 'único' não é suportado e será considerado abuso de subscrição.

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.