Como criar um mirror local da última atualização para Red Hat Enterprise Linux 5, 6, 7 sem usar o servidor Satellite?
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 quecreaterepo-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 arquivoupdateinfo.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.
Comments