# /var/lib/portage/world (World File)

## YPenguin

Nach meinen bisherigen Erfahrungen erscheint es mir ratsam, nicht so viel in das World-File aufzunehmen.

Wenn man nur die wirklich wichtigen Pakete drin hat, sind komplizierte Probleme unwahrscheinlicher.

----------

## mike155

100% Zustimmung!

Ich würde es sogar so formulieren: wenn man ein System hat, bei dem es weder bei "emerge --update --deep world" noch bei "emerge --depclean" Änderungen gibt -- und dies auch so bleibt, wenn man einzelne Zeilen aus /var/lib/portage/world entfernt -- dann gehören diese Zeilen nicht nach /var/lib/portage/world.

Leider verirren sich doch ab und zu überflüssige Einträge in die Datei /var/lib/portage/world -- beispielsweise wenn man die emerge-Option "--oneshot" vergisst. Deshalb muss man die Datei gelegentlich von Hand entrümpeln...

Gibt es ein Programm, das überflüssige Zeilen in /var/lib/portage/world automatisch erkennt und entfernt? Das sollte machbar sein...

----------

## mv

 *bug_report wrote:*   

> 100% Zustimmung!
> 
> Ich würde es sogar so formulieren: wenn man ein System hat, bei dem es weder bei "emerge --update --deep world" noch bei "emerge --depclean" Änderungen gibt -- und dies auch so bleibt, wenn man einzelne Zeilen aus /var/lib/portage/world entfernt -- dann gehören diese Zeilen nicht nach /var/lib/portage/world.

 

Nein. Nach world gehört, was Du haben willst. Wenn Du beispielsweise mit einem Tool oder einer Library arbeitest (oder damit entwickelst), gehört sie ins world-File, dann Du wirst nicht wollen, dass diese Library entfernt (oder nicht mehr auf den neuesten Stand gebracht) wird, nur weil Du vielleicht das einzige Paket im Gentoo-Repository, das dieses Tool/Library benutzt, nicht mehr brauchst oder weil vielleicht dieses Paket dieses Tool/Library nicht mehr benutzt.

Umgekehrt, wenn world etwas enthält, was Du nicht direkt benutzen willst, gehört das aus world entfernt.

Auch als Nichtenwickler gibt es solche Beispiele: Eine Browser- oder Editor-Erweiterung zieht zwar i.d.R. mindestens einen der Browser/Editoren nach sich, mit denen sie kompatibel ist, aber außer im exotischen Fall, dass es Dir wirklich nur auf diese Erweiterung ankommt und es Dir egal ist, auf welchem Browser/Editor sie "läuft" (selbst wenn sie derzeit nur auf einem einzigen Browser/Editor laufen sollte), gehört auch der von Dir gewünschte Browser/Editor ins World-File.

 *Quote:*   

> Leider verirren sich doch ab und zu überflüssige Einträge in die Datei /var/lib/portage/world

 

Dass --select=y der Default von portage ist, halte ich für einen historischen Geburtsfehler von Gentoo. Ich habe schon längst --select=n in die EMERGE_DEFAULT_OPTS in make.conf aufgenommen, und Pakete, die ich im world-File haben will, emerge ich mit einem expliziten --select (oder --select -n, falls ich die Angabe von --select zunächst vergessen haben sollte). Ich habe auch ein Paket-Set "@all-systems" im world_sets-File, in das ich Pakete eintrage, die - wie der Name sagt - auf allen meinen Systemen vorhanden sein sollen (etwa "mein" Editor und Browser).

 *Quote:*   

> Deshalb muss man die Datei gelegentlich von Hand entrümpeln...

 

Außerdem mache ich regelmäßig Backups der world/world_set-Files und vergleiche zuweilen (mit world-mv aus dem mv overlay).

 *Quote:*   

> Gibt es ein Programm, das überflüssige Zeilen in /var/lib/portage/world automatisch erkennt und entfernt?

 

