Come configurare un repository di rete per installare o aggiornare pacchetti – Parte 11

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.

Linux Foundation Certified Engineer – Part 11
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.

  1. Installazione di CentOS 7.0 con screenshot
  2. 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.

  1. Configurare repository locali con ‘apt-mirror’ in Ubuntu

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
Createrepo Repository Initialization

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):

Select CentOS Download Mirror

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:

Download CentOS Mirror
# 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/*
Check CentOS Mirror Size

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:

Verify CentOS Packages

E sei pronto – è ora il momento di configurare il client.

Source:
https://www.tecmint.com/setup-yum-repository-in-centos-7/