Gentoo - `emerge sync` beschleunigen

FreeBSD, Gentoo, openSUSE, CentOS, Ubuntu, Debian
andreask2
RSAC
Posts: 701
Joined: 2004-01-27 14:16
Location: Aachen

Gentoo - `emerge sync` beschleunigen

Post by andreask2 » 2005-07-06 14:05

Hallo!

Bei mir wird

Code: Select all

emerge sync
mit der Zeit immer langsamer. Dauert bei mir inzwischen so um die 20 Minuten. Ein großer Teil ist natürlich die Synchronisation mit einem evtl. überlasteten RSYNC-Mirror, sind ja inzwischen immerhin deutlich über 100.000 Dateien mit ein paar mehr 100 MB. Aber inzwischen vergeht noch mehr Zeit den Portage-Cache mit den ganzen Abhängigkeiten... zu aktualisieren. Also was kann man da machen?

Ich habe einige Tipps gelesen, aber die meisten sind nur ein Tropfen auf den heißen Stein. Das Problem ist IMHO, dass Portage ja komplett synchronisiert wird, obwohl ich keine 5% des Portage-Trees benötige. Gibt es evtl. einen eleganten Weg Portage auf bestimmte Verzeichnisse zu beschränken?

Das einzige was ich kenne ist dieses: http://forums.gentoo.org/viewtopic-t-55031.html

Allerdings sieht mir das etwas probematisch aus, wenn Portage-Updates installiert werden, oder wenn sich was an Abhängigkeiten/USE-Flags ändert, wenn Pakete hinzugefügt/entfernt werden müssen...

Was meint Ihr? Hat jemand von Euch noch nen Tipp, oder setzt Ihr obiges Scripte sogar ein?


Viele Grüße
Andreas

PS: Wie oft synchronisiert Ihr?

User avatar
Joe User
Project Manager
Project Manager
Posts: 11583
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Gentoo - `emerge sync` beschleunigen

Post by Joe User » 2005-07-06 14:37

Seit dem Upgrade auf Python-2.4.1 und portage-2.0.51.22 hat sich bei mir die Zeit zum Erneuern des Portage-Cache mehr als halbiert. Zu beachten ist auch, dass ein Teil des Portage-Cache im System-Cache gehalten wird und somit nach einem Reboot die ersten ein bis zwei emerge --sync etwas langsamer sind. Desweiteren gibt es im Gentoo-Forum irgendwo eine Beschreibung, um den Portage-Cache teilweise in eine cdb zu verlagern, wodurch sich die Zugriffszeiten nochmals beschleunigen lassen sollen (Getestet habe ich es aber nicht.).

EDIT: Ich syncronisiere (fast) täglich.

HTH
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

andreask2
RSAC
Posts: 701
Joined: 2004-01-27 14:16
Location: Aachen

Re: Gentoo - `emerge sync` beschleunigen

Post by andreask2 » 2005-07-06 15:04

Die beiden Pakete sind aber noch ~x86, da habe ich gerade bei sowas wie Portage doch ein wenig Bauchschmerzen ;-)

Aber gut zu wissen, Danke für die Info!

Du meinst das: http://gentoo-wiki.com/TIP_speed_up_portage_with_cdb - oder?

Da steht auch, dass python 2.4 Portage zerschießt. Vermutlich gibt es dafür dann die neue Version die Du verwendest ;-)

Dann gibt es auch noch das: http://gentoo-wiki.com/TIP_Speeding_up_ ... with_tmpfs

Trotzdem sehe ich das größte Potential darin, den Portage-Tree zu verkleinern. Wozu soll ich ständig irgendwas mit x11, kde, openofficxe, mozilla... synchronisieren (mit allen Abhängigkeiten...)? Wäre schön wenn es da mal ein Feature in Portage selbst geben würde, sowas wie

/etc/portage/dirs.exclude

oder so. Allerdings muss man dann auch wissen was man da macht, wobei emerge ja meckern könnte wenn da was nicht klappt.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11583
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Gentoo - `emerge sync` beschleunigen

Post by Joe User » 2005-07-06 15:45

andreask2 wrote:Du meinst das: http://gentoo-wiki.com/TIP_speed_up_portage_with_cdb - oder?
Jupp.
andreask2 wrote:Da steht auch, dass python 2.4 Portage zerschießt. Vermutlich gibt es dafür dann die neue Version die Du verwendest ;-)
Aktuell: python-2.4.1-r1/portage-2.0.51.22-r1
andreask2 wrote:Wäre schön wenn es da mal ein Feature in Portage selbst geben würde, sowas wie

/etc/portage/dirs.exclude
Gibt es: /etc/portage/rsync_excludes ;)
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: Gentoo - `emerge sync` beschleunigen

Post by Roger Wilco » 2005-07-06 15:47

andreask2 wrote:Wäre schön wenn es da mal ein Feature in Portage selbst geben würde, sowas wie

/etc/portage/dirs.exclude

oder so.
Gibt es doch schon. Einfach folgende Zeile in die make.conf und anschließend die auszuschließenden Verzeichnisse/Kategorien in die Datei /etc/portage/rsync_excludes:

Code: Select all

RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: Gentoo - `emerge sync` beschleunigen

Post by Roger Wilco » 2005-07-06 15:50

Joe User wrote:Desweiteren gibt es im Gentoo-Forum irgendwo eine Beschreibung, um den Portage-Cache teilweise in eine cdb zu verlagern, wodurch sich die Zugriffszeiten nochmals beschleunigen lassen sollen (Getestet habe ich es aber nicht.).
Ich habe das mal auf meinem Desktop mit verschiedenen Backends ausprobiert (cdb, MySQL, SQLite), aber im Endeffekt hat das nichts gebracht.
Hauptsächlich sollen diese "Hacks" nur die Suche über emerge -[s|S] beschleunigen. Dazu ist aber esearch oder eix besser geeignet.

andreask2
RSAC
Posts: 701
Joined: 2004-01-27 14:16
Location: Aachen

Re: Gentoo - `emerge sync` beschleunigen

Post by andreask2 » 2005-07-06 22:54

Roger Wilco wrote:Gibt es doch schon. Einfach folgende Zeile in die make.conf und anschließend die auszuschließenden Verzeichnisse/Kategorien in die Datei /etc/portage/rsync_excludes:

Code: Select all

RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes
Komisch, hab das irgendwie nicht gefunden. Vielen Dank!

Hier noch 2 Links fürs Archiv:
http://de.gentoo-wiki.com/Traffic_sparen
http://de.gentoo-wiki.com/Portage_richt ... XCLUDEFROM

Ich habe jetzt für den Anfang erstmal folgendes ausgeschlossen:

Code: Select all

app-cdr
app-emacs
app-emulation
app-laptop
app-pda
app-office
dev-dotnet
dev-embedded
dev-games
games*
gnome*
kde*
media-sound
media-video
net-dialup
net-im
net-wireless
net-zope
net-p2p
sci*
sys-cluster
x11*
xfce*
Danke Euch!

andreask2
RSAC
Posts: 701
Joined: 2004-01-27 14:16
Location: Aachen

Re: Gentoo - `emerge sync` beschleunigen

Post by andreask2 » 2005-07-06 23:09

Naja, das reduziert nichtmal um 50%. Das Script welches ich im 1. Posting verlinkt habe, sucht nach installierten Paketen, und schreibt diese in diese Liste. So werden wirklich nur diejenigen Pakete synchronisiert, die man installiert hat. Wenn man neue Pakete installieren will, muss man das eben auskommentieren.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11583
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Gentoo - `emerge sync` beschleunigen

Post by Joe User » 2005-07-07 11:06

Zum Vergleich mal meine letzte (07.07.2005 10:45) emerge --sync Statistik:

Code: Select all

Number of files: 118971
Number of files transferred: 7287
Total file size: 93658650 bytes
Total transferred file size: 7397306 bytes
Literal data: 7397306 bytes
Matched data: 0 bytes
File list size: 2645896
File list generation time: 5.152 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 164613
Total bytes received: 10390560

sent 164613 bytes  received 10390560 bytes  305947.04 bytes/sec
total size is 93658650  speedup is 8.87
HTH
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.