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

Vai alla navigazione Vai alla ricerca
(→‎Client: aggiunto metodo con sola modifica ad apt.conf)
Riga 1: Riga 1:
==Introduzione==
'''moblock'''
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==
Moblock per linux � come peergurdian2 per windows entrambe le applicazioni permettono di abilitare un filtro
Per installare apt-cache è sufficiente digitare sul server che dovrà contenere la cache
 
<pre>
sul traffico internet , basato su una lista di IP o range di IP per proteggere la vostra privacy.
# apt-get install apt-cacher
 
</pre>
Dal sito di moblock[http://moblock-deb.sourceforge.net/] e possibile trovare la lista dei repository da aggiungere alla nostra /etc/apt/sources.list
 
per diverse distribuzioni , debian e ubuntu.
 
Attualmente 15.02.08 la lista � la seguente
 
 
''Debian 4.0 etch (stable):
 
deb http://moblock-deb.sourceforge.net/debian etch main
 
deb-src http://moblock-deb.sourceforge.net/debian etch main
Debian lenny (testing):


==Configurazione==
deb http://moblock-deb.sourceforge.net/debian lenny main
Per configurare apt-cacher è necessario:


1) modificare il file
deb-src http://moblock-deb.sourceforge.net/debian lenny main
<pre>
/etc/default/apt-cacher
</pre>
Debian sid (unstable):
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>
# /etc/init.d/apt-cacher {start|stop|restart|force-reload}
</pre>
2) modificare il file
<pre>
/etc/apt-cacher/apt-cacher.conf
</pre>
che contiene tutte le opzioni configurabili.
Riportiamo il file di configurazione originale per completezza
<pre>
#################################################################
# 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
deb http://moblock-deb.sourceforge.net/debian sid main
# 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
deb-src http://moblock-deb.sourceforge.net/debian sid main
# and traffic reports.
admin_email=root@localhost


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


# Daemon port setting, only useful in stand-alone mode. You need to run the
deb http://moblock-deb.sourceforge.net/debian feisty main
# 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
deb-src http://moblock-deb.sourceforge.net/debian feisty main
# 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
Ubuntu 7.10 gutsy:
# 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.
deb http://moblock-deb.sourceforge.net/debian gutsy main
# 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
deb-src http://moblock-deb.sourceforge.net/debian gutsy main
# 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
Ubuntu hardy:
# (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.
deb http://moblock-deb.sourceforge.net/debian hardy main
# 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
deb-src http://moblock-deb.sourceforge.net/debian hardy main''
# 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.
Aggiungiamo le keyring
# 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'.
gpg --keyserver wwwkeys.eu.pgp.net --recv 9072870B
http_proxy_auth=proxyuser:proxypass


# Use of external proxy authentication can be turned on or off with this flag.
gpg --export --armor 9072870B | sudo apt-key add -''
# 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
ora da konsole
# 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
    sudo aptitude update
# example_sources_line=deb&nbsp;http://<b>my.cacher.server:3142/</b>ftp.au.debian.org/debian&nbsp;unstable&nbsp;main&nbsp;contrib&nbsp;non-free


# Print a 410 (Gone) HTTP message with the specified text when accessed via
    sudo aptitude install moblock''
# 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.
</pre>


Le opzioni più importanti sono:
se siete loggati come amministratori , togliete sudo dai comandi precedenti.


# <code>cache_dir</code> che determina la directory in cui verrà salvata la cache
Ora moblock � installato e nella configurazione di default  MoBlock parte all'avvio
# <code>allowed_hosts</code> che specifica uno o più indirizzi a cui limitare l'accesso alla cache
# <code>daemon_port</code> che specifica la porta sulla quale ascolta apt-cacher


==Client==
e alcune blocklists preconfigurate  sono aggiornate giornalmente.
Non è necessario installare apt-cacher sui client. Per accedere alla cache potrete:


'''Metodo 1''' (più veloce)
Potete aggingere o modificare le  blocklists in uso nel file /etc/moblock/blocklists.list.


modificare il file
Qualsiasi altra configurazione (automatic start and update, iptables handling, IP and port whitelisting) � configurata in /etc/moblock/moblock.conf.


<pre>
Questo � importante specialmente se MoBlock blocca siti che non dovrebbe bloccare.
/etc/apt/apt.conf
</pre>


inserendo una riga da del tipo
Utilizzo (you need root privileges):
''


<pre>
    * moblock-control start - inserisce le iptables rules e avvia MoBlock
Acquire::http::Proxy "http://server_con_cache:porta/";
</pre>


Chiariamo il concetto con un esempio. <br>
    * moblock-control stop - cancella le  iptables rules e ferma MoBlock
Supponiamo che il server abbia hostname computer e apt-cacher ascolti sulla porta 3142 (quella di default).


La nuova riga da inserire per utilizzare la cache sarà
    * moblock-control restart - riavvia MoBlock


