Ricerca nel sito web

Come impostare un repository di rete per installare o aggiornare i pacchetti - Parte 11


Installare, aggiornare e rimuovere (quando necessario) i programmi installati sono responsabilità fondamentali 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 del LFCE (Linux Foundation Certified Engineer ) serie. Puoi anche scaricare file .deb o .rpm autonomi e installarli rispettivamente con dpkg o rpm.

Presentazione del programma di certificazione Linux Foundation

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 sicurezza dei pacchetti compilati localmente dal 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.

È proprio qui che 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 repository di rete su CentOS 7

Come primo passo, ci occuperemo dell'installazione e della configurazione di un box CentOS 7 come server repository [indirizzo IP 192.168.0.17] e di un CentOS macchina 6.6 come client. La configurazione di openSUSE è quasi identica.

Per CentOS 7, seguire gli articoli seguenti che spiegano le istruzioni passo passo sull'installazione di CentOS 7 e su come impostare un indirizzo IP statico.

  1. Installazione di CentOS 7.0 con screenshot
  2. Come configurare l'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 impostare il proprio repository privato.

  1. Configura i repository locali con "apt-mirror" in Ubuntu

La nostra prima scelta sarà il modo in cui i client accederanno al server del repository: FTP e HTTP sono i più utilizzati. Sceglieremo quest'ultimo poiché l'installazione di Apache è stata trattata nella Parte 1 – Installazione di Apache di questa serie LFCE. Ciò ci consentirà anche di visualizzare l'elenco dei pacchetti utilizzando un browser web.

Successivamente, dobbiamo creare le directory in cui archiviare i pacchetti .rpm. Creeremo di conseguenza delle sottodirectory all'interno di /var/www/html/repos. Per nostra comodità, potremmo anche voler creare altre sottodirectory per ospitare pacchetti per diverse versioni di ciascuna distribuzione (ovviamente possiamo ancora aggiungere tutte le directory necessarie in seguito) e persino architetture diverse.

Configurazione del repository

Una cosa importante da tenere in considerazione quando configuri il tuo repository è che avrai bisogno di 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 ulteriore dispositivo di archiviazione dedicato per ospitare il repository.

Detto questo, inizieremo creando le directory che ci serviranno per ospitare il repository:

mkdir -p /var/www/html/repos/centos/6/6

Dopo aver creato la struttura delle 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 utilizzando createrepo.

Installa createrepo se non l'hai già fatto:

yum update && yum install createrepo

Quindi inizializzare il database,

createrepo /var/www/html/repos/centos/6/6

Aggiornamento del repository

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 un DVD di installazione di CentOS 6.6.

In questo tutorial assumeremo il primo caso. Per ottimizzare la velocità di download, sceglieremo un mirror CentOS 6.6 da una posizione vicino a noi. Vai al mirror di download di CentOS e scegli quello più vicino alla tua posizione (Argentina nel mio caso):

Quindi, vai alla directory os all'interno del collegamento evidenziato e scegli l'architettura appropriata. Una volta lì, copia il collegamento nella barra degli indirizzi e scarica i contenuti 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 scelto risultasse offline per qualche motivo, torna indietro e scegline uno diverso. Niente di grave.

Adesso è 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 navigare nella directory repos/centos/6/6 in modo da verificare di poter vedere il contenuto:

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