Usare apt-cacher per creare una cache dei pacchetti usabile in una LAN: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 2: Riga 2:


==Introduzione==
==Introduzione==
Apt-cacher un programma che ha lo scopo di creare una cache di pacchetti deb su un server, per poi renderli disponibili a tutte le macchine presenti sulla LAN. In questo modo possibile limitare la banda utlizzata in uscita e velocizzare i tempi di installazione. <br>
Apt-cacher è un programma che ha lo scopo di creare una cache di pacchetti deb su un server, per poi renderli disponibili a tutte le macchine presenti sulla LAN. In questo modo è possibile limitare la banda utlizzata in uscita e velocizzare i tempi di installazione. <br>
A differenza di apt-proxy (http://apt-proxy.sourceforge.net/), apt-cacher ha una struttura completamente piatta, per cui i pacchetti dela cache sono conservati in una unica directory anche se provengono da repository diversi; questa soluzione ne rende l'utilizzo pi� semplice e immediato.
A differenza di apt-proxy (http://apt-proxy.sourceforge.net/), apt-cacher ha una struttura completamente piatta, per cui i pacchetti dela cache sono conservati in una unica directory anche se provengono da repository diversi; questa soluzione ne rende l'utilizzo più semplice e immediato.
                                
                                
==Installazione==
==Installazione==
Per installare apt-cache sufficiente digitare sul server che dovr� contenere la cache
Per installare apt-cache è sufficiente digitare sul server che dovrà contenere la cache
<pre>
<pre>
apt-get install apt-cacher
# apt-get install apt-cacher
</pre>
</pre>


==Configurazione==
==Configurazione==
Per configurare apt-cacher necessario <br>  
Per configurare apt-cacher è necessario <br>  
1) modificare il file  
1) modificare il file  
<pre>
<pre>
/etc/default/apt-cacher
/etc/default/apt-cacher
</pre>
</pre>
ponendo ad 1 il valore di AUTOSTART. In questo modo apt-cacher si avvier� automaticamente ad ogni sessione. Nel caso vogliate avviare/fermare apt-cacher manualmente baster� usare il comando
ponendo ad 1 il valore di AUTOSTART. In questo modo apt-cacher si avvierà automaticamente ad ogni sessione. Nel caso vogliate avviare/fermare apt-cacher manualmente basterà usare il comando
<pre>
<pre>
/etc/init.d/apt-cacher {start|stop|restart|force-reload}
# /etc/init.d/apt-cacher {start|stop|restart|force-reload}
</pre>
</pre>
2) modificare il file
2) modificare il file
Riga 168: Riga 168:
# each other. FTP access method not supported yet, maybe in the future.
# each other. FTP access method not supported yet, maybe in the future.
</pre>
</pre>
Le opzioni pi� importanti sono
Le opzioni più importanti sono
1) cache_dir che determina la directory in cui verr� salvata la cache <br>
1) cache_dir che determina la directory in cui verrà salvata la cache <br>
2) allowed_hosts che specifica uno o pi� indirizzi a cui limitare l'accesso alla cache <br>
2) allowed_hosts che specifica uno o più indirizzi a cui limitare l'accesso alla cache <br>
3) daemon_port che specifica la porta sulla quale ascolta apt-cacher <br>
3) daemon_port che specifica la porta sulla quale ascolta apt-cacher <br>


==Client==
==Client==
Non necessario installare apt-cacher sui client. Per accedere alla cache dovrete solo modificare il file
Non è necessario installare apt-cacher sui client. Per accedere alla cache dovrete solo modificare il file
<pre>
<pre>
/etc/apt/sources.list
/etc/apt/sources.list
Riga 187: Riga 187:
deb http://ftp.it.debian.org/debian unstable main contrib non-free
deb http://ftp.it.debian.org/debian unstable main contrib non-free
</pre>  
</pre>  
La nuova riga da inserire per utilizzare la cache sar�
La nuova riga da inserire per utilizzare la cache sarà
<pre>
<pre>
deb http://computer:3142/ftp.it.debian.org/debian unstable main contriib non-free
deb http://computer:3142/ftp.it.debian.org/debian unstable main contriib non-free
</pre>
</pre>
Baster� poi salvare e lanciare un
Basterà poi salvare e lanciare un
<pre>
<pre>
apt-get update
# apt-get update
</pre>
</pre>
per cominciare ad utilizzare la cache. <br>
per cominciare ad utilizzare la cache. <br>
Riga 199: Riga 199:


==Importare Pacchetti==
==Importare Pacchetti==
A questo punto siamo pronti per usare apt-cacher. Se per� si hanno gi� a disposizione tanti pacchetti installati sul server e presenti nella directory
A questo punto siamo pronti per usare apt-cacher. Se però si hanno già a disposizione tanti pacchetti installati sul server e presenti nella directory
<pre>
<pre>
/var/cache/apt/archives
/var/cache/apt/archives
</pre>
</pre>
potreste volerli importare nella cache. Niente di pi� semplice :)
potreste volerli importare nella cache. Niente di più semplice :)
Copiate tutti i pacchetti nella directory
Copiate tutti i pacchetti nella directory
<pre>
<pre>
Riga 210: Riga 210:
e poi lanciate il comando
e poi lanciate il comando
<pre>
<pre>
/usr/share/apt-cacher/apt-cacher-import.pl
# /usr/share/apt-cacher/apt-cacher-import.pl
</pre>
</pre>
che mette a disposizione tutti i pacchetti importati nella cache. <br>
che mette a disposizione tutti i pacchetti importati nella cache. <br>
Non resta che augurare happy caching! <br>
Non resta che augurare happy caching! <br>
<br>
<br>
----
giorsat
giorsat
Sal
: [[Utente:Sal|Sal]]

