[[Vorlage(Archiviert, )]] [[Vorlage(Fortgeschritten)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] [:sudo:Root-Rechte erlangen] }}} [[Inhaltsverzeichnis(2)]] Ziel des Artikels ist die Einrichtung eines Spiegels (im englischen [wikipedia:Mirror: "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 [:Archiv/Ubuntu-Mirror: 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 [:Lokale_Paketquellen#Proxies-Caches-Buendeln-von-Updates: Proxy/Cache] vollkommen ausreichend. = Ubuntu Mirror scripts = Das Ziel des [https://launchpad.net/ubumirror Project Ubuntu Mirror script] {en} ist es die Installation eines [:Archiv/Ubuntu-Mirror: Ubuntu-Mirrors] zu vereinfachen. Das dazu nötige Paket ist in den Quellen enthalten. == Installation == Folgende Pakete müssen installiert [1] werden: {{{#!vorlage Paketinstallation 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. {{{#!code bash # # 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. {{{#!vorlage Befehl 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. {{{#!vorlage Befehl 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]. {{{#!vorlage Befehl 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. {{{#!vorlage Befehl 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: {{{#!vorlage Befehl 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 [https://launchpad.net/ubuntu/+newmirror 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 [http://de.archive.ubuntu.com/ de.archive.ubuntu.com] und Co gewählt werden. #tag: Paketverwaltung