IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Alert.png Aquesta wiki forma part dels materials d'un curs
Curs: DissenyXarxesLinux
Fitxers: No hi ha fitxers
Repositori SVN: http://svn.projectes.lafarga.cat/svn/iceupc/DissenyXarxaLocalLinux
Usuari: anonymous
Paraula de pas: sense paraula de pas
Autors: Sergi Tur Badenas


Objectiu

Apt-mirror és un paquet que permet crear un mirall (mirror) d'un repositori de paquets tipus Debian. Amb apt-mirror podem millorar l'ús d'ample de banda en instal·lacions amb un gran nombre de màquines que utilitzin un sistema de repositori de paquets com per exemple Ubuntu o Debian.

Requeriments previs

  • Espai en disc: Depenent del nombre de versions i seccions del repositori que vulguem duplicar necessitarem més o menys espai en disc. Per exemple, totes les seccions (main, restricted, universe i multiverse) d'una distribució com Ubuntu ocupen aproximadament uns 25Gb.
  • Ample de banda i temps: Depenent de l'ample de banda del que disposem la primera creació del mirall representarà una bona estona de connexió a Internet per tal de descarregar els Gb del repositori.

Instal·lació

$ sudo apt-get install apt-mirror

Configuració

El fitxer de configuració d'apt-mirror és /etc/apt/mirror.list:

$ cat /etc/apt/mirror.list
############# config ##################
# set base_path    /var/spool/apt-mirror
# if you change the base path you must create the directories below with write privlages
# set mirror_path  $base_path/mirror
# set skel_path    $base_path/skel
# set var_path     $base_path/var
# set cleanscript $var_path/clean.sh
# set defaultarch  <running host architecture>
set nthreads     20
set tilde 0
############# end config ##############    

deb http://ch.archive.ubuntu.com/ubuntu edgy main restricted universe multiverse
deb http://ch.archive.ubuntu.com/ubuntu edgy-security main restricted universe multiverse   

deb-src http://ch.archive.ubuntu.com/ubuntu edgy main restricted universe multiverse
deb-src http://ch.archive.ubuntu.com/ubuntu edgy-security main restricted universe multiverse  

deb http://ch.archive.ubuntu.com/ubuntu dapper main restricted universe multiverse
deb http://ch.archive.ubuntu.com/ubuntu dapper-security main restricted universe multiverse
deb-src http://ch.archive.ubuntu.com/ubuntu dapper main restricted universe multiverse
deb-src http://ch.archive.ubuntu.com/ubuntu dapper-security main restricted universe multiverse   

clean http://ch.archive.ubuntu.com/ubuntu 

El fitxer de configuració és molt semblant a l'utilitzat per apt per especificar els repositoris de paquets. Aquí el que hem de posar són els repositoris dels quals volem fer un mirall. En l'exemple hem fet un mirall dels repositoris Ubuntu de les versions edgy i dapper que en total ocuparà uns 48G d'espai en disc.

Execució

Com a superusuari cal executar:

# su - apt-mirror -c apt-mirror

Per entrar com a superusuari poder executar:

$ sudo -i

Un cop acabada la instal·lació podem alliberar una mica d'espai en disc executant:

/bin/bash /var/spool/apt-mirror/var/clean.sh
NOTA: Jo personalment he tingut problemes amb la comanda clean, que esborra més coses de les que caldria.

Configuració del servidor web

La forma més senzilla per tal d'accedir al nostre repositori mirall via web és crear un enllaç simbòlic:

$ sudo ln -s /var/spool/apt-mirror/mirror/ch.archive.ubuntu.com/ubuntu /var/www/ubuntu
NOTA: Alguna vegada no m'ha creat inicialment la carpeta dists! Aquesta carpeta es descarrega a  
/var/spool/apt-mirror/skel/ch.archive.ubuntu.com/ubuntu

Configuració de mirror Debian:

$ sudo ln -s /var/spool/apt-mirror/mirror/ftp.ch.debian.org/debian/ /var/www/debian

I per a security:

$ sudo ln -s /var/spool/apt-mirror/mirror/security.debian.org/dists/etch/updates/ /var/www/debian/dists/etch
$ sudo ln -s /var/spool/apt-mirror/mirror/security.debian.org/dists/lenny/updates/ /var/www/debian/dists/lenny 
$ sudo ln -s /var/spool/apt-mirror/mirror/security.debian.org/pool/updates/ /var/www/debian/pool

