L’installazione, l’aggiornamento e la rimozione (quando necessario) dei programmi installati sono responsabilità chiave nella vita quotidiana di un amministratore di sistema. Quando una macchina è connessa a Internet, queste attività possono essere facilmente eseguite utilizzando un sistema di gestione dei pacchetti come aptitude (o apt-get), yum o zypper, a seconda della distribuzione scelta, come spiegato nella Parte 9 – Gestione dei Pacchetti Linux della serie LFCE (Linux Foundation Certified Engineer). È inoltre possibile scaricare file .deb o .rpm autonomi e installarli con dpkg o rpm, rispettivamente.

Presentazione del Programma di Certificazione della Linux Foundation
Tuttavia, quando una macchina non ha accesso al web, sono necessari altri metodi. Perché qualcuno vorrebbe farlo? Le ragioni vanno dal risparmio di larghezza di banda Internet (evitando così diverse connessioni simultanee all’esterno) alla sicurezza dei pacchetti compilati localmente da sorgente, inclusa la possibilità di fornire pacchetti che per motivi legali (ad esempio, software limitato in alcuni paesi) non possono essere inclusi nei repository ufficiali.
Ecco esattamente dove entrano in gioco i repository di rete, che è l’argomento centrale di questo articolo.
Il Nostro Ambiente di Test
Network Repository Server: CentOS 7 [enp0s3: 192.168.0.17] - dev1 Client Machine: CentOS 6.6 [eth0: 192.168.0.18] - dev2
Configurazione di un Server di Repository di Rete su CentOS 7
Come primo passo, gestiremo l’installazione e la configurazione di un server repository CentOS 7 [indirizzo IP 192.168.0.17] e di una macchina CentOS 6.6 come client. La configurazione per openSUSE è quasi identica.
Per CentOS 7, seguire gli articoli seguenti che spiegano passo dopo passo l’installazione di CentOS 7 e come configurare un indirizzo IP statico.
- Installazione di CentOS 7.0 con screenshot
- Come configurare un indirizzo IP statico di rete su CentOS 7
Per quanto riguarda Ubuntu, c’è un ottimo articolo su questo sito che spiega, passo dopo passo, come configurare il proprio repository privato.
La nostra prima scelta sarà il modo in cui i client accederanno al server repository – FTP e HTTP sono i più utilizzati. Sceglieremo quest’ultimo in quanto l’installazione di Apache è stata trattata nella Parte 1 – Installazione di Apache di questa serie LFCE. Questo ci permetterà anche di visualizzare l’elenco dei pacchetti utilizzando un browser web.
Successivamente, dobbiamo creare delle directory per memorizzare i pacchetti .rpm. Creeremo sottodirectory all’interno di /var/www/html/repos di conseguenza. Per comodità, potremmo anche voler creare altre sottodirectory per ospitare pacchetti per diverse versioni di ogni distribuzione (naturalmente possiamo ancora aggiungere quante directory necessarie in seguito) e persino architetture diverse.
Configurazione del Repository
Una cosa importante da considerare quando si configura il proprio repository è che sarà necessaria una quantità considerevole di spazio su disco disponibile (~20 GB). Se non lo hai, ridimensiona il filesystem dove stai pianificando di memorizzare i contenuti del repository, o ancora meglio aggiungi un dispositivo di archiviazione dedicato in più per ospitare il repository.
Detto ciò, inizieremo creando le directory di cui avremo bisogno per ospitare il repository:
# mkdir -p /var/www/html/repos/centos/6/6
Dopo aver creato la struttura delle directory per il nostro server di repository, inizieremo l’inizializzazione in /var/www/html/repos/centos/6/6 del database che tiene traccia dei pacchetti e delle relative dipendenze utilizzando createrepo.
Installa createrepo se non lo hai già fatto:
# yum update && yum install createrepo
Quindi inizializza il database,
# createrepo /var/www/html/repos/centos/6/6

Aggiornamento del Repository
Assumendo che il server di repository abbia accesso a Internet, importeremo un repository online per ottenere gli ultimi aggiornamenti dei pacchetti. Se non è il caso, puoi comunque copiare l’intero contenuto della directory Packages da un DVD di installazione di CentOS 6.6.
In questo tutorial supporremo il primo caso. Per ottimizzare la velocità di download, sceglieremo un mirror di CentOS 6.6 da una posizione vicina a noi. Vai al mirror di download di CentOS e scegli quello più vicino alla tua posizione (nel mio caso, in Argentina):

Successivamente, naviga nella cartella os nel link evidenziato e seleziona l’architettura appropriata. Una volta lì, copia il link dalla barra degli indirizzi e scarica i contenuti nella cartella dedicata nel server del repository:

# rsync -avz rsync://centos.ar.host-engine.com/6.6/os/x86_64/ /var/www/html/repos/centos/6/6/
Se il repository scelto risulta offline per qualche motivo, torna indietro e scegline un altro. Nessun problema.
È ora il momento di rilassarsi e magari guardare un episodio della tua serie TV preferita, poiché la creazione del mirror del repository online potrebbe richiedere del tempo.
Una volta completato il download, puoi verificare l’utilizzo dello spazio su disco con:
# du -sch /var/www/html/repos/centos/6/6/*

Infine, aggiorna il database del repository.
# createrepo --update /var/www/html/repos/centos/6/6
Potresti anche voler avviare il tuo browser web e navigare nella cartella repos/centos/6/6 per verificare che tu possa vedere i contenuti:

E sei pronto – è ora il momento di configurare il client.
Source:
https://www.tecmint.com/setup-yum-repository-in-centos-7/