Traffic sparen
Aus Gentoo Linux Wiki
| 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
- the dynamic deltup server network - Die Homepage des Projekts
[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** |
Durch + metadata, + eclass, + packages, + profiles, + scripts code> 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/* code> 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)
