Good to Know Database

Ubuntu 8.10: Ubuntu-Mirror mit apt-mirror erstellen


Hinweis: Die folgende Anleitung bezieht sich auf Ubuntu 8.10 und Ubuntu 8.04.

Wenn Sie einen lokalen Ubuntu-Mirror einrichten wollen, können Sie entweder das Perl-Skript debmirror oder das Programm apt-mirror verwenden. Im folgenden will ich die benötigten Schritte mit apt-mirror vorstellen. Wenn Sie stattdessen debmirror verwenden wollen, finden Sie eine Anleitung unter www.gtkdb.de/index_7_315.html.

Zuerst wechseln Sie in eine Root-Shell und installieren das Paket apt-mirror.

georg@ubuntu810:~$ sudo -i
root@ubuntu810:~# apt-get install apt-mirror

Nach der Installation lassen Sie sich die Konfigurationsdatei /etc/apt/mirror.list anzeigen.

root@ubuntu810:~# less /etc/apt/mirror.list

############# config ##################
#
# set base_path    /var/spool/apt-mirror
#
# if you change the base path you must create the directories below with write privlages
#
# 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 nthreads     20
set _tilde 0
#
############# end config ##############

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

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

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

Hinweis: Wenn Sie momentan (Stand 28.10.2008) apt-mirror unter Ubuntu 8.10 (Intrepid) installieren, stimmen die Einträge in der mirror.list noch nicht. Wenn Sie die momentane Standard-Konfigurationsdatei ohne Änderungen verwenden würden, würden Sie Ubuntu 8.04 (Hardy) spiegeln. Die oben dargestellte Konfigurationsdatei ist bereits für Ubuntu 8.10 (Intrepid) überarbeitet worden.

Wie Sie dem Header der Konfigurationsdatei entnehmen können, wird der Mirror standadmäßig unter /var/spool/apt-mirror angelegt. Sollten Sie nicht genügend Speicherplatz in diesem Verzeichnis zur Verfügung haben oder wenn Sie den Mirror auf einer eigenen Partition ablegen wollen, müssen Sie die Verzeichnisse von Hand anlegen und die Konfigurationsdatei entsprechend anpassen. Im folgenden soll der Mirror auf einer eigenen Partition angelegt werden welche unter /mirror gemountet ist.

Zuerst erstellen Sie die benötigten Verzeichnisse und Ändern die Berechtigungen.

root@ubuntu810:~# mkdir -p /mirror/apt-mirror/mirror
root@ubuntu810:~# mkdir -p /mirror/apt-mirror/skel
root@ubuntu810:~# mkdir -p /mirror/apt-mirror/var
root@ubuntu810:~# chown -R apt-mirror:apt-mirror /mirror/apt-mirror

Öffnen Sie anschließend die Konfigurationsdatei /etc/apt/mirror.list.

root@ubuntu810:~# gedit /etc/apt/mirror.list

Ändern Sie hier den Wert von base_path wie folgt ab und entfernen das Kommentar-Zeichen.

set base_path    /mirror/apt-mirror

Im unterem Teil der Konfigurationsdatei mirror.list können Sie angeben, welche Repositories auf Ihrem Mirror gespiegelt und von welchem Server die Pakete heruntergeladen werden sollen. In der Standard-Konfigurationsdatei wird der Server archive.ubuntu.com verwendet. Sollten Sie einen anderen Server verwenden wollen, müssen Sie nur den Servernamen anpassen.

Wie Sie der Standardkonfiguration entnehmen können, werden die Pakete in den Repositories intrepid, intrepid-updates und intrepid-security und deren Sourcepakete gespiegelt.

Neben den Repositories können Sie auch die Paketsektionen nach Ihren Bedürfnissen einstellen. Hier können Sie zwischen den Paketsektionen main (offiziell von Canonical unterstützte Pakete), restricted (von Canonical unterstützte Pakete welche keine Open-Source-Software enthalten), universe (diese Pakete werden von der Ubuntu-Community verwaltet) und multiverse (enthält Closed-Source und proprietäre Pakete) auswählen.

Standardmäßig spiegelt apt-mirror nur die aktuelle installierte Architektur beziehungsweise die Architektur, welche Sie mit dem Parameter defaultarch angegeben haben. Wollen Sie aber mehrere Architekturen spiegeln, müssen Sie dies im zweiten Teil der Konfigurationsdatei angeben. Dazu wird das Schlüsselwort deb am Zeilenanfang durch /deb-{arch} ausgetauscht. Anstelle von {arch} müssen Sie die gewünschte Architektur (i386 beziehungsweise amd64) angeben.

Die folgende Konfigurationsdatei ist für ein amd64-System, auf welchem sowohl die Pakete der amd64-Architektur als auch die Pakete für die i386-Architektur gespiegelt werden sollen.

############# config ##################
#
set base_path    /mirror/apt-mirror
#
# if you change the base path you must create the directories below with write privlages
#
# 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 nthreads     20
set _tilde 0
#
############# end config ##############

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

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

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

Wenn Sie die Konfigurationsdatei /etc/apt/mirror.list nach Ihren Bedürfnissen angepasst haben, können Sie mit dem folgenden Befehl den Mirror-Vorgang starten.

root@ubuntu810:~# su - apt-mirror -c apt-mirror

Je nach verfügbarer Verbindungsgeschwindigkeit zum verwendeten Server kann dieser Vorgang mehrere Stunden dauern.

Damit Ihr Mirror auch bei neuen Updates aktualisiert wird, sollten Sie apt-mirror in regelmäßigen Abständen aufrufen. Hierzu gibt es bereits einen Eintrag unter /etc/cron.d/ welchen Sie nur auskommentieren müssen.

Öffnen Sie dazu die Datei /etc/cron.d/apt-mirror mit einem Editor.

root@ubuntu810:~# gedit /etc/cron.d/apt-mirror

Entfernen Sie anschließend das Kommentarzeichen der letzten Zeile.

#
# Regular cron jobs for the apt-mirror package
#
0 4 * * * apt-mirror /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log

Wenn Sie apt-mirror regelmäßig aufrufen, erhalten Sie sicher irgendwann die folgenden Meldungen.

33.8 GiB in 46868 files and 928 directories can be freed.
Run /mirror/apt-mirror/var/clean.sh for this purpose.

Dies bedeutet, dass sich veraltete Pakete in Ihrem Repository befinden welche Sie mit dem Skript clean.sh löschen können. Dazu rufen Sie nur den folgenden Befehl auf.

root@ubuntu810:~# su - apt-mirror -c "sh /mirror/apt-mirror/var/clean.sh"


Dieser Eintrag wurde am 28.10.2008 erstellt und zuletzt am 24.01.2016 bearbeitet.

Direkter Link zu dieser Seite: http://www.gtkdb.de/index_34_349.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer