Creare un mirror debian locale

Da Wizard linux team wiki.

Jump to: navigation, search

Il presente articolo è stato preso dal sito: http://linuxpedia.netsons.org/index...gina_principale ed il suo contenuto è distribuito sotto licenza GFDL

Autore: Nicola Fioretti

Introduzione

Può capitare di avere la necessità di avere un mirror completo di una distribuzione Debian per uno o più computer che non sono connessi ad internet (oppure che lo sono ma non hanno a disposizione una super connessione ultra veloce). La soluzione a questo problema è rappresentata da Debmirror che offre la possibilità di di creare un mirror locale. In questo HOW TO vedremo come creare un Mirror Debian Locale.


Installazione e Configurazione

La prima cosa da fare è quella di aggiornare apt-get. Per fare questo è sufficiente lanciare il seguente comando:

apt-get update

A questo punto installiamo il programma debmirror e l'http server Apache, lanciando il seguente comando:

apt-get install debmirror apache2

Creiamo uno script che chiameremo "debmirror.script" e che sarà inserito all'interno della directory /usr/local/bin. Lo script dovrà contenere le seguenti righe di codice (modificare lo script in base alle proprie esigenze):

#! /bin/sh
# Simple debmirror update script

ARCHITECTURES="i386,amd64"
SECTIONS="main,contrib,non-free"
DISTS="etch,sid"
REMOTE_MIRROR="ftp.de.debian.org"
LOCAL_PATH="/srv/mirror/ftp.de.debian.org"
OPT_SOURCES="--nosource" # put this as "--source" or leave blank to have sources included

if [ $(ps ax | grep /usr/bin/debmirror | wc -l) = 1 ]; then
        debmirror --getcontents --progress ${OPT_SOURCES} \
                -a "${ARCHITECTURES}" -s "${SECTIONS}" \
                -e rsync -r :debian -h "${REMOTE_MIRROR}" \
                --dist "${DISTS}" "${LOCAL_PATH}"             
fi

(copiate ed incollate il codice sopra riportato direttamente all'interno dello script "debmirror.script)

Rendiamo eseguibile lo script appena creato lanciando il comando

chmod +x /usr/local/bin/debmirror.script

La dichiarazione "if" è stata inserita per consentire un semplice aggiornamento automatico tramite crontab.

Una volta che avrete un mirror completo potete createdue link simbolici in questo modo:

# cd /srv/mirror/ftp.de.debian.org/dists 
# ln -s sid unstable 
# ln -s etch testing

Fatto questo dobbiamo creare un file chiamato "local-mirror" all'interno della directory /etc/apache2/sites-available contenente le seguenti direttive:

# This is used for local debian mirror
 # 
 # Will be available as http://localhost/debian/
 #
 Alias /debian/ /srv/mirror/ftp.de.debian.org/

   order deny,allow
   deny from all
   allow from 127.0.0.0/255.0.0.0 127.0.1.0/255.0.0.0 192.168.1.0/255.255.255.0 ::1/128
   Options Indexes FollowSymlinks MultiViews

Il file appena creato servirà per poter utilizzare il mirror Debian Locale e renderlo disponibile digitando l'indirizzo http://localhost/debian/

Ora non ci rimane che creare un link simbolico ad esso in questo modo:

# cd /etc/apache2/sites-enabled # ln -s ../sites-available/local-mirror local-mirror

E riavviare l'http server Apache:

# /etc/init.d/apache2 restart

Adesso tutto è pronto per essere utilizzato con make-live inserendo all'interno del file make-live.conf la seguente direttiva:

LIVE_MIRROR="http://localhost/debian/"

Inserite all'interno del vostro file /etc/apt/sources.list la seguente riga:

deb http://localhost/debian/ sid main contrib non-free

Oppure:

deb file:///srv/mirror/ftp.de.debian.org sid main contrib non-free

Link Esterni

http://live.debian.net/wiki/Debian_Mirror : HOW TO originale di Marco Amadori (in inglese)

Personal tools
wizard linux team