Ubuntu 12.04 Precise Pangolin
Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.
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.
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.
Folgende Pakete müssen installiert [1] werden:
ubumirror
mit apturl
Paketliste zum Kopieren:
sudo apt-get install ubumirror
sudo aptitude install ubumirror
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 \ " |
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
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
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/
/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. ,
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
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
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.
Diese Revision wurde am 24. Mai 2015 20:15 von ubot erstellt.