Questo Sito, utilizza cookie; accedendo o cliccando su "Accetto", acconsenti a scaricare sul tuo browser, tutte le tipologie di cookie presenti in questo Sito.

Visita il nuovo sito

Il sito che stai visitando non viene aggiornato da Agosto 2016.

Clicca sul logo per visitare il nuovo sito del progetto LinuxMX.

Archivio News e Guide

 

Condividere pacchetti tra più pc

Durante la fase di installazione o aggiornamento di un pacchetto, esso viene salvato di default in una delle directory /var/lib/entropy/client/packages/{packages,packages-nonfree,packages-restricted} a seconda della tipologia di pacchetto in download.

Tale directory se non ripulita di tanto in tanto (# equo cleanup) può rappresentare un ottimo repository interno dei pacchetti.
Se si hanno più macchine Sabayon da mantenere è possibile condividere nella rete interna (LAN) questa directory sia in lettura che in scrittura tra i vari pc in modo che tutti i client possano accedere ad eventuali pacchetti già scaricati con un guadagno in termini di velocità di download molto rilevante. Tutto questo è possibile utilizzando il protocollo NFS .

Si dovrà decidere quale macchina farà da “storage” per questi pacchetti , quindi da server NFS. Supponendo che la nostra rete d'esempio sia composta da macchine miste (x86 e x86-64) , si configurerà il server solo per la condivisione dei pacchetti e non, per ovvi motivi , del database dei pacchetti installati in quanto ogni macchina potrebbe aver installato applicazioni diverse l'una dall'altra.

 

Configurazione

  • Server : su ip 192.168.0.10
  • Clients : 5 o più macchine con IP da 192.168.0.11 a 192.168.0.15 (o superiore)
  • Directory che ospiterà i pacchetti : /mnt/packages

(oppure se il server NFS è una macchina Sabayon si può sfruttare la directory di default /var/lib/entropy/client/packages)

La directory che ospiterà i pacchetti (nell'esempio /mnt/packages) potrebbe essere una partizzione dedicata con spazio a disposizione sufficiente.
Modificare gli indirizzi IP e percorsi secondo le proprie esigenze.


…::: Configurazione del server NFS :::...

Nota : A seconda della distribuzione in uso , per la configurazione di un server NFS fare riferimento alla documentazione fornita dalla distribuzione stessa.La seguente procedura fa riferimento ad un sistema Gentoo-based.
Una volta individuato quale macchina farà da server NFS , procediamo alla sua configurazione . Di default NFS è già installato e configurato a livello del kernel. Installare nfs-utils se non presente.

# equo i nfs-utils

Editare il file /etc/exports per configurare la cartella e le opzioni di mount

# nano -w /etc/exports

ed inserire

/mnt/packages 192.168.0.11/15(rw,no_root_squash,no_subtree_check)

La riga indica che la cartella /mnt/packages sarà condivisa con gli host con IP dal 192.168.0.11 all' IP 192.168.0.15 ed avranno i permessi di scrittura e lettura (rw) , si dà l'accesso alla cartella all'utente root del client ( no_root_squash ) . Salvare ed uscire dall'editor.


Avviare NFS

OpenRC

# /etc/init.d/nfs start
# rc-update add nfs default

Systemd

# systemctl start nfsd.service
# systemctl enable nfsd.service

Nota : Se si dovesse modificare per qualche motivo /etc/exports , riavviare il servizio nfs o nfsd.service
Ora la cartella è pronta per essere condivisa con i vari client di rete.

 

Configurazione dei client NFS

Montare al volo la cartella remota per ogni client

# mount -o rw,_netdev,nolock,auto  -t nfs 192.168.0.10:/mnt/packages /var/lib/entropy/client/packages 

Montare all'avvio la cartella remota per ogni client

Editare /etc/fstab ed inserire la seguente riga

192.168.0.10:/mnt/packages /var/lib/entropy/client/packages  nfs   rw,_netdev,nolock,auto 0 0

Per ogni client occorre avviare un servizio per permettere l'accesso al protocollo NFS.

OpenRC

# /etc/init.d/nfsmount start
# rc-update add nfsmount default

Systemd

# systemctl start rpc-mountd.service
# systemctl enable rpc-mountd.service

Ora per ogni client occorre modificare il file di configurazione del repository perché punti al download verso la cartella condivisa editando il file

/etc/entropy/repositories.__conf.d/entropy_<repository-id>

dove <repository-id> corrisponde al repository in uso (sabayonlinux.org oppure sabayon-weekly o altro) ed aggiungere alla fine del file la seguente riga :

pkg = file:///mnt/packages 

Salvare ed uscire dall'editor.

Ora /mnt/packages così come tutto il suo contenuto è condiviso su tutta la rete LAN per gli Host specificati.
Se ad esempio un Client richiede l'installazione di Libreoffice , esso verrà scaricato una sola volta dai mirror ufficiali e sarà condiviso in LAN con gli altri client. Se un qualsiasi Client nella rete dovesse richiedere lo stesso pacchetto , esso verrà scaricato direttamente dalla cartella del Server della LAN sfruttando la velocità maggiore di quest'ultima e risparmiando a sua volta banda di rete verso l'esterno ed un minor stress per i server ufficiali.
A lungo andare , la cartella condivisa dei pacchetti potrebbe aumentare di dimensione o alcuni pacchetti potrebbero diventare obsoleti nel tempo per cui non sarebbe più necessario mantenerli Si potrebbe procedere alla pulizia completa della cartella con :

# equo cleanup

oppure eliminare i file più vecchi di un determinato tempo schedulando un semplice comando bash . Comando che faremo eseguire solo al Pc adibito a Server NFS.


Esempio: Eliminare i file più vecchi di 120 giorni

# find /mnt/packages -name "*.*" -type f -mtime +120 -exec rm {} \;

Esempio: Rimozione dei pacchetti più vecchi di 60 giorni ogni 4 mesi alle ore 20:30

Editare il file /etc/crontab ed aggiungere :

30 20 * */4 * root  find /mnt/packages/ -name "*.*" -type f -mtime +60 -exec rm {} \;

Salvare ed uscire dall'editor.
Automaticamente ogni quattro (*/4) mesi alle ore 20:30 (30 20) verranno rimossi (-exec rm {} /; ) i pacchetti più vecchi di 60 giorni (-mtime +60).

Download Sabayon Linux 13.04

Unisciti al Forum
Sabayon

Nessun evento trovato



LinuxMX è un sito creato da Maestri Carlo.
Questo sito non rappresenta una testata giornalistica, in quanto viene aggiornato senza alcuna periodicità. Non può, pertanto, considerarsi un prodotto editoriale, ai sensi della legge n. 62 del 7/03/2001
Tutti i contenuti del sito sono disponibili con una Licenza Creative Commons CC-BY-NC-SA
Tutti i loghi e marchi registrati presenti in questo sito sono di proprietà dei rispettivi proprietari.