Traffic sparen

Aus Gentoo Linux Wiki

Wechseln zu: Navigation, Suche
Dieser Artikel ist Teil der HOWTO Sammlung.
Installationsmethoden LiveCDs Kernel & Hardware Laptops & Notebooks Portage System Netzwerke & Services X Software Anderes alphabetischer HOWTO Index

Nicht-Flatrate-Besitzer und vor allem ISDN/Modem-Benutzer haben das Problem, dass mit jedem emerge -u(D) world oder emerge --sync eine mehr oder wenig hohe Netzlast entsteht. Es lässt sich vieles einsparen, indem man z. B. beim Syncen unnötige Teile des Portage-Trees nicht mitaktualisiert. Es gibt auch die Möglichkeit, beim Updaten des Systems nur die Veränderungen zu einer älteren Version eines Paketes herunterzuladen. Die Möglichkeiten dazu soll dieses Howto aufzeigen:

Inhaltsverzeichnis

[Bearbeiten] Deltup

Das Programm deltup aktualisiert ein Paket, wobei lediglich dessen Veränderungen gegenüber der bereits im Verzeichnis /usr/portage/distfiles vorhandenen Version heruntergeladen wird.


[Bearbeiten] Installation

Die Pakete getdelta, deltup und bdelta sind inzwischen wieder entmaskiert, weshalb diese nun ohne Weiteres installiert werden können


Code: Getdelta und Deltup sind inzwischen nicht mehr maskiert
emerge getdelta deltup bdelta


[Bearbeiten] Konfiguration

Man muss Folgendes der /etc/make.conf hinzufügen, um deltup zu benutzen:

FETCHCOMMAND="/usr/bin/getdelta.sh \${URI}"

[Bearbeiten] digest verification fails

Wenn die Fehlermeldung digest verification fails auftritt, dann führe Folgendes aus, wenn du dir sicher bist, dass das Paket korrekt heruntergeladen wurde.

ebuild /Pfad/zum/ebuild digest

[Bearbeiten] Unterstützung

Falls es Fragen gibt, schaut unter #dynamic-deltup-server auf dem Freenode IRC Netzwerk vorbei.

[Bearbeiten] Links

[Bearbeiten] Beim Syncen Netzlast sparen

Wenn man einen emerge --sync ausführt, wird einem auffallen, dass Ebuilds heruntergeladen werden, die man nie braucht. Ein KDE-Benutzer wird gnome-ebuilds nicht brauchen, während ein Webserver ohne X grafische Anwendungen niemals installieren würde.

[Bearbeiten] rsync_excludefrom

Die Lösung ist RSYNC_EXCLUDEFROM:

Folgendes muss man der /etc/make.conf hinzufügen:

RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes

ACHTUNG! Ab Portageversion 2.1 gilt RSYNC_EXCLUDEFROM als deprecated. Der Eintrag muss jetzt lauten:

PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_excludes"

Nun bearbeitet man diese Datei:

touch /etc/portage/rsync_excludes
nano /etc/portage/rsync_excludes

In jeder Zeile gibt man Schlüsselwörter an. Trifft Portage beim Syncen auf ein Verzeichnis oder eine Datei, die mit einem Schlüsselwort übereinstimmt wird sie ausgelassen. Dabei kann man z. B. die Dateiexpansionen verwenden wie *. Der Eintrag kde* bewirkt zum Beispiel, dass alles was mit kde beginnt ausgelassen wird. Ein Blick in das Verzeichnis /var/db/pkg zeigt, welche Pakete auf dem System installiert sind.

Hier eine Beispieldatei:

Datei: /etc/portage/rsync_excludes

+ metadata**
+ eclass**
+ packages**
+ profiles**
+ scripts**
app-accessibility
app-benchmarks
app-doc
app-emacs
app-forensics
app-i18n
app-laptop
app-pda
app-xemacs
dev-ada
dev-dotnet
dev-embedded
dev-games
dev-haskell
dev-lisp
dev-ml
dev-ruby
dev-scheme
dev-tcltk
dev-tex
gnustep-*
+ kde-base/kde-env*
+ kde-base/kdelibs*
kde-base/*
kde-misc
net-nntp
net-proxy
net-wireless
net-zope
rox-*
sci-astronomy
sci-biology
sci-calculators
sci-chemistry
sci-electronics
sci-geosciences
sci-misc
sec-policy
sys-block
sys-cluster
www-misc
www-servers
xfce-*


Durch + metadata, + eclass, + packages, + profiles, + scripts wird vorausgesetzt, dass wichtige Bestandteile des Portage-Trees komplett gesynct werden. Die doppelten Sternchen ** bewirken dabei echte Platzhalten, wogegen ein einzelnes Sternchen * nur als Platzhalter bis zum nächsten Schrägstrich / gilt. Ein + profiles/* würde somit nicht alle Profiledateien einschließen, sondern nur die in direkten Unterverzeichnissen.

Man kann neben dem Ausgeschlossenen mit einem vorgestellten + auch einiges explizit erlauben:

+ kde-base/kde-env*
+ kde-base/kdelibs*
kde-base/*

Da ich gnome-Benutzer bin, brauche ich wegen K3B nur diese KDE-Pakete.

[Bearbeiten] Hinweise

Man sollte beachten, dass Portage bei den ausgeschlossenen Verzeichnissen, veraltete oder fehlerhafte Ebuilds nicht löscht (dies kann man ändern, indem man --delete-excluded zu der Variable PORTAGE_RSYNC_EXTRA_OPTS hinzufügt). Entweder man leert seinen Portage-Tree mittels rm -r /usr/portage/* oder führt einmal im Monat einen kompletten Sync durch, indem man zuvor in der /etc/make.conf die RSYNC_EXCLUDEFROM (bis einschließlich Portageversion 2.0) bzw. die Variable PORTAGE_RSYNC_EXTRA_OPTS (ab Portageversion 2.1) auskommentiert. Sollte Portage beim Mergen eines Programms Abhängigkeiten nicht auflösen können, empfiehlt es sich, das betreffende Programm in der /etc/portage/rsync_excludes zu erlauben und neu zu syncen.

[Bearbeiten] Links


--Misterjack 00:22, 10. Mai 2005 (GMT)