Configuració de cron

Apt-mirror està preparat per ser executat periòdicament mitjançant cron. Només cal descomentar una línia del fitxer /etc/cron.d/apt-mirror per tal que quedi de la següent manera:

# Regular cron jobs for the apt-mirror package
0 4     * * *   apt-mirror      /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log

De tal manera que l'actualització del nostre mirall s'executi cada dia a les 4 de la nit.

Configuració dels clients

Als client només és necessari modificar el fitxer /etc/apt/souces.list de tal manera que el repositori sigui el nostre mirall en local. Si suposem que la nostra màquina local on està el mirall té la IP 192.168.0.10:

$ cat /etc/apt/sources.list
# deb cdrom:[Ubuntu-Server 6.10 _Edgy Eft_ - Release i386 (20061025.1)]/ edgy main restricted
 

deb http://192.168.0.10/ubuntu/ edgy main restricted
deb-src http://192.168.0.10/ubuntu/ edgy main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://192.168.0.10/ubuntu/ edgy-updates main restricted
deb-src http://192.168.0.10/ubuntu/ edgy-updates main restricted

## Uncomment the following two lines to add software from the 'universe'
## repository.
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## universe WILL NOT receive any review or updates from the Ubuntu security
## team.
deb http://192.168.0.10/ubuntu/ edgy universe multiverse
deb-src http://192.168.0.10/ubuntu/ edgy universe multiverse
 
## Uncomment the following two lines to add software from the 'backports'
## repository.
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://192.168.0.10/ubuntu edgy-security main restricted
deb-src http://192.168.0.10/ubuntu edgy-security main restricted
deb http://192.168.0.10/ubuntu edgy-security universe multiverse
deb-src http://192.168.0.10/ubuntu edgy-security universe multiverse

Fitxers de log

Al fitxer de configuració /etc/apt/mirror.list tenim una opció:

set nthreads     20

Què determina el nombre de processos que s'executen per tal d'actualitzar el mirror. Cadascun d'aquest processos és un una comanda wget tal i com podem veure si executem:

$ ps aux
110      32633  1.0  0.1   3964  1472 pts/0    S+   17:21   0:00 wget -t 0 -r -N -l inf -o /var/spool/apt-mirror/var/archive-log.1 -i    /var/spool/apt-mirror/var/archive-urls.1
110      32639  1.0  0.1   3964  1472 pts/0    S+   17:21   0:00 wget -t 0 -r -N -l inf -o /var/spool/apt-mirror/var/archive-log.7 -i  /var/spool/apt-mirror/var/archive-urls.7
110      32649  1.0  0.1   3960  1520 pts/0    S+   17:21   0:00 wget -t 0 -r -N -l inf -o /var/spool/apt-mirror/var/archive-log.17 -i  /var/spool/apt-mirror/var/archive-urls.17
110      32650  0.0  0.1   3964  1524 pts/0    S+   17:21   0:00 wget -t 0 -r -N -l inf -o /var/spool/apt-mirror/var/archive-log.18 -i  /var/spool/apt-mirror/var/archive-urls.18
110      32651  2.0  0.1   3964  1520 pts/0    S+   17:21   0:00 wget -t 0 -r -N -l inf -o /var/spool/apt-mirror/var/archive-log.19 -i /var/spool/apt-mirror/var/archive-urls.19

Cada procés crea el seu fitxer de log amb el següent format:

/var/spool/apt-mirror/var/archive-log.1
/var/spool/apt-mirror/var/archive-log.2
/var/spool/apt-mirror/var/archive-log.3
..... 
.....
/var/spool/apt-mirror/var/archive-log.20 