Versione delle 09:01, 14 set 2005

Document-page-setup.png Attenzione: questo articolo è ancora incompleto e in fase di scrittura da parte del suo autore.

Sentitevi liberi di contribuire, proponendo modifiche alla guida tramite l'apposita pagina di discussione, in modo da non interferire con il lavoro portato avanti sulla voce. Per altre informazioni si rimanda al template.



Introduzione

Apt-cacher è un programma che ha lo scopo di creare una cache di pacchetti deb su un server, per poi renderli disponibili a tutte le macchine presenti sulla LAN. In questo modo è possibile limitare la banda utlizzata in uscita e velocizzare i tempi di installazione.
A differenza di apt-proxy (http://apt-proxy.sourceforge.net/), apt-cacher ha una struttura completamente piatta, per cui i pacchetti dela cache sono conservati in una unica directory anche se provengono da repository diversi; questa soluzione ne rende l'utilizzo più semplice e immediato.

Installazione

Per installare apt-cache è sufficiente digitare sul server che dovrà contenere la cache

# apt-get install apt-cacher

Configurazione

Per configurare apt-cacher è necessario
1) modificare il file

/etc/default/apt-cacher

ponendo ad 1 il valore di AUTOSTART. In questo modo apt-cacher si avvierà automaticamente ad ogni sessione. Nel caso vogliate avviare/fermare apt-cacher manualmente basterà usare il comando

# /etc/init.d/apt-cacher {start|stop|restart|force-reload}

2) modificare il file

/etc/apt-cacher/apt-cacher.conf

che contiene tutte le opzioni configurabili. Riportiamo il file di configurazione originale per completezza

#################################################################
# This is the config file for apt-cacher. On most Debian systems
# you can safely leave the defaults alone.
#################################################################

# cache_dir is used to set the location of the local cache. This can
# become quite large, so make sure it is somewhere with plenty of space.
cache_dir=/var/cache/apt-cacher

# The email address of the administrator is displayed in the info page
# and traffic reports.
admin_email=root@localhost

# For the daemon startup settings please edit the file /etc/default/apt-cacher.

# Daemon port setting, only useful in stand-alone mode. You need to run the
# daemon as root to use privileged ports (<1024).
daemon_port=3142

# optional settings, user and group to run the daemon as. Make sure they have
# sufficient permissions on the cache and log directories. Comment the settings
# to run apt-cacher as the native user.
group=www-data
user=www-data

# optional setting, binds the listening daemon to one specified IP. Use IP
# ranges for more advanced configuration, see below.
# daemon_addr=localhost

# If your apt-cacher machine is directly exposed to the Internet and you are
# worried about unauthorised machines fetching packages through it, you can
# specify a list of IPv4 addresses which are allowed to use it and another
# list of IPv4 addresses which aren't.
# Localhost (127.0.0.1) is always allowed. Other addresses must be matched
# by allowed_hosts and not by denied_hosts to be permitted to use the cache.
# Setting allowed_hosts to "*" means "allow all".
# Otherwise the format is a comma-separated list containing addresses,
# optionally with masks (like 10.0.0.0/22), or ranges of addresses (two
# addresses separated by a hyphen, no masks, like '192.168.0.3-192.168.0.56').
allowed_hosts=*
denied_hosts=

# And similiarly for IPv6 with allowed_hosts_6 and denied_hosts_6.
# Note that IPv4-mapped IPv6 addresses (::ffff:w.x.y.z) are truncated to
# w.x.y.z and are handled as IPv4.
allowed_hosts_6=fec0::/16
denied_hosts_6=

# This thing can be done by Apache but is much simplier here - limit access to
# Debian mirrors based on server names in the URLs
#allowed_locations=ftp.uni-kl.de,ftp.nerim.net,debian.tu-bs.de

# Apt-cacher can generate usage reports every 24 hours if you set this
# directive to 1. You can view the reports in a web browser by pointing
# to your cache machine with '/apt-cacher/report' on the end, like this:
#      http://yourcache.example.com/apt-cacher/report
# Generating reports is very fast even with many thousands of logfile
# lines, so you can safely turn this on without creating much 
# additional system load.
generate_reports=1

# Apt-cacher can clean up its cache directory every 24 hours if you set
# this directive to 1. Cleaning the cache can take some time to run
# (generally in the order of a few minutes) and removes all package
# files that are not mentioned in any existing 'Packages' lists. This
# has the effect of deleting packages that have been superseded by an
# updated 'Packages' list.
clean_cache=1

