Installare, aggiornare e rimuovere (quando necessario) i 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 attitudine (o apt-get), yum, o zypper, a seconda della distribuzione scelta, come spiegato in Parte 9 – Gestione dei pacchetti Linux del LFCE (Ingegnere certificato dalla Linux Foundation) serie. Puoi anche scaricare standalone .deb o .rpm file e installarli con dpkg o giri/min, rispettivamente.
Tuttavia, quando una macchina non ha accesso al World Wide Web, sono necessari altri metodi. Perché qualcuno dovrebbe volerlo fare? Le ragioni vanno dal risparmio di larghezza di banda Internet (evitando così diverse connessioni simultanee verso l'esterno) alla protezione dei pacchetti compilati dal sorgente localmente e inclusa la possibilità di fornire pacchetti che per motivi legali (ad esempio, software limitato in alcuni paesi) non possono essere inclusi nel programma ufficiale repository.
È proprio qui che entrano in gioco i repository di rete, che è l'argomento centrale di questo articolo.
Server repository di rete: CentOS 7 [enp0s3: 192.168.0.17] - dev1. Macchina cliente: CentOS 6.6 [eth0: 192.168.0.18] - dev2.
Come primo passo, ci occuperemo dell'installazione e della configurazione di a CentOS 7 box come server di repository [indirizzo IP 192.168.0.17] e a CentOS 6.6 macchina come cliente. La configurazione per openSUSE è quasi identica.
Per CentOS 7, segui gli articoli seguenti che spiegano le istruzioni dettagliate sull'installazione di CentOS 7 e su come configurare un indirizzo IP statico.
Per quanto riguarda Ubuntu, c'è un ottimo articolo su questo sito che spiega, passo dopo passo, come impostare il proprio repository privato.
La nostra prima scelta sarà il modo in cui i client accederanno al server del repository: FTP e HTTP sono i più usati. Sceglieremo quest'ultimo come Apache l'installazione è stata coperta in Parte 1 – Installazione di Apache di questa serie LFCE. Questo ci consentirà anche di visualizzare l'elenco dei pacchetti utilizzando un browser web.
Successivamente, abbiamo bisogno di creare directory per memorizzare il .rpm pacchi. Creeremo sottodirectory all'interno /var/www/html/repos di conseguenza. Per nostra comodità, potremmo anche voler creare altre sottodirectory per ospitare pacchetti per diverse versioni di ogni distribuzione (ovviamente possiamo ancora aggiungere tutte le directory necessarie in seguito) e anche diverse architetture.
Una cosa importante da tenere in considerazione quando si configura il proprio repository è che sarà necessaria una notevole quantità di spazio disponibile su disco (~20 GB). In caso contrario, ridimensiona il filesystem in cui prevedi di archiviare i contenuti del repository o, ancora meglio, aggiungi un dispositivo di archiviazione aggiuntivo dedicato per ospitare il repository.
Detto questo, 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 di directory per il nostro server repository, inizializzeremo in /var/www/html/repos/centos/6/6 il database che tiene traccia dei pacchetti e delle loro dipendenze corrispondenti usando createrepo.
Installare createrepo se non lo hai già fatto:
# yum update && yum install createrepo.
Quindi inizializzare il database,
# createrepo /var/www/html/repos/centos/6/6.
Supponendo che il server del repository abbia accesso a Internet, estrarremo un repository online per ottenere gli ultimi aggiornamenti dei pacchetti. In caso contrario, puoi comunque copiare l'intero contenuto della directory Packages da a CentOS 6.6 DVD di installazione.
In questo tutorial assumeremo il primo caso. Per ottimizzare la nostra velocità di download, sceglieremo a CentOS 6.6 specchio da un luogo vicino a noi. Vai a Specchio di download di CentOSe scegli quello più vicino alla tua posizione (l'Argentina nel mio caso):
Quindi, vai a os directory all'interno del collegamento evidenziato e quindi scegliere l'architettura appropriata. Una volta lì, copia il link nella barra degli indirizzi e scarica il contenuto nella directory 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/
Nel caso in cui il repository prescelto risultasse offline per qualche motivo, torna indietro e scegline uno diverso. Nessun grosso problema.
Ora è il momento in cui potresti voler rilassarti e magari guardare un episodio del tuo programma TV preferito, perché il mirroring del repository online potrebbe richiedere un po' di 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 accedere a repos/centos/6/6 directory in modo da verificare che tu possa vedere il contenuto:
E sei pronto per partire: ora è il momento di configurare il client.