que podem consultar a posteriori (o durant l'actualització) per saber el temps que triga, si hi ha algun error, etc. Un exemple:

cat /var/spool/apt-mirror/var/archive-log.1
--17:21:32--  http://ch.archive.ubuntu.com/ubuntu/pool/main/libo/liboobs/liboobs-1-2_0.6.0-0ubuntu2_amd64.deb
           => `ch.archive.ubuntu.com/ubuntu/pool/main/libo/liboobs/liboobs-1-2_0.6.0-0ubuntu2_amd64.deb'
Resolving ch.archive.ubuntu.com... 130.59.10.34
Connecting to ch.archive.ubuntu.com|130.59.10.34|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 787 [text/html]
Last-modified header missing -- time-stamps turned off.
--17:21:33--  http://ch.archive.ubuntu.com/ubuntu/pool/main/libo/liboobs/liboobs-1-2_0.6.0-0ubuntu2_amd64.deb
           => `ch.archive.ubuntu.com/ubuntu/pool/main/libo/liboobs/liboobs-1-2_0.6.0-0ubuntu2_amd64.deb'
Connecting to ch.archive.ubuntu.com|130.59.10.34|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 787 [text/html]  
   0K                                                       100%  107.22 MB/s
17:21:34 (107.22 MB/s) - `ch.archive.ubuntu.com/ubuntu/pool/main/libo/liboobs/liboobs-1-2_0.6.0-0ubuntu2_amd64.deb' saved [787/787]
 

FINISHED --17:21:34--
Downloaded: 787 bytes in 1 files

Configuració transparents de apt-mirror. Segrestar DNS repositoris Ubuntu

Consulteu la secció Segrestar alguns dominis. Repositoris Ubuntu de l'article sobre servidors DNS.

Troubleshooting

Netinstall

Per suportar netinstall heu d'afegir els següents repositoris:

$ sudo joe /etc/apt/mirror.list
#Netinstall
deb http://archive.ubuntu.com/ubuntu jaunty main/debian-installer
deb http://archive.ubuntu.com/ubuntu jaunty main/installer-i386
deb http://archive.ubuntu.com/ubuntu jaunty main/installer-amd64  

Consulteu:

Descripció del problema i solució manual obsoleta (no l'apliqueu)

Hi ha fitxers que apt-mirror no es baixa, i son necessaris per a la instal·lació de xarxa:

$ sudo tail -f /var/log/apache2/access.log
192.168.1.6 - - [22/May/2009:14:40:22 +0200] "GET /ubuntu//dists/jaunty/Release HTTP/1.1" 200 74637 "-" "Wget"
192.168.1.6 - - [22/May/2009:14:40:22 +0200] "GET /ubuntu//dists/jaunty/Release.gpg HTTP/1.1" 200 189 "-" "Wget"
192.168.1.6 - - [22/May/2009:14:40:22 +0200] "GET /ubuntu//dists/jaunty/main/debian-installer/binary-i386/Packages.gz HTTP/1.1" 302 385 "-" "Wget"
192.168.1.6 - - [22/May/2009:14:40:22 +0200] "GET /ubuntu/dists/jaunty/main/debian-installer/binary-i386/Packages.gz HTTP/1.1" 302 386 "-" "Wget"
192.168.1.6 - - [22/May/2009:14:40:22 +0200] "GET /ubuntu/dists/jaunty/main/debian-installer/binary-i386/Packages.gz HTTP/1.1" 302 386 "-" "Wget"
192.168.1.6 - - [22/May/2009:14:40:22 +0200] "GET /ubuntu/dists/jaunty/main/debian-installer/binary-i386/Packages.gz HTTP/1.1" 302 386 "-" "Wget"
192.168.1.6 - - [22/May/2009:14:40:22 +0200] "GET /ubuntu//dists/jaunty/main/debian-installer/binary-i386/Packages HTTP/1.1" 302 382 "-" "Wget"
192.168.1.6 - - [22/May/2009:14:40:22 +0200] "GET /ubuntu/dists/jaunty/main/debian-installer/binary-i386/Packages HTTP/1.1" 302 383 "-" "Wget"
192.168.1.6 - - [22/May/2009:14:40:22 +0200] "GET /ubuntu/dists/jaunty/main/debian-installer/binary-i386/Packages HTTP/1.1" 302 383 "-" "Wget"
192.168.1.6 - - [22/May/2009:14:40:22 +0200] "GET /ubuntu/dists/jaunty/main/debian-installer/binary-i386/Packages HTTP/1.1" 302 383 "-" "Wget"
192.168.1.6 - - [22/May/2009:14:40:22 +0200] "GET /ubuntu//dists/jaunty/restricted/debian-installer/binary-i386/Packages.gz HTTP/1.1" 302 391 "-"  "Wget" 
192.168.1.6 - - [22/May/2009:14:40:22 +0200] "GET /ubuntu/dists/jaunty/restricted/debian-installer/binary-i386/Packages.gz HTTP/1.1" 302 392 "-" "Wget"
192.168.1.6 - - [22/May/2009:14:40:22 +0200] "GET /ubuntu/dists/jaunty/restricted/debian-installer/binary-i386/Packages.gz HTTP/1.1" 302 392 "-" "Wget"
192.168.1.6 - - [22/May/2009:14:40:22 +0200] "GET /ubuntu/dists/jaunty/restricted/debian-installer/binary-i386/Packages.gz HTTP/1.1" 302 392 "-" "Wget"
192.168.1.6 - - [22/May/2009:14:40:22 +0200] "GET /ubuntu//dists/jaunty/restricted/debian-installer/binary-i386/Packages HTTP/1.1" 302 388 "-" "Wget"
192.168.1.6 - - [22/May/2009:14:40:22 +0200] "GET /ubuntu/dists/jaunty/restricted/debian-installer/binary-i386/Packages HTTP/1.1" 302 389 "-" "Wget"
192.168.1.6 - - [22/May/2009:14:40:22 +0200] "GET /ubuntu/dists/jaunty/restricted/debian-installer/binary-i386/Packages HTTP/1.1" 302 389 "-" "Wget"
192.168.1.6 - - [22/May/2009:14:40:22 +0200] "GET /ubuntu/dists/jaunty/restricted/debian-installer/binary-i386/Packages HTTP/1.1" 302 389 "-" "Wget"

Es pot solucionar amb:

$ cd /var/www/ubuntu/dists/jaunty/main
$ sudo rsync -a rsync://archive.ubuntu.com/ubuntu/dists/jaunty/main/debian-installer 
$ cd /var/www/ubuntu/dists/jaunty/retricted
$ sudo rsync -a rsync://archive.ubuntu.com/ubuntu/dists/jaunty/restricted/debian-installer 

Consulteu RsyncMirror

Utilitzar altres arquitectures. AMD64

Seguint els passos d'aquest tutorial tingueu en compte que el mirror només es farà de l'arquitectura que utilitzi el mirror. Si per exemple el mirror utilitza l'arquitectura de i386 de 32 bits, aleshores un client de 64 bits no trobarà els paquets al repositori.

Al fitxer /etc/apt/mirror.list hi ha una línia:

set defaultarch  <running host architecture>

Què indica quina és l'arquitectura de la qual es farà un mirror. Si volem que el mirror inclogui altres arquitectures heu d'afegir les següents línies:

deb-amd64 http://ch.archive.ubuntu.com/ubuntu edgy main restricted universe multiverse
deb-amd64 http://ch.archive.ubuntu.com/ubuntu edgy-security main restricted universe multiverse

Poder fer actualitzacions de versió amb apt-mirror

Les actualitzacions de versions entre releases d'Ubuntu, no utilitzen apt-mirror.

De fet si a més segrestem les DNS, ens donara el següent error:

$ sudo do-release-upgrade
Checking for a new ubuntu release
Failed Upgrade tool signature
Failed Upgrade tool
Done downloading            
extracting '/tmp/tmpZ6RBPL/hardy.tar.gz'
Failed to extract
Extracting the upgrade failed. There may be a problem with the network or with the server.

El fitxer:

hardy.tar.gz

Al que és refereix, és un fitxer que es descarrega dels repositoris oficials (o també dels mirrors) d'Ubuntu. Aquest fitxer és diferent per a cada versió d'Ubuntu. A l'article Do-release-upgrade, s'explica els detalls d'aquesta comanda, i concretament la font que indica quin fitxer tar.gz s'ha de descarregar l'actualitzador de versions és una pàgina web:

http://changelogs.ubuntu.com/meta-release

En el cas de hardy:

Dist: hardy 
Name: Hardy Heron
Version: 8.04 LTS
Date: Thu, 24 Apr 2008 12:00:00 UTC
Supported: 1
Description: This is the 8.04 LTS release
Release-File: http://archive.ubuntu.com/ubuntu/dists/hardy/Release
ReleaseNotes: http://archive.ubuntu.com/ubuntu/dists/hardy-proposed/main/dist-upgrader-all/0.87.30/ReleaseAnnouncement
UpgradeTool: http://archive.ubuntu.com/ubuntu/dists/hardy-proposed/main/dist-upgrader-all/0.87.30/hardy.tar.gz
UpgradeToolSignature: http://archive.ubuntu.com/ubuntu/dists/hardy-proposed/main/dist- upgrader-all/0.87.30/hardy.tar.gz.gpg

El problema és que apt-mirror no gestiona les carpetes dist-upgrader-all.

El següent script pot baixar aquest fitxer per vosaltres al mirror:

#!/bin/bash
VAR_APT_MIRROR=/var/spool/apt-mirror/var
METARELEASE_FILE=meta-release
METARELEASE_FILE_LTS=meta-release-lts
METARELEASE_URL=http://changelogs.ubuntu.com/$METARELEASE_FILE
METARELEASE_URL_LTS=http://changelogs.ubuntu.com/$METARELEASE_FILE_LTS
MIRROR_PATH=/var/spool/apt-mirror/mirror
#echo $VAR_APT_MIRROR 

if [ "$(whoami)" != "apt-mirror" ]; then
  echo "Has de ser l'usuari apt-mirror per executar aquest script. Prova amb: sudo -i; su - apt-mirror -c $0" 2>&1
  exit 1
fi

#cat /usr/lib/python2.5/site-packages/UpdateManager/Core/MetaRelease.py | grep -w " METARELEASE_URI" | awk '{print $3}'  

echo "Guardant fitxers a descarregar a $VAR_APT_MIRROR/$METARELEASE_FILE..."
echo "Guardant fitxers a descarregar a $VAR_APT_MIRROR/$METARELEASE_FILE_LTS..."
cd $VAR_APT_MIRROR
echo "Executant wget -o /dev/null $METARELEASE_URL; cat $METARELEASE_FILE |  grep http | awk '{print $2}' > $VAR_APT_MIRROR/releasefiles.txt..."
echo "A la carpeta `pwd`"
wget -o /dev/null $METARELEASE_URL; cat $METARELEASE_FILE |  grep http | awk '{print $2}' > $VAR_APT_MIRROR/releasefiles.txt
rm -f meta-release
echo "Executant wget -o /dev/null $METARELEASE_URL_LTS; cat $METARELEASE_FILE_LTS |  grep http | awk '{print $2}' > $VAR_APT_MIRROR/releasefiles-lts.txt..."
echo "A la carpeta `pwd`"
wget -o /dev/null $METARELEASE_URL_LTS; cat $METARELEASE_FILE_LTS |  grep http | awk '{print $2}' > $VAR_APT_MIRROR/releasefiles-lts.txt
rm -f meta-release
cd $MIRROR_PATH
echo "Executant wget -t 0 -r -N -l inf -o $VAR_APT_MIRROR/release.log -i $VAR_APT_MIRROR/releasefiles.txt..."
wget -t 0 -r -N -l inf -o $VAR_APT_MIRROR/release.log -i $VAR_APT_MIRROR/releasefiles.txt
echo "Executant wget -t 0 -r -N -l inf -o $VAR_APT_MIRROR/release-lts.log -i $VAR_APT_MIRROR/releasefiles-lts.txt..."
wget -t 0 -r -N -l inf -o $VAR_APT_MIRROR/release-lts.log -i $VAR_APT_MIRROR/releasefiles-lts.txt

Per crear l'script:

$ sudo joe /usr/bin/apt-mirror-ubuntu

Feu l'script executable:

$ sudo chmod +x /usr/bin/apt-mirror-ubuntu

Ja el podeu executar amb l'usuari apt-mirror:

$ sudo -i
$ su - apt-mirror -c /usr/bin/apt-mirror-ubuntu

Podeu automatitzar la crida d'aquest script afegint una línia al fitxer /etc/cron.d/apt-mirror

#
# Regular cron jobs for the apt-mirror package
#
0 4     * * *   apt-mirror      /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log
0 5     * * *   apt-mirror      /usr/bin/apt-mirror-ubuntu

Recursos:

Reenviar les peticions que el mirror no pugui satisfer

Podem utilitzar el modul rewrite per redireccionar les peticions que no es puguin resoldre:

$ sudo a2enmod rewrite
$ sudo /etc/init.d/apache2 force-reload

Abans de poder utilitzar un fitxer .htaccess a les carpetes de /var/www cal que editem el fitxer:

$ sudo joe /etc/apache2/sites-enabled/000-default

I després de:

<Directory /var/www/>
 Options Indexes FollowSymLinks MultiViews
 AllowOverride None
 Order allow,deny
 allow from all
</Directory>

Afegiu

<Directory /var/www/ubuntu>
               Options Indexes FollowSymLinks MultiViews
               AllowOverride All 
               Order allow,deny
               allow from all
</Directory>


Fitxer httpd.conf

RewriteEngine on
RewriteLog /var/log/apache2/rewrite.log
#RewriteLogLevel 3
RewriteLogLevel 0
RewriteCond %{REQUEST_FILENAME} !^/cgi/
RewriteCond /var/spool/apt-mirror/mirror/archive.ubuntu.com%{REQUEST_FILENAME} !-F
RewriteCond /var/spool/apt-mirror/mirror/archive.ubuntu.com%{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(Packages|Sources)\.bz2$
RewriteCond %{REQUEST_URI} !/index\.[^/]*$ [NC]
RewriteRule ^(http://%{HTTP_HOST})?/(.*) http://91.189.88.45/$2 [R]

Fitxer .htacces a /var/www/ubuntu

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !^/cgi/
RewriteBase /ubuntu/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(Packages|Sources)\.bz2$
RewriteCond %{REQUEST_URI} !/index\.[^/]*$ [NC]  
RewriteRule   ^(.+)                             http://91.189.88.45/ubuntu/$1

Recursos:

Mirrors Ubuntu

Jaunty Jackalope

La següent configuració per a la Jaunty Jackalope + Virtual Box i DRBL ocupa 47.9 GiB:

$ cat /etc/apt/mirror.list
############# config ##################
#
# set base_path    /mnt/DISC_DUR_IOMEGA/apt-mirror
#
# if you change the base path you must create the directories below with write privlages
#
# set mirror_path  $base_path/mirror
# set skel_path    $base_path/skel
# set var_path     $base_path/var
# set cleanscript $var_path/clean.sh
# set defaultarch  <running host architecture>
set nthreads     5
set _tilde 0
#
############# end config ##############

#######################################
### UBUNTU
#######################################

#Hardy:
#deb http://archive.ubuntu.com/ubuntu hardy main restricted universe multiverse
#deb http://archive.ubuntu.com/ubuntu hardy-updates main restricted universe multiverse
#deb http://archive.ubuntu.com/ubuntu hardy-backports main restricted universe multiverse
#deb http://archive.ubuntu.com/ubuntu hardy-security main restricted universe multiverse
#deb http://archive.ubuntu.com/ubuntu hardy-proposed main restricted universe multiverse

#Partner (tercers de canonical)
#deb http://archive.canonical.com/ubuntu hardy partner 

#deb-src http://archive.ubuntu.com/ubuntu hardy main restricted universe multiverse
#deb-src http://archive.ubuntu.com/ubuntu hardy-updates main restricted universe multiverse
#deb-src http://archive.ubuntu.com/ubuntu hardy-backports main restricted universe multiverse
#deb-src http://archive.ubuntu.com/ubuntu hardy-security main restricted universe multiverse
#deb-src http://archive.ubuntu.com/ubuntu hardy-proposed main restricted universe multiverse

#Partner (tercers de canonical)
#deb-src http://archive.canonical.com/ubuntu hardy partner

#Jaunty:
deb http://archive.ubuntu.com/ubuntu jaunty main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu jaunty-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu jaunty-backports main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu jaunty-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu jaunty-proposed main restricted universe multiverse

#Partner (tercers de canonical)
deb http://archive.canonical.com/ubuntu jaunty partner  

deb-src http://archive.ubuntu.com/ubuntu jaunty main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu jaunty-updates main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu jaunty-backports main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu jaunty-security main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu jaunty-proposed main restricted universe multiverse 

#Partner (tercers de canonical)
deb-src http://archive.canonical.com/ubuntu jaunty partner

#######################################
### Virtual Box
#######################################
#deb http://download.virtualbox.org/virtualbox/debian hardy non-free
#deb http://download.virtualbox.org/virtualbox/debian jaunty non-free

#######################################
### DRBL
#######################################
deb http://drbl.sourceforge.net/drbl-core  drbl stable

clean http://archive.ubuntu.com/ubuntu
clean http://download.virtualbox.org/virtualbox
clean http://archive.canonical.com/ubuntu
clean http://drbl.sourceforge.net/drbl-core

Vegeu també

Recursos