ubuntuusers.de

apt-mirror

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Das Programm apt-mirror 🇬🇧 lädt zu Beginn die gesamte Paketquelle herunter, egal welches Paket benötigt wird. Apt-mirror eignet sich für Situationen, in der eine Paketquelle komplett gespiegelt werden soll. Das ist oft nur in größeren Netzen praktisch, wenn man auf vielen Rechnern Ubuntu installiert wird, ohne genau zu wissen, was alles benötigt wird und evtl. zeitweise keine oder nur wenig Bandbreite zur Verfügung hat.

Man sollte beachten, dass man für die Einrichtung von apt-mirror je nach Größe der Paketquelle entsprechend Platz auf der Festplatte benötigt. Für die offiziellen Ubuntu-Paketquellen benötigt man, wenn man Pakete (ohne Quellcode-Pakete) für alle Plattformen (i386, AMD64) benötigt, etwa 80 GiB. Bei einer Plattform sind es etwa 60 GiB.

Ähnliche Programme unter: Lokale Paketquellen

Tabelle mit Größenangaben in GiB

Vor dem Herunterladen sollte man sich Gedanken machen, ob die Daten auf eine separate Partition auslagert werden sollten, um einem Engpass beim Plattenplatz zuvorzukommen bzw. den Fragmentierungsgrad gering zu halten. Die folgende Tabelle bezieht sich auf Ubuntu 12.10 ohne Quellcode-Pakete; Stand Januar 2013; Werte gerundet in GiB.

Archiv i386 AMD64 i386+AMD64
http://archive.ubuntu.com/ubuntu quantal main restricted universe multiverse 47 48 66
http://archive.ubuntu.com/ubuntu quantal-security main restricted universe multiverse 2 2 3
http://archive.ubuntu.com/ubuntu quantal-updates main restricted universe multiverse 6 6 9
http://archive.ubuntu.com/ubuntu quantal-proposed main restricted universe multiverse <1 <1 2
http://archive.ubuntu.com/ubuntu quantal-backports main restricted universe multiverse <1 <1 <1
Summiert 56 57 82

Hinweis:

Da die verschiedenen Architekturen (i386, AMD64, armel, armhf...) sich die sogenannte "all-Paketarchitektur" teilen, müssen diese nicht extra für jede Architektur heruntergeladen werden. Das erklärt die Diskrepanz bei der Summierung der einzelnen Architekturen.

Installation

Folgendes Paket muss installiert [1] werden:

  • apt-mirror (universe [2] )

Befehl zum Installieren der Pakete:

sudo apt-get install apt-mirror 

Oder mit apturl installieren, Link: apt://apt-mirror

Konfiguration

Bei der Installation wird automatisch die Datei mirror.list im Ordner /etc/apt/ mit folgendem Inhalt angelegt:

Grundeinstellungen

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
# apt-mirror configuration file
############# config ##################
#
# set base_path    /var/spool/apt-mirror
#
# 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 postmirror_script $var_path/postmirror.sh
# set run_postmirror 0
set nthreads     20
set _tilde 0
#
############# end config ##############

Zeilen, die mit # beginnen, sind Kommentare. Hier spiegeln sie die Standart-Einstellungen wieder. Sollen die Pakete zum Beispiel nicht im Verzeichnis /var/spool/apt-mirror liegen, kann per Anpassung des base_path auch ein anderes Verzeichnis gewählt werden. Damit diese gegenüber dem Standard veränderte Einstellung wirksam wird, muss die Zeile einkommentiert werden, indem das Zeichen # am Zeilenanfang entfernt wird. Dasselbe muss dann auch für die folgenden anderen drei Zeilen mit den Unterverzeichnissen mirror, skel und var erfolgen, damit das Skript diese benötigten Unterverzeichnisse dort anlegen kann.

Paketquellen

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
####Sources
deb http://archive.ubuntu.com/ubuntu quantal main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu quantal-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu quantal-updates main restricted universe multiverse
#deb http://archive.ubuntu.com/ubuntu quantal-proposed main restricted universe multiverse
#deb http://archive.ubuntu.com/ubuntu quantal-backports main restricted universe multiverse

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

In diesem Beispiel sind nach der Installation bereits die aktuellen Paketquellen (12.10) eingetragen, folglich wird der Server später nur Quantal-Pakete bieten.

Architekturen

