Cached LinuxMint Updates

Da MontelLUG.

Ci siamo trovati di fronte al problema di effettuare gli aggiornamenti di un'aula informatica con 11 pc Linux Mint MATE 13 usando il software apt[1].

Per evitare di scaricare 11 volte tutti i pacchetti aggiornati da Internet, abbiamo adottato questo sistema per far si che solo un pc scarichi i file da Internet e gli altri vadano a recuperarli attraverso la rete locale grazie ad un pc-server che in questo caso funge da Caching Proxy.

È ovvio che questo sistema si estende automaticamente per qualsiasi pacchetto che venga scaricato, non necessariamente solo gli aggiornamenti.

Come funziona (a grandi linee)

Quando un client vuole scaricare un pacchetto, sia esso aggiornamento o meno, invece di scaricarlo direttamente da Internet, interroga il server. Il server, se possiede già quel pacchetto lo invia al client attravero la rete locale, altrimenti provvede a scaricarlo da Internet e a salvarselo nel suo disco fisso. Una volta scaricato (in realtà contemporaneamente) lo invia al client che ne ha fatto richiesta. Successivamente, se qualcun altro richie lo stesso pacchetto, il file è già presente sul server e viene scambiato attraverso la rete LAN, senza la necessita di doverlo riscaricare.

Configurazione

Server

  • installare il pacchetto apt-cacher-ng
  • editare il file (se non esiste, crearlo) /etc/apt/apt.conf.d/30autoproxy inserendo la seguente stringa:
* Acquire::http { Proxy "http://localhost:3142"; };

Client

  • editare il file di ogni client (se non esiste, crearlo) /etc/apt/apt.conf.d/30autoproxy inserendo la seguente stringa:
* Acquire::http { Proxy "http://serverip:3142"; };

Commenti

  • è possibilie che nelle precedenti versioni di apt, il file da configurare sia /etc/apt/apt.conf

Pro

  • una volta che almeno un pc (non necessariamente il server) ha scaricato il/i pacchetto/i, su rete da 100Mb si vedono gli aggiornamenti sugli altri pc filare sull'ordine dei MB/s

Contro

  • se il pc-server è spento non va una cippa, nemmeno quindi l'install di un singolo pacchetto per un unico pc.

Alternative

  • su Ubuntu[2], installando i pacchetti squid-deb-proxy squid-deb-proxy-client avahi-tools su tutti i pc, si riesce a distribuire il carico eliminando il punto "contro" del sistema sopra descritto. Nel senso che ogni pc fa sia da server che da client, quindi quando un pc deve scaricare un pacchetto, prima provvede ad consultare tutti gli altri pc della rete locale, se nessuno ha il pacchetto, allora scarica. Da quello che ho letto[3] però, apparentemente funziona solo con i repo *.archives.ubuntu.com. Personalmente devo ancora testarlo.

Fonti