<pre>
    * moblock-control reload - ricostrisce la blocklist e ricarica MoBlock
Acquire::http::Proxy "http://computer:3142/";
</pre>


    * moblock-control update - aggiorna le blocklists e ricarica MoBlock


'''Metodo 2'''
    * moblock-control status - restituisce l'iptables settings e lo stato di MoBlock daemon


dovrete solo modificare il file
    * moblock-control test - semplice test per controllare se MoBlock sta funzionando''


<pre>
Per maggiori informazioni consultate /usr/share/doc/moblock-nfq/README.blocklists.gz
/etc/apt/sources.list
</pre>


inserendo una riga da del tipo
Io uso moblock sempre anche quando non uso P2P , noterete la lista di IP bloccati nel file /var/lob/moblock.log e sarete impressionati.


<pre>
Se volete gi� aggiungere una valida lista di IP , aggiungete questi al file /etc/moblock/blocklists.list
deb http://server_con_cache:porta/repository_da_utilizzare/debian [flavour] [sezioni]
</pre>


Chiariamo il concetto con un esempio. <br>
''
Supponiamo che il server abbia hostname computer e apt-cacher ascolti sulla porta 3142 (quella di default). Supponiamo poi che il repository utilizzato sia
http://www.bluetack.co.uk/config/nipfilter.dat.gz
http://www.bluetack.co.uk/config/ads-trackers-and-bad-pr0n.gz
http://www.bluetack.co.uk/config/bogon.gz
http://www.bluetack.co.uk/config/dshield.gz
http://www.bluetack.co.uk/config/edu.gz
http://www.bluetack.co.uk/config/hijacked.gz
http://www.bluetack.co.uk/config/level1.gz
http://www.bluetack.co.uk/config/level2.gz
http://www.bluetack.co.uk/config/level3.gz
http://www.bluetack.co.uk/config/Microsoft.gz
http://www.bluetack.co.uk/config/spider.gz
http://www.bluetack.co.uk/config/spyware.gz


<pre>
''
deb http://ftp.it.debian.org/debian unstable main contrib non-free
</pre>


La nuova riga da inserire per utilizzare la cache sarà


<pre>
'''Mobloquer'''
deb http://computer:3142/ftp.it.debian.org/debian unstable main contriib non-free
</pre>




----


Basterà poi salvare e lanciare un
Per poter usare una comoda interfaccia grafica usiamo mobloquer [http://mobloquer.foutrelis.com/]
 
da qui ho prima installato i pacchetti consigliati dalla pagina [http://mobloquer.foutrelis.com/download]
 
prima per� occorre aver abilitato le repository di moblock citate in precedenza
 
poi :
 
 
''apt-get install libc-dev libc6-dev g++ make libqt4-core libqt4-gui libqt4-dev''
 
 
 
per installare la GUI di moblock detta mobloque occorre eseguire i comandi :
 
 
''sudo aptitude install mobloquer''
 


<pre>
# apt-get update
</pre>


per cominciare ad utilizzare la cache.
dal desktop eseguite il comando


Importante notare che tutte le righe dovranno presentare la dicitura deb http e non deb ftp.


==Importare Pacchetti==
''mobloquer''
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>
/var/cache/apt/archives
</pre>


potreste volerli importare nella cache. Niente di più semplice :)
ed ecco che vi compare li , bella e pronta


Copiate tutti i pacchetti nella directory


<pre>
Mi raccomando di fare riferimento al sito ufficiale di mobloquer dato
/var/cache/apt-cacher/import
che il seguente progetto � in continuo sviluppo
</pre>
per cui le cose dette in precedenza potrebbero cambiare


e poi lanciate il comando
Per vedere alcuni screenshot vi rimando al sito di mobloquer [http://mobloquer.foutrelis.com/screenshots]


<pre>
logs [http://mobloquer.foutrelis.com/html/uploads/media/2/image/1Iz9a9qJTm/medium_1Iz9a9qJTm.png]
# /usr/share/apt-cacher/apt-cacher-import.pl
</pre>


che mette a disposizione tutti i pacchetti importati nella cache.
setting [http://mobloquer.foutrelis.com/html/uploads/media/2/image/tVIVbbzgNG/medium_tVIVbbzgNG.png]


Non resta che augurare happy caching!
blocklist [http://mobloquer.foutrelis.com/html/uploads/media/2/image/0TbXXcFhzr/medium_0TbXXcFhzr.png]


manage [http://mobloquer.foutrelis.com/html/uploads/media/2/image/M7zE7eIZeS/medium_M7zE7eIZeS.png]


----
Autore: giorsat <br>
Esteso da: [[Utente:Sal|Sal]]


[[Categoria:Server]][[Categoria:Apt]]
--[[Utente:Mm-barabba|Mm-barabba]] 20:20, 22 Mar 2008 (CDT)
[[Categoria:Repository]]