Ecco un sistema veramente semplice quanto efficace e funzionale per condividere i pacchetti scaricati e disponibili su un pc Archlinux ( che funzionerà da server ) con le altre macchine presenti nella vostra lan.
Lato server:
Installiamo webfs, un semplice demone http che utilizzeremo per creare il nostro piccolo mirror locale:
# pacman -S webfs
editiamo il file di configurazione "/etc/conf.d/webfsd", andando a sostituire questa riga:
WEBFSD_ARGS="-p 8080 -u nobody -R /var/www/htdocs -f index.html"
con quest'altra:
WEBFSD_ARGS="-p 8080 -u nobody -R /var/cache/pacman/pkg"
in questo modo webfs utilizzerà come "document root" la directory predefinita dove pacman salva i pacchetti tar.xz.
Avviamo webfs:
# /etc/rc.d/webfsd start
ed andiamo ad aggiungere "webfsd" alla lista "DAEMONS" in /etc/rc.conf per fare in modo che il servizio venga avviato automaticamente al boot.
Controlliamo che tutto funzioni a dovere digitando nel nostro browser preferito "http://localhost:8080". In caso positivo verrà visualizzato l'elenco completo dei pacchetti presenti nella cache di pacman. Non ci resta che configurare i client.
Lato client:
La configurazione sui pc client sta tutta nell'aggiungere questa riga in /etc/pacman.d/mirrorlist:
Server = http://[ip-del-server]:8080
E' fondamentale che questa riga preceda ogni altra definizione di "Server" all'interno del file!
Così facendo ogni qualvolta utilizzerete pacman per aggiornare o installare dei nuovi pacchetti, questi verranno prelevati (ovviamente se presenti ) dal vostro server locale.
Dal momento che il nostro server condivide solo i pacchetti ma non il database dei pacchetti stessi, verranno generati degli errori di questo tipo, utilizzando pacman con l'opzione "-Sy":
errore: impossibile scaricare il pacchetto 'core.db' da linuxbox : Not Found
Questi errori possono essere tranquillamente ignorati e al tempo stesso non c'è nessun modo per evitare che si presentino, con questa configurazione :-)
Accertatevi solo di aver dei server esterni funzionanti nel vostro mirrorlist e godetevi i benefici in termini di velocità e di risparmio di banda!!
Aggiornamento del 28/08/12
Ad oggi purtroppo webfs non è ancora compatibile con systemd: se cercate un servizio alternativo funzionante con il nuovo init di Lennart Poettering, potete puntare su thttp; installiamolo (da AUR) con:
$ yaourt -S thttpd
editiamo il file di configurazione /etc/thttpd.conf in questo modo:
dir=/var/cache/pacman/pkg
chroot
user=http
port=8080
charset=utf-8
per avviare immediatamente il servizio:
# systemctl start thttpd.service
per abilitare l'avvio automatico al boot:
# systemctl enable thttpd.service
La configurazione lato client resta invariata, cioè esattamente identica a quella illustrata relativamente a webfs