Alcuni di voi potrebbero condividere il seguente caso d'uso:è necessario (o desiderare) eseguire il mirroring dei repository per fornire pacchetti per gli host sulla LAN che non sono connessi a Internet e quindi non possono accedere direttamente ai repository a monte. In questo articolo, spiego come eseguire facilmente questa attività utilizzando reposync
, fornito con l'abbonamento a Red Hat Enterprise Linux (RHEL) 7 o Red Hat Enterprise Linux 8.
Prima di iniziare, vorrei sottolineare i requisiti importanti. Hai bisogno di un abbonamento valido per ogni repository di cui desideri eseguire il mirroring perché il tuo server mirror può sincronizzare solo quei repository inclusi nel proprio abbonamento. Anche tutti gli altri tuoi host che utilizzeranno questo mirror devono avere un abbonamento valido.
In caso di domande sugli abbonamenti, dai un'occhiata ai seguenti URL:le domande frequenti sul modello di abbonamento Red Hat e la panoramica del servizio di abbonamento Red Hat.
Configurazione di repository con mirroring per Red Hat Enterprise Linux 7
Per iniziare, dovrai scegliere il server web che servirà i repository con mirroring sulla tua LAN. Quindi, se stai utilizzando Red Hat Enterprise Linux 7, per creare un repository di base devi iniziare installando createrepo
. Non preoccuparti, anche questo strumento è incluso nel tuo abbonamento. Installalo sul tuo server web con quanto segue:
# yum install yum-utils createrepo
Successivamente, è necessario l'ID del repository per il repository che si desidera sincronizzare. Esegui yum repolist
e troverai l'ID repository nella prima colonna dell'output:
$ yum repolist
Loaded plugins: langpacks, nvidia, product-id, search-disabled-repos, subscription-
: manager
repo id repo name status
rhel-7-server-optional-rpms/7Server/x86_64 Red Hat Enterprise Linux 7 Server - O 19.490
rhel-7-server-rpms/7Server/x86_64 Red Hat Enterprise Linux 7 Server (RP 26.766
virtualbox/7Server/x86_64 Oracle Linux / RHEL / CentOS-7Server 77
In questo caso, rhel-7-server-rpms
è l'ID del repository standard di Red Hat Enterprise Linux 7. Puoi ottenere un elenco completo dei repository a cui ha accesso il tuo abbonamento con il comando:
$ sudo subscription-manager repos --list
Troverai anche l'ID del repository.
Ad esempio, per sincronizzare i pacchetti da rhel-7-server-rpms
repo e creare un repository locale di base, eseguire i seguenti comandi:
# reposync --gpgcheck -l --repoid=rhel-7-server-rpms --download_path=/var/www/html # Sync RPMS
# cd /var/www/html/rhel-7-server-rpms
# createrepo -v /var/www/html/rhel-7-server-rpms # Create the repo
Configurazione di repository con mirroring per Red Hat Enterprise Linux 8
Per Red Hat Enterprise Linux 8, questo processo è ancora più semplice. Hai solo bisogno del reposync
comando:
# reposync -p <download-path> --download-metadata --repo=<repo id>
Il createrepo
il comando non è più necessario perché reposync
scarica tutto, inclusi i repodata
.
Condivisione del repository locale
Una volta che i pacchetti sono stati recuperati e il repository locale è stato creato utilizzando uno di questi metodi, il repository locale può essere distribuito tra i sistemi offline/disconnessi utilizzando un semplice server Web, FTP o NFS. I seguenti articoli della knowledge base forniscono le informazioni necessarie sulla tua scelta di distribuzione:
- Apache (HTTP)
- Apache (HTTPS)
- FTP
- Condivisione NFS
Per una configurazione più sofisticata rispetto a quella descritta in questo articolo, considera l'utilizzo di Red Hat Satellite.
[ Vuoi provare Red Hat Enterprise Linux? Scaricalo ora gratuitamente. ]