Servidor Repositori Linux (Cache)
De Guifi.net - Wiki Català
Quan tens vàries màquines amb el mateix sistema operatiu compartint connexió a internet sota el mateix sostre, és absurd que cada cop que s'actualitzen hagin d'anar a internet a descarregar-se cadascuna pel seu costat els paquets.
Si ens sobra connexió a internet i tenim poques màquines això és absurd, a menys que ho vulguis per frikejar, però a la que comences a tenir un parc d'ordinadors interessant i a guifi.net a l'hora punta és com un embotellament a les rondes, veiem la necessitat.
Així que tenim dos eines interessants per a muntar un catxejador de paquets apt, apt-proxy i apt-cacher.
Comencem amb apt-proxy:
# apt-get install apt-proxy
llestos :) ara anem al seu fitxer de configuració a /etc/apt-proxy/apt-proxy.conf
i ens fixem que hi ha dos seccions, la [DEFAULT] i la [debian].
Per a què les nostres màquines facin servir aquest proxy configurarem al seu /etc/apt/sources.list
deb http://ipdelservidoraptproxy:9999/debian stable main non-free contrib
i comentarem les línies que van a buscar els paquets a internet (afegint # davant de cada linia).
L'altra opció és apt-cacher.
La diferència és que apt-cacher permet catxejar més d'un repositori, és a dir, totes les distribucions que utilitzen apt, en decriment les tracta de forma independent cadascun dels repositoris de varis països, és a dir, descarregarà els paquets dos vegades si una màquina va a alemanya a buscar els repositoris o a finlàndia.
A més apt-cacher té una interfície web que mostra les estadístiques dels paquets.
La seva instal·lació és tan simple com la d'apt-proxy:
# apt-get install apt-cacher
l'apt-cacher funciona amb python, però existeix un apt-cacher-ng basat en c i una mica més lleuger.
El fitxer de configuració està a /etc/apt-cacher/apt-cacher.conf i amb la configuració per defecte hauria d'estar funcionant sense problemes. Però es recomana modificar alguna d'aquestes línies:
admin_email=usuari@localhost generate_reports=1 expire_hours=24
El primer és per a que enviï els reports al teu mail del sistema, el segon per a què es descarregui els fitxers releases i packages i el tercer el temps que passa un paquet abans de buscar una nova versió del mateix (útil per aquells que utilitzin versions sid i testing del sistema).
Per veure si el apt-cacher està funcionant, en un navegador escriurem:
http://ipdelservidor/apt-cacher
veurem algunes estadístiques del servidor. Ara només faltarà configurar els clients per a què l'utilitzin.
Deixarem el nostre /etc/apt/sources.list més o menys que quedi així.
# Originals #deb http://ftp.de.debian.org/debian/ squeeze main contrib non-free #deb-src http://ftp.de.debian.org/debian/ squeeze main contrib non-free deb http://ipdelservidor/apt-cacher/ftp.de.debian.org/debian/ squeeze main contrib non-free deb-src http://ipdelservidor/apt-cacher/ftp.de.debian.org/debian/ squeeze main contrib non-free
Desarem el fitxer i farem un apt-get update.
Si anem al servidor i fem un ps aux al moment que fem el apt-get update veurem que hi ha processos del apt-cacher fent alguna cosa:
# ps aux |grep apt-cacher www-data 3168 0.0 0.6 14120 6492 ? S Feb19 0:00 /usr/bin/perl /usr/sbin/apt-cacher -R 3 -d -p /var/run/apt-cacher.pid www-data 6200 15.2 0.7 12960 7468 ? S 11:47 0:20 /usr/share/apt-cacher/apt-cacher.pl [libcurl] www-data 6209 0.2 0.8 12924 8428 ? S 11:47 0:00 /usr/share/apt-cacher/apt-cacher.pl [cgi] www-data 6210 0.0 0.6 12780 6516 ? S 11:47 0:00 /usr/share/apt-cacher/apt-cacher.pl [cgi] [ftp.de.debian.org/debian/dists/squeeze/main/binary-i386/Packages.bz2] root 6213 0.0 0.0 3108 744 pts/0 S+ 11:49 0:00 grep apt-cacher
Si en algun moment volem regenerar el apt-cacher abans de 24h i forçar a actualitzar els paquets podrem fer això:
# ./usr/share/apt-cacher/apt-cacher-report.pl
Aquesta comanda també és interessant executar-la quan es quedi algun paquet enganxat i no hi hagi forma de descarregar-lo.
Doncs vinga a còrrer!!! em quedo amb el apt-cacher.