Das wurde irgendwann einmal im Forum vorgestellt und lässt sich vermutlich irgendwo runterladen. Ich habe es vergessen, weil ich es - wie gesagt - für eine schlechte Idee halte,

----------

## YPenguin

Wenn man z. B. kde-meta:5 drin hat, wird bereits sehr viel einbezogen. Man kann ja zum Spaß mal ein World-File nur mit Metas anlegen und schauen, was alles damit reinkommt.

Wenn man die ganzen Pakete von KDE nochmal einzeln in world aufnimmt, gibt es wahrscheinlich Probleme bei späteren Updates.

----------

## YPenguin

Ich hatte vor kurzer Zeit auch Probleme mit QScintilla und qt4 bzw qt5: juffed wollte es mit qt4 und andere Programme mit qt5, aber beide qt-Flags gehen nicht. Wenn man alles in world hat, ist eine Lösung wohl nicht möglich.

----------

## mike155

Hallo mv,

 *Quote:*   

> Nein. Nach world gehört, was Du haben willst.

 

Im folgenden Abschnitt hast Du gleich die Ausnahmen von meiner Regel beschrieben - und ich stimme Dir da zu.

Wenn ich manchmal zu Gentoo Systemen komme, bei denen der Besitzer seine Datei /var/lib/portage/world nicht gepflegt hat, stehen viel zu viele Dateien in dieser Datei, z.B. libpng oder zlib. Und dann sollte diese Datei erst einmal aufgeräumt werden. Wenn der Besitzer genau weiß, was er will, kann er das nach dem Verfahren machen "Nach world gehört, was Du haben willst". Aber die meisten Leute wissen das nicht so genau. Und dann kann man mein Verfahren verwenden - nämlich erst einmal alles rauswerfen, was nicht benötigt wird. Natürlich unter Verwendung der von Dir genannten Sonderregeln...  

Ich mache das dann folgendermaßen:

Prüfen, dass "emerge --update --deep -p world" und "emerge -p --depclean" nichts mehr ändern und auch keine Fehler ausgeben

Backup von /var/lib/portage/world anlegen

Die Zeilen in /var/lib/portage/world entfernen, von denen ich annehme, dass sie überflüssig sind

Prüfen, dass "emerge --update --deep -p world" und "emerge -p --depclean" nichts ändern wollen und auch keine Fehler ausgeben. Falls die beiden Aufrufe doch Änderungen anzeigen, habe ich zu viel entfernt - und dann spiele ich wieder das Backup zurückWichtig ist noch, dass /var/lib/portage/world sortiert sein muss - man darf also nicht die Reihenfolge der Zeilen verändern.

----------

## mike155

 *Quote:*   

> Ich habe schon längst --select=n in die EMERGE_DEFAULT_OPTS in make.conf aufgenommen, und Pakete, die ich im world-File haben will, emerge ich mit einem expliziten --select (oder --select -n, falls ich die Angabe von --select zunächst vergessen haben sollte). 

 

Das ist eine gute Idee! Werde ich vermutlich übernehmen. Danke für den Tipp!

----------

## mv

 *bug_report wrote:*   

> Im folgenden Abschnitt hast Du gleich die Ausnahmen von meiner Regel beschrieben 

 

Im Gegenteil: Es sind alles Beispiele für diese Regel, nur vielleicht nicht so offensichtliche. Ich kenne kein Beispiel für eine Ausnahme.

----------

## YPenguin

@mv

Ich habe neulich das world-file neu angelegt um wieder mehr Ordnung zu bekommen. KDE-Meta:5 reicht nämlich aus, um den ganzen Kram reinzuziehen und man sieht dann auch, was nicht mehr dazugehört inzwischen (KDE:4 Zeug).

----------

## YPenguin

Eigentlich würde mich interessieren, ob du viel installiert hast.

Bei mir war es so, dass die Probleme erst nach einem recht umfangreichen Installationsbestand anfingen.

----------

