Apt-mirror
De SergiTurWiki
| 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 |
Contingut |
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