# The directory to use for apt-cacher access and error logs.
# The access log records every request in the format:
# date-time|client ip address|HIT/MISS/EXPIRED|object size|object name
# The error log is slightly more free-form, and is also used for debug
# messages if debug mode is turned on.
# Note that the old 'logfile' and 'errorfile' directives are
# deprecated: if you set them explicitly they will be honoured, but it's
# better to just get rid of them from old config files.
logdir=/var/log/apt-cacher

# apt-cacher can use different methods to decide whether package lists need to
# be updated,
# A) looking at the age of the cached files
# B) getting HTTP header from server and comparing that with cached data. This
# method is more reliable and avoids desynchronisation of data and index files
# but needs to transfer few bytes from the server every time somebody requests
# the files ("apt-get update")
# Set the following value to the maximum age (in hours) for method A or to 0
# for method B
expire_hours=0

# Apt-cacher can pass all its requests to an external http proxy like
# Squid, which could be very useful if you are using an ISP that blocks
# port 80 and requires all web traffic to go through its proxy. The
# format is 'hostname:port', eg: 'proxy.example.com:8080'.
http_proxy=proxy.example.com:8080

# Use of an external proxy can be turned on or off with this flag.
# Value should be either 0 (off) or 1 (on).
use_proxy=0

# External http proxy sometimes need authentication to get full access. The
# format is 'username:password'.
http_proxy_auth=proxyuser:proxypass

# Use of external proxy authentication can be turned on or off with this flag.
# Value should be either 0 (off) or 1 (on).
use_proxy_auth=0

# Rate limiting sets the maximum bandwidth in bytes per second to use
# for fetching packages. Syntax is fully defined in 'man wget'.
# Use 'k' or 'm' to use kilobits or megabits / second: eg, 'limit=25k'.
# Use 0 or a negative value for no rate limiting.
limit=0

# Debug mode makes apt-cacher spew a lot of extra debug junk to the
# error log (whose location is defined with the 'logdir' directive).
# Leave this off unless you need it, or your error log will get very
# big. Acceptable values are 0 or 1.
debug=0

# Adapt the line in the usage info web page to match your server configuration
# example_sources_line=deb http://<b>my.cacher.server:3142/</b>ftp.au.debian.org/debian unstable main contrib non-free

# Print a 410 (Gone) HTTP message with the specified text when accessed via
# CGI. Useful to tell users to adapt their sources.list files when the
# apt-cacher server is beeing relocated (via apt-get's error messages while
# running "update")
#cgi_advise_to_use = Please use http://cacheserver:3142/ as apt-cacher access URL
#cgi_advise_to_use = Server relocated. To change sources.list, run perl -pe "s,/apt-cacher\??,:3142," -i /etc/apt/sources.list

# Server mapping - this allows to hide real server names behind virtual paths
# that appear in the access URL. This method is known from apt-proxy. This is
# also the only method to use FTP access to the target hosts. The syntax is simple, the part of the beginning to replace, followed by a list 
#of mirror urls, all space separated. Multiple profile are separated by semicolons
# path_map = debian ftp.uni-kl.de/pub/linux/debian ftp2.de.debian.org/debian ; ubuntu archive.ubuntu.com/ubuntu ; 
#security security.debian.org/debian-security ftp2.de.debian.org/debian-security
# Note that you need to specify all target servers in the allowed_locations
# options if you make use of it. Also note that the paths should not overlap
# each other. FTP access method not supported yet, maybe in the future.

Le opzioni più importanti sono 1) cache_dir che determina la directory in cui verrà salvata la cache
2) allowed_hosts che specifica uno o più indirizzi a cui limitare l'accesso alla cache
3) daemon_port che specifica la porta sulla quale ascolta apt-cacher

Client

Non è necessario installare apt-cacher sui client. Per accedere alla cache dovrete solo modificare il file

/etc/apt/sources.list

inserendo una riga da del tipo

deb http://server_con_cache:porta/repository_da_utilizzare/debian [flavour] [sezioni]

Chiariamo il concetto con un esempio.
Supponiamo che il server abbia hostname computer e apt-cacher ascolti sulla porta 3142 (quella di default). Supponiamo poi che il repository utilizzato sia

deb http://ftp.it.debian.org/debian unstable main contrib non-free

La nuova riga da inserire per utilizzare la cache sarà

deb http://computer:3142/ftp.it.debian.org/debian unstable main contriib non-free

Basterà poi salvare e lanciare un

# apt-get update

per cominciare ad utilizzare la cache.
Importante notare che tutte le righe dovranno presentare la dicitura deb http e non deb ftp.

Importare Pacchetti

A questo punto siamo pronti per usare apt-cacher. Se però si hanno già a disposizione tanti pacchetti installati sul server e presenti nella directory

/var/cache/apt/archives

potreste volerli importare nella cache. Niente di più semplice :) Copiate tutti i pacchetti nella directory

/var/cache/apt-cacher/import

e poi lanciate il comando

# /usr/share/apt-cacher/apt-cacher-import.pl

che mette a disposizione tutti i pacchetti importati nella cache.
Non resta che augurare happy caching!


giorsat

Sal