Will man mehrere Architekturen spiegeln, muss man die Paketquellen in der Datei /etc/apt/mirror.list etwas anpassen; aus

1
deb http://de.archive.ubuntu.com/ubuntu/ quantal main restricted

wird, wenn man z.B. amd64 und i386 spiegeln möchte:

1
2
deb-i386 http://de.archive.ubuntu.com/ubuntu/ quantal main restricted
deb-amd64 http://de.archive.ubuntu.com/ubuntu/ quantal main restricted

Downloadgeschwindigkeit begrenzen

Möchte man nicht, dass apt-mirror die gesamte Downloadbandbreite des Internetanschlusses belegt, fügt man folgende Zeile in die Datei /etc/apt/mirror.list ein:

1
set limit_rate 50K

Zu beachten ist, dass der Parameter pro Downloadslot gilt; d.h.:

1
2
set limit_rate 50K
set nthreads 20

führt dazu, dass 20 Downloads zu 50K = 1000 KiB / Sekunde heruntergeladen werden.

Nachbehandlung

1
clean http://de.archive.ubuntu.com/ubuntu/

Das Clean-Skript wird automatisch ausgeführt. Möchte man dieses unterbinden, muss die entsprechende Zeile in /etc/apt/mirror.list durch ein # auskommentiert werden.

Start von apt-mirror

Achtung!

Durch apt-mirror entsteht beim ersten Start ein enormes Datenvolumen! Ubuntu 12.10 belegt zur Zeit ca. 60 GiB / Architektur OHNE Quellcode-Pakete!

Der Start erfolgt in einem Terminal durch Eingabe von:

sudo apt-mirror 
Downloading xyz index files using 20 threads...
Begin time: Thu Jan  10 17:46:20 2013
[20]... [19]... [18]... [17]... [16]... [15]... [14]... [13]... [12]... [11]... [10]... [9]... [8]... [7]... [6]... [5]... [4]... [3]... [2]... [1]... [0]...
End time: Thu Jan  10  17:46:51 2013
Proceed indexes: [SSSPPP]
xyz bytes will be downloaded into archive.
Downloading xyz archive files using 20 threads...
Begin time: Thu Jan  10 17:46:57 2013
[20]... [19]... [18]... [17]... [16]... [15]... [14]... [13]... [12]... [11]... [10]... [9]... [8]... [7]... [6]... [5]... [4]... [3]... [2]... [1]... [0]...
End time: Thu Jan  10  23:05:25 2013
yxz bytes inxyz files and xyz directories can be freed.

apt-mirror per Cron-Job

Durch die Installation wird automatisch auch ein Cron-Job unter /etc/cron.d namens apt-mirror angelegt. Dieser ist aber nicht automatisch aktiv, da die entsprechende Konfigurationszeile auskommentiert ist.

Nutzbarmachen

Um den Spiegelserver im Netzwerk verfügbar zu machen, muss dieser angeboten werden, dies erfolgt per Webserver (beispielsweise Apache). Normalerweise liegen dessen Dateien in /var/www/, also nicht dort, wo die gespiegelten Pakete liegen, die Verbindung wird per ln -s hergestellt.

sudo ln -s /var/spool/apt-mirror/mirror/de.archive.ubuntu.com/ubuntu /var/www/html/ubuntu 

Hinweis → falls die Daten von einem anderen Server gespiegelt wurden, dann muss statt de.archive.ubuntu.com zum Beispiel archive.ubuntu.com gewählt werden.

Dadurch ändert sich der Befehl wie folgt:

sudo ln -s /var/spool/apt-mirror/mirror/archive.ubuntu.com/ubuntu /var/www/html/ubuntu 

Benutzung

Auf den Clientsystemen muss jetzt nur noch der neue Server eingetragen werden [2].

1
deb http://<IP des Servers>/ubuntu quantal main restricted

Die Paketquellen jetzt neu einlesen und der Spiegelserver steht zur Verfügung.

Hinweis für die Benutzer eines Proxys

Wenn man einen Proxy (z.B. Squid) benutzt, so ist der Aufruf von apt-mirror folgendermaßen zu ergänzen (gilt auch analog für /etc/cron.d/apt-mirror):

1
export http_proxy=http://[<Proxy-user>:<Proxy-Passwort>@]<IP-Adresse-Proxy>:<Proxy-Port>/ && apt-mirror

Diese Revision wurde am 6. Mai 2021 10:28 von frustschieber erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Paketverwaltung, Netzwerk