[[Vorlage(Getestet, focal)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Paketquellen_freischalten: Bearbeiten von Paketquellen] [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] [:Programme_starten: Ein Programm starten] [:Autostart: Automatischer Start von Programmen] }}} [[Inhaltsverzeichnis(3)]] Das Programm [https://apt-mirror.github.io/ apt-mirror] {en} 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 [:Partitionierung: Partition] auslagert werden sollten, um einem Engpass beim Plattenplatz zuvorzukommen bzw. den [:Defragmentierung: Fragmentierungsgrad] gering zu halten. Die folgende Tabelle bezieht sich auf [:12.10:Ubuntu 12.10] __ohne__ Quellcode-Pakete; Stand Januar 2013; Werte gerundet in GiB. {{{#!vorlage Tabelle 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 +++ <-4 rowclass="highlight"> +++ Summiert <:>56 <:>57 <:>82 }}} {{{#!vorlage 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: {{{#!vorlage Paketinstallation apt-mirror, universe [2] }}} = Konfiguration = Bei der Installation wird automatisch die Datei '''mirror.list''' im Ordner '''/etc/apt/''' mit folgendem Inhalt angelegt: == Grundeinstellungen == {{{#!code # 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 # 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 == {{{#!code sourceslist ####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 {{{#!code sourceslist deb http://de.archive.ubuntu.com/ubuntu/ quantal main restricted }}} wird, wenn man z.B. amd64 und i386 spiegeln möchte: {{{#!code 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: {{{#!code set limit_rate 50K }}} Zu beachten ist, dass der Parameter pro Downloadslot gilt; d.h.: {{{#!code set limit_rate 50K set nthreads 20 }}} führt dazu, dass 20 Downloads zu 50K = 1000 KiB / Sekunde heruntergeladen werden. == Nachbehandlung == {{{#!code 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 = {{{#!vorlage Warnung 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: {{{#!vorlage Befehl 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: 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. {{{#!vorlage Befehl 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: {{{#!vorlage Befehl 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]. {{{#!code sourceslist deb http:///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'''): {{{#!code export http_proxy=http://[:@]:/ && apt-mirror }}} = Links = * [sourceforge:apt-mirror:] Projektseite * [https://www.howtoforge.com/local_debian_ubuntu_mirror How To Create A Local Debian/Ubuntu Mirror With apt-mirror] {en} * blog.root1024.ch - [https://blog.root1024.ch/betriebssystem/linux/eigenen-debian-spiegelserver-mirror-einrichten/ Eigenen Debian Spiegelserver (Mirror) einrichten] {de} # tag: Netzwerk, Paketverwaltung