Archiv/ubumirror

Archivierte Anleitung

Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.

Artikel für fortgeschrittene Anwender

Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. Installation von Programmen

  2. Ein Terminal öffnen

  3. Einen Editor öffnen

  4. Root-Rechte erlangen

Inhaltsverzeichnis
  1. Ubuntu Mirror scripts
    1. Installation
    2. Ubumirror Starten
    3. Automatisch Aktualisieren
    4. Erreichbarkeit
  2. Server Anmelden

Ziel des Artikels ist die Einrichtung eines Spiegels (im englischen "Mirror" genannt) für die Quellen von Ubuntu, bei dem die Pakete über einen Web- oder Dateiserver abgerufen werden können.

Als Alternative stehen apt-mirror und debmirror zur Verfügung. Für einen Spiegel ist es sinnvoll, einen Root-Server zu nutzen, für den Gebrauch in kleineren Netzwerken und auf Servern mit schmaler Anbindung bzw. im Heimgebrauch ist meist ein Proxy/Cache vollkommen ausreichend.

Ubuntu Mirror scripts

Das Ziel des Project Ubuntu Mirror script 🇬🇧 ist es die Installation eines Ubuntu-Mirror's zu vereinfachen. Das dazu nötige Paket ist in den Quellen enthalten.

Installation

Folgende Pakete müssen installiert [1] werden:

Paketliste zum Kopieren:

sudo apt-get install ubumirror  

Oder mit apturl die Pakete installieren. Link: apt://ubumirror

Ubumirror konfigurieren

Bei der Konfiguration muss man sich entscheiden was man alles spiegeln möchte. Gespiegelt werden kann alles (Ports, DVDs, CDs, Archive, für sämtliche Ubuntu Distributionen), bis herunter zum einzelnem Archiv für die aktuell lokal installierte Ubuntu Version. Um die passende Konfiguration vornehmen zu können, ist es notwendig /etc/ubumirror.conf mit einem Editor mit Root-Rechten[3] zu bearbeiten.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#
#   ubumirror.conf - configuration file for the ubumirror scripts.
#

# Please set the variables below to fit your site.
# Which email address/user that will receive failure notices.
EMAIL=root@localhost

# Server's FQDN.
HOSTNAME=$(hostname -f)

# Bandwidth limit for all mirror scripts - set to 0 for no limit.
SPEED=0

# UBUARC_DIR is the destination for the base of the archive directory
# The script won't run if this variable isn't set
UBUARC_DIR="/srv/mirror/ubuntu"

# UBUCDI_DIR is the destination for the base of the cdimage directory
# The script won't run if this variable isn't set
UBUCDI_DIR="/srv/mirror/ubuntu-cdimage"

# UBUREL_DIR is the destination for the base of the releases directory
# The script won't run if this variable isn't set
UBUREL_DIR="/srv/mirror/ubuntu-releases"

# UBUPOR_DIR is the destination for the base of the ports directory
# The script (ubuports) won't run if this variable isn't set
UBUPOR_DIR="/srv/mirror/ubuntu-ports"

# LOGDIR is the destination directory of all the logs
LOGDIR="/var/log/ubumirror/"

# UBU{ARC,CDI,REL}_MIRROR is the rsync path in the form of host::directory/ of the
#   upstream mirrors where the ubumirror scripts will mirror from.
UBUARC_MIRROR=archive.ubuntu.com::ubuntu/
UBUCDI_MIRROR=cdimage.ubuntu.com::cdimage/
UBUREL_MIRROR=rsync.releases.ubuntu.com::releases/
UBUPOR_MIRROR=ports.ubuntu.com::ubuntu-ports/

# UBUCDI_FLAVOURS is the set of image flavours to pull from UBICDI_MIRROR
# flavour names must match directory names on the mirror
UBUCDI_FLAVOURS="\
  daily daily-live \
  ubuntu-netbook/daily-live ubuntu-server/daily \
"

# UBU{ARC,CDI,REL}_EXCLUDE is what things you want to exclude
UBUARC_EXCLUDE="\
  --exclude binary-powerpc/ --exclude binary-sparc/ \
  --exclude daily-installer-powerpc/ --exclude daily-installer-sparc/ \
  --exclude installer-powerpc/ --exclude installer-sparc/ \
  --exclude *_powerpc.deb --exclude *_powerpc.udeb \
  --exclude *_sparc.deb --exclude *_sparc.udeb \
  --exclude Contents-powerpc.gz --exclude Contents-sparc.gz \
"
UBUCDI_EXCLUDE="\
  --exclude *-powerpc.* --exclude *-sparc.* \
  --exclude source/ \
"
UBUREL_EXCLUDE="\
  --exclude *-powerpc.* --exclude *-sparc.* \
"
UBUPOR_EXCLUDE="\
  --exclude binary-powerpc/ --exclude binary-sparc/ \
  --exclude daily-installer-powerpc/ --exclude daily-installer-sparc/ \
  --exclude installer-powerpc/ --exclude installer-sparc/ \
  --exclude *_powerpc.deb --exclude *_powerpc.udeb \
  --exclude *_sparc.deb --exclude *_sparc.udeb \
  --exclude Contents-powerpc.gz --exclude Contents-sparc.gz \
"

Speicherplatz überprüfen

Um sicher zu stellen, dass der zur Verfügung stehende Speicherplatz in /srv auch sicher ausreicht, sollte dieser überprüft werden [2]. Benötigt werden mindesten ~350GB. Wer nicht nur die Quellen hosten will, sollte sicherstellen, dass wesentlich mehr freier Speicherplatz zur Verfügung steht. Abhängig von der Konfiguration, können für /srv auch bis zu 1TB und mehr benötigt werden.

df -h /srv 

Ubumirror Starten

Nach dem Starten dieser Programme als Administrator [2] [4] kann es mehrere Stunden oder Tage dauern (abhängig vom Internet-Anschluss), bis der frisch installierte Spiegel vollständig aktualisiert ist.

sudo ubuarchive
sudo ubucdimage
sudo ubuports
sudo uburelease 

Fehler beheben: Ubumirror lässt sich nicht starten

Es kann vorkommen das bei der Installation die nötigen Verzeichnisse nicht erstellt werden. Sollte dies der Fall sein, müssten Sie noch erstellt werden [2].

sudo mkdir /var/log/ubumirror/ 

Benötigte Verzeichnisse sind

/srv/mirror/ubuntu/
/srv/mirror/ubuntu-cdimage/
/srv/mirror/ubuntu-releases/
/srv/mirror/ubuntu-ports/
/var/log/ubumirror/

Nach dem Sicherstellen, dass alle Verzeichnisse vorhanden sind, kann mit dem Startvorgang begonnen werden. ,

Automatisch Aktualisieren

Damit der Spiegel auch aktualisiert bleibt, ist es nützlich die Aktualisierung zu automatisieren. Dieses ist mit Hilfe des Programmes Cron möglich.

Mittels dieses Zeilenbefehls [2] wird /etc/crontab so konfiguriert dass das Verzeichnis /srv/mirror/ubuntu alle 6 Stunden aktualisiert wird. Die Konfigurieren kann aber auch problemlos nach den eigenen Bedürfnissen angepasst werden. Beispielsweise in dem man noch ein oder zwei Zeilen für ubucdimage , ubuports oder uburelease einfügt.

echo "21 */6 * * * root ubumirror /usr/bin/ubuarchive >/dev/null" | sudo tee -a /etc/crontab 

Erreichbarkeit

Um den Spiegel für den eigenen Rechner anzubieten, wird ein http-Server (z.B. Apache) und ein kleiner Softlink benötigt [2]. Apache installiert sich mit dem Paket ubumirror selbst, hierfür ist somit keine weitere Installation notwendig.

Um die Funktionstüchtigkeit des Webservers sicher zu stellen, sollte an dieser Stelle die Adresse http://localhost/ in einem beliebigem Browser aufgerufen werden (bei einem Server ohne Browser kann von einem anderem Rechner einfach die IP des Servers aufgerufen werden).

Den benötigten Softlink legt man mit folgendem Befehl an:

sudo ln -s /srv/mirror/ubuntu /var/www 

Server Anmelden

Davon ausgehend, dass der frisch installierte Spiegel mittels eigener Domäne auch von außerhalb erreichbar ist, kann man den Server auch auf Launchpad Registrieren. Hat mit der Registrierung alles geklappt, wird der eigene Server mit dem nächsten Release als offizieller Ubuntu-Mirror eingetragen, und kann von jedem Ubuntu Nutzer in den Software-Paketquelle als alternative Quelle zu de.archive.ubuntu.com und Co gewählt werden.