# Worldfile voll mit suspekten Paketen! [gelöst]

## l3u

Hallo :-)

Die Umstellung auf den neuen GCC nutze ich gerade, um mein System mal auszumisten. Dabei ist mir aufgefallen, daß mein Worldfile voll mit lauter Kram ist, den ich sicher nie per Hand installiert habe, wie z. B. x11-proto/xf86bigfontproto und sowas. Sollte das Worldfile nicht _nur_ die Pakete enthalten, die per emerge <Paket> installiert wurden?! Was ist da schiefgegangen?

MfG, Libby

EDIT:

Hab ich ganz vergessen, auf gelöst zu setzen ...

Der Übeltäter war mymerge. Deswegen hab ich das Script nightmerge geschrieben, was das selbe tut, wie mymerge -- aber nicht das worldfile mit unnötigen Einträgen zumüllt :-)Last edited by l3u on Sun Dec 17, 2006 4:49 pm; edited 2 times in total

----------

## b3cks

Äh naja, also das World-File enthält mit Sicherheit auch alle Abhängigkeiten, die emerged wurden und x11-proto/xf86bigfontproto ist beispielsweise eine Abhängigkeit von x11-base/xorg-x11. Somit wirst du sehr viel finden, wovon du ausgehst, dass du es nicht emerged hast.

----------

## l3u

Interessanterweise enthält das Worldfile meines Laptops keinerlei Abhängigkeiten, sondern lediglich die explizit gemergten Programme!

----------

## Finswimmer

 *b3cks wrote:*   

> Äh naja, also das World-File enthält mit Sicherheit auch alle Abhängigkeiten, die emerged wurden und x11-proto/xf86bigfontproto ist beispielsweise eine Abhängigkeit von x11-base/xorg-x11. Somit wirst du sehr viel finden, wovon du ausgehst, dass du es nicht emerged hast.

 

Das ist nicht richtig, in die World Datei kommen nur die, die du selbst installiert hast.

@Libby:

Evtl hat bei einem X Update besagtes Paket nicht kompiliert und du hast es per  Hand gestartet, und schon ist es drin.

Nimm udept (http://catmur.co.uk/gentoo/udept) und lass die word Datei säubern.

Tobi

----------

## l3u

Es ist ja eben nicht nur ein Paket, es sind ... 100 oder so. Ich hab das Programm jetzt mal angeschmissen. Schaut ja echt gut aus auf den ersten Blick!

Also nachdem dep -w jetzt schon ne viertel Stunde läuft, und so ziemlich jeden Eintrag als "!!!REDUNDANT ENTRY!!!" kennzeichnet, muß ich mich doch fragen, wie der ganze Dreck in mein Worldfile kommt!

----------

## b3cks

 *Finswimmer wrote:*   

>  *b3cks wrote:*   Äh naja, also das World-File enthält mit Sicherheit auch alle Abhängigkeiten, die emerged wurden und x11-proto/xf86bigfontproto ist beispielsweise eine Abhängigkeit von x11-base/xorg-x11. Somit wirst du sehr viel finden, wovon du ausgehst, dass du es nicht emerged hast. 
> 
> Das ist nicht richtig, in die World Datei kommen nur die, die du selbst installiert hast.

 

Und schon wieder was gelernt. Ty!   :Wink: 

----------

## dave87

 *Libby wrote:*   

> Also nachdem dep -w jetzt schon ne viertel Stunde läuft, und so ziemlich jeden Eintrag als "!!!REDUNDANT ENTRY!!!" kennzeichnet, muß ich mich doch fragen, wie der ganze Dreck in mein Worldfile kommt!

 

Is zwar nur ne Vermutung, aber werden die Abhängigkeiten dort eventuell bei einem emerge -e world eingetragen?

----------

## Finswimmer

 *dave87 wrote:*   

>  *Libby wrote:*   Also nachdem dep -w jetzt schon ne viertel Stunde läuft, und so ziemlich jeden Eintrag als "!!!REDUNDANT ENTRY!!!" kennzeichnet, muß ich mich doch fragen, wie der ganze Dreck in mein Worldfile kommt! 
> 
> Is zwar nur ne Vermutung, aber werden die Abhängigkeiten dort eventuell bei einem emerge -e world eingetragen?

 

Dürften sie eigentlich nicht, denn die world Datei steht ja nur für x Pakete...

Wenn ich die einzeln merge, dann werden die Abhängigkeiten ja auch nicht eingetragen...

----------

## l3u

Gott sei Dank gibt's dieses udept-Paket! Sonst hätt ich das alles per Hand aufräumen müssen ... das ganze Worldfile besteht nur aus unnötigen Einträgen!

----------

## Finswimmer

Na ich hoffe mal, nicht alles  :Wink: 

Aber überleg mal, ob du nicht irgendwas gemacht hast, dass das verursacht hat...

Btw: Wieviele Einträge hat sie denn vorher/nachher?

Tobi

----------

## think4urs11

und die Moral von der Geschicht? ohne -1 emergt man nicht  :Wink: 

gerade wenn man zwischendrin mal schnell einzelne Teile von umfangreicheren '-pvuND world-Updatelisten' o.ä. installiert sollte man -1 immer mit angeben, sonst landen die Dinger eben im Worldfile.

----------

## franzf

Kann der Übeltäter in mymerge gefunden werden?

Das Script übergibt ja ein Liste an Paketen an emerge (vorher brav gesedet), welche nur mit -k emerget werden, also kein -1.

Verwendest du das, Libby?

----------

## fuchur

Hi

Wie alt ist den dein System? Vor ca. 3 Jahren gab es mal Gosse Probleme mit dem Worldfile

bei mir war es z.B leer. Oder hast du vielleicht einmal

```
/usr/sbin/regenworld
```

 ausgefürt?

Regenworld schreib glaube ich alles installiertes ins Worldfile

MfG

----------

## lesu

udept kenne ich ja gar nicht. Habe mir das gerade angesehen. Frage mich jetzt nur, ob dort das depclean richtig funktioniert. 

Habe mal ohne nachzusehen welche Packete entfernt werden das durchgeführt (also mit emerge --depclean world), am Ende hatte ich weder ein funktionierendes Portage noch wget etc.

----------

## Finswimmer

 *lesu wrote:*   

> udept kenne ich ja gar nicht. Habe mir das gerade angesehen. Frage mich jetzt nur, ob dort das depclean richtig funktioniert. 
> 
> Habe mal ohne nachzusehen welche Packete entfernt werden das durchgeführt (also mit emerge --depclean world), am Ende hatte ich weder ein funktionierendes Portage noch wget etc.

 

Kinners, sowas macht man auch nicht  :Wink: 

Allerdings sollte portage und wget doch in der World Datei seien...Und nicht einfach so da sein...

Hoffe, du hast alles wieder hinbekommen.

Tobi

----------

## lesu

Man war ich froh, dass ich in der Nacht davor noch ein Backup erstellt habe.

----------

## l3u

Also ich hab grad (erstmalig) mymerge benutzt, aber das tut ja nichts anderes, als z. B. emerge -e world und dann emerge --resume --skipfirst aufzurufen. Also ich glaube nicht, daß das dran schuld sein könnte.

Das System ist schon > 2 Jahre alt, aber regenworld hab ich bisher noch nie ausgeführt.

----------

## Finswimmer

Hmm, meine World Datei ist auch total zugemüllt.

Und vor nem halben Jahr hab ich die erst gesäubert, und danach nur mymerge verwendet...

Oder emerge -e world ist Schuld...

Ach egal  :Wink: 

Tobi

----------

## l3u

Wär ja aber schonmal interessant zu wissen, wo das herkommt ...

EDIT:

Okay, also es müssen eigentlich wirklich emerge -e world oder mymerge dran schuld sein ... weil das Worldfile vom Laptop, auf dem grad das System neu gebaut wird, wird zusehens mit Abhängigkeiten zugemüllt ...

----------

## Finswimmer

Müsste doch pu klären sein:

Wenn mymerge ohne einen Fehler durchläuft, ist emerge -e world Schuld, denn mymerge ruft das ja normal auf...

Tobi

----------

## l3u

Also WENN emerge -e dran schuld ist, dann sollte man entweder was dagegen tun, oder in die GCC-Update-Dokumentation reinschreiben, daß man eben nicht nur emerge -eav world machen soll, sondern emerge -eav1 world!

----------

## BuLLy

Ich denke nicht, dass emerge -e schuld ist, denn bei mir sind nur die expliziet emergeten Pakete drin. Und ich hab mein Sys auch mit emerge -e beim gcc-update neugemacht. Muss also was anderes sein.

Installier doch einfach mal testweise ein Prog, welches ein zwei Abhängigkeiten mitbringt und schau nach, ob das auch beim normalen emergen auftaucht...

gruß

BuLLy

----------

## l3u

Beim "normalen" Mergen passiert nichts. Ich hab erst ein Paket unter Aufsicht installiert (namentlich hab ich hpijs durch hplip ersetzt), das hat drei bisher nicht vorhandene Abhängigkeiten mitgebracht, und die sind -- wie erwartet -- nicht im Worldfile aufgetaucht.

----------

## ian!

Verursacht wird das durch mymerge, da es -k benutzt und jedes einzelne Paket an emerge übergibt. Damit wird jedes installierte Paket in das worldfile eingetragen.

----------

## l3u

Na toll. Das ist bekannt, und keiner tut was dagegen?!

----------

## ian!

Seitens Portage/emerge ist es das korrekte Verhalten. Seitens mymerge nicht. Wo ist das Script eigentlich her?

----------

## l3u

 *mymerge wrote:*   

> # written by Alexander 'dma147' Mieland <dma147@linux-stats.org>
> 
> # Idea by appro and dma147 (#gentoo-anfaenger @ irc.freenode.net)

 

----------

## misterjack

```
812 packages in world:  304 valid,  508 redundant;
```

hat sich ja richtig gelohnt  :Very Happy: 

----------

## franzf

Ich lass jetzt dep auch grad mal rennen. Markiert viele REDUNDANT ENTRIES.

Leider ist das auch nicht so optimal.

Der hat mir (wie ich grad mal vorbei gschaut hab) kde-base/kde-i18n gestrichen, wegen app-i18n/koffice-i18n.

Das will ich eigentlich nicht. Wenn ich koffice mal runter nehm schwebt kde-i18n dependency-los im world-All rum und wird selbst mit einem emerge -uDN nimmer upgedatet.

Außerdem wird das nicht das einzige Paket sein.

Bei meinem Experimentiertrieb kann das böse Folgen haben.

Speziell solche optionalen "PlugIns", welche nicht zwingend notwendig sind und (eben wie *-i18n) auch mit USE-Flags nicht zu erreichen sind.

Mal schaun wie das so weiter geht  :Wink: 

Ich werd gleich rot, weil ich selbst in letzter Zeit viel auf mymerge hingewiesen hab (GCC-update)...

Naja, Grüßle

Franz

----------

## l3u

Naja, aber das Script kann ja nicht wissen, daß ich z. B. lirc einzeln haben will, obwohl's außerdem eine Abhängigkeit von irgendwas ist. Aber das waren bei mir Einzelfälle, und man kann sich anschauen, was dep verändert und das auch editieren.

----------

## fuchur

Hi

Nachdem ich mein Worldfile aufgeräumt habe z.B. mit dep überprüfe ich mit folgenden

Befehlen ob auch alles noch upgedatet wird

```

emerge -epD world |grep "^\[" |cut -d] -f2 | cut -d" " -f2 >/tmp/world
```

```

find /var/db/pkg/ -iname "*.ebuild" | cut -d/ -f5,6 >/tmp/database
```

```

for RI in $(cat /tmp/world); do sed -i -e "s,^$RI,,g" -e "/^$/d" /tmp/database; done
```

Alles was sich danach noch in "/tmp/database" wiederfindet wird bei einen

```

emerge -uD world
```

 nicht upgedatet wegen fehlende einträge im worldfile (oder sind

"geslotet") sind aber laut database von Portage installiert.

MfG

----------

## Finswimmer

Und warum sollten die nicht upgedatet werden?

Ein "emerge `qlist -IC` -pvn" liefert kein Paket, welches erneuert werden muss...

Bei dir schon?

----------

## l3u

Also da ja das mymerge-Script recht übersichtlich ist, hab ich einfach mal, basierend darauf, ein Script geschrieben, was nicht das Worldfile zumüllen sollte. Wer's testen will: http://www.nasauber.de/downloads/gentoo/#nightmerge

EDIT: Link aktualisiertLast edited by l3u on Sun Dec 17, 2006 4:48 pm; edited 2 times in total

----------

## fuchur

Hi

 *Finswimmer wrote:*   

> Und warum sollten die nicht upgedatet werden?
> 
> Ein "emerge `qlist -IC` -pvn" liefert kein Paket, welches erneuert werden muss...
> 
> Bei dir schon?

 

Dep entfernt bei mir z.B. "app-misc/mc".

Wenn ich jetzt z.B "/usr/portage/app-misc/mc/mc-4.6.1-r2.ebuild" stable mache

da wird bei mir nichts upgedatet. Ist nur ein Beispiel von mehreren.

MfG

----------

## Finswimmer

 *fuchur wrote:*   

> Hi
> 
>  *Finswimmer wrote:*   Und warum sollten die nicht upgedatet werden?
> 
> Ein "emerge `qlist -IC` -pvn" liefert kein Paket, welches erneuert werden muss...
> ...

 

Hab ich eben auch mal getestet, und bei mir will er dann das betreffende Paket (dev-libs/atk) updaten...

Naja...Zu Not machst du ab und zu das hier: qlist -IC` -pvn

Tobi

----------

## fuchur

Hi

 *Finswimmer wrote:*   

> 
> 
> ...
> 
> ...
> ...

 

Oder ich füge das was fehlt einfach in "/var/lib/portage/world" ein. Wenn ich dep benutzt hätte 

währe das unter anderem "app-misc/mc"

MfG

----------

## Finswimmer

Trotzdem erstaunlich, dass er bei dir nen Fehler gemacht hat...

Bei mir hat alles gepasst.

Tobi

----------

## mv

 *Libby wrote:*   

> Also da ja das mymerge-Script recht übersichtlich ist, hab ich einfach mal, basierend darauf, ein Script geschrieben, was nicht das Worldfile zumüllen sollte.

 

Ein ähnliches Skript, das ebenfalls nicht das Worldfile zumüllt, und noch Dutzende weiterer Optionen bietet, ist emerge.wrapper von http://www.mathematik.uni-wuerzburg.de/~vaeth/gentoo/index.html

----------

## l3u

Kenn ich schon, ist mir aber zu kompliziert und suspekt ;-)

----------

## think4urs11

 *Libby wrote:*   

> Kenn ich schon, ist mir aber zu kompliziert und suspekt 

 

hmm nee nichts gegen selbstgebaute Scripte aber da bleibe ich lieber bei plain emerge, das funktioniert wenigstens wie es soll und hat keine Nebenwirkungen (die mich betreffen/stören würden)  :Wink: 

Bei mir lief die letzten beiden Tage auch ein emerge -e world durch; er hat zwar immer wieder mal was am worldfile gemacht (timestamp änderte sich laufend) aber vorher/nacher war der Inhalt identisch.

----------

## l3u

Mein Scriptchen tut ja (im Gegensatz zu den anderen) nichts anderes, als ein "plain emerge" auszuführen. Es gibt ja nur die Kommandozeilenargumente weiter :-)

----------

## mv

 *Libby wrote:*   

> Mein Scriptchen tut ja (im Gegensatz zu den anderen) nichts anderes, als ein "plain emerge" auszuführen. Es gibt ja nur die Kommandozeilenargumente weiter :-)

 

Genau das tut "emerge.wrapper --NOO1" auch (ohne --NOO1 wird halt noch -O1 zusätzlich übergeben, weil man das meist möchte, aber leicht vergisst). Die anderen Optionen muss man ja nicht nutzen (sie sind nur dazu da, ggf. zusätzliche Pakete - etwa alle von System - zu übergeben). Was daran suspekt sein soll, verstehe ich nicht.

----------

## l3u

Es kann ja jeder benutzen, was er will ...

----------

## schachti

ok, zu meiner Schande muß ich gestehen, daß ich mich in meinen vielen gentoo-Jahren bisher noch nie mit dem world-file beschäftigt habe...   :Embarassed: 

Wenn ich das richtig verstehe landen im world-file genau die Pakete, die ich mittels portage explizit emerge und nichts anderes, also nichts, was als Abhängigkeit mitinstalliert, und nichts, was aufgrund der Angaben im aktuellen Profil installiert wird. Das heißt dann ja, daß ich aus dem world-file wirklich all das löschen kann, was ich nicht explizit haben will (was ich also bei einer Neuinstallation nicht explizit emergen würde) - korrekt?

----------

## l3u

j0

----------

## Battlestar Gentoo

j0

Und wie es dann mit den Abhängigkeiten aus, bzw wie weiß Portage, dass im Worldfile vorher etwas drin stand, das jetzt nicht mehr drin steht? Und wenn es Portage nicht weiß, wie kann es dann Pakete, die es nicht mehr benötigt, wieder deinstallieren?

----------

## Finswimmer

 *Gentoo Reptile wrote:*   

> j0
> 
> Und wie es dann mit den Abhängigkeiten aus, bzw wie weiß Portage, dass im Worldfile vorher etwas drin stand, das jetzt nicht mehr drin steht? Und wenn es Portage nicht weiß, wie kann es dann Pakete, die es nicht mehr benötigt, wieder deinstallieren?

 

Kannst du das nochmal verständlicher eklären?

In der World Datei steht zum Beispiel Paket1, weil ich dies mit emerge Paket1 instaliert habe.

Paket1 benötigt aber Paket2-10: diese sind dort nicht zu finden.

Deinstalliere ich nun Paket1, besteht keine Verwendung für 2-10, ich kann es also über "emerge --depclean" entfernen...

Tobi

----------

## franzf

 *Gentoo Reptile wrote:*   

> Abhängigkeiten aus, bzw wie weiß Portage, dass im Worldfile vorher etwas drin stand, das jetzt nicht mehr drin steht? Und wenn es Portage nicht weiß, wie kann es dann Pakete, die es nicht mehr benötigt, wieder deinstallieren?

 

Worldfile != Portage-DB...

Worldfile: /var/lib/portage/world

hier wird eingetragen was in der Kommandozeile dem Programm "emerge" übergeben wurde"

Portage-DB: /var/db/pkg

Hier wird alles gespeichert was an Software gerade auf deinem Rechner installiert ist.

----------

## l3u

Die Abhängigkeiten kann man ja aus dem Worldfile errechnen. Deswegen müssen/sollten die da auch nicht stehen, weil wenn du eben ein Paket installierst, das 10 Abhängigkeiten mitbringt, und es wieder deinstallierst, dann kann Portage nicht wissen, daß den Kram keiner mehr braucht, sofern die Abhängigkeiten im Worldfile stehen.

----------

## a.forlorn

Anscheinend wird aber, wenn man regenworld nutzen muss (alkohol und aufräumwahn), alle installierten packages ins worldfile übertragen.

----------

## tost

Was regenworld genau macht weiß ich jetzt nicht, doch fügt es nicht alle installierten Pakete hinzu.

----------

## fuchur

Hi

 *tost wrote:*   

> Was regenworld genau macht weiß ich jetzt nicht, doch fügt es nicht alle installierten Pakete hinzu.

 

Wenn ich mich recht erinnere durchforstet regenworld "/var/log/emerge.log" und packt alles ins worldfile hinzu

was laut "/var/log/emerge.log" installiert und nicht wieder deinstalliert wurde ohne Berücksichtigung von Abhängigkeiten.

MfG

----------

## l3u

Mag sein, ändert aber nichts an der Tatsache, daß dei allermeisten Pakete nichts im Worldfile verloren haben. Ich denke mal, daß regenworld mehr so ein Notnagel ist, wenn man das Worldfile aus Versehen gelöscht hat oder so. Weil wie gesagt, woher soll ein Programm wissen, daß ich LIRC im Worldfile stehen haben will, wenn's außerdem eine Abhängigkeit von XMMS ist? Dann schreibt das Programm halt lieber alle (oder viele) Pakete rein, um sicherzugehen.

----------

## TheSmallOne

 *Libby wrote:*   

> Weil wie gesagt, woher soll ein Programm wissen, daß ich LIRC im Worldfile stehen haben will, wenn's außerdem eine Abhängigkeit von XMMS ist? Dann schreibt das Programm halt lieber alle (oder viele) Pakete rein, um sicherzugehen.

 

Naja, wenn das Useflag nicht gesetzt ist, könnte das Programm annehmen, dass es nicht als Abhängigkeit installiert wurde, sondern manuell. Und wenn es gesetzt ist kann man immernoch nachfragen.  :Smile: 

----------

## Finswimmer

Was habt ihr denn gegen das Dep Programm aus "udept"? Das baut euch die World Datei komplett neu.

Und zwar wirklich nur die Programme die "on top" vom Abhängigkeitsbaum hängen.

Tobi

----------

## tost

Diese Argumentation macht mich nachdenklich:

https://forums.gentoo.org/viewtopic-p-3590791.html#3590791

edit:

Nutze es trotzdem, auch wenn das Programm sehr lange brauch bis es einmal durch ist

----------

## l3u

@Finswimmer: Wenn das LIRC-Useflag nicht gesetzt ist, dann ist LIRC ja auch keine Abhängigkeit und würde somit ohnehin von dep im Worldfile gelassen werden. Und wenn man nachfragt, dann müßte man bei _allen_ Paketen nachfrage, weil es ja theoretisch bei allen sein könnte, daß man sie von Hand installiert hat ;-)

@TheSmallOne: Ich will eben nicht _nur_ die "on top"-Programme im Worldfile haben, s. o. -- außerdem hat dep bei mir nicht alles rausgeschmissen, was hätte rausgeschmissen werden sollen, weswegen ich das Worldfile dann noch von Hand editiert habe. Es ist ja außerdem okay, dep zu verwenden -- ich hab ja gar nichts dagegen! Man braucht es bloß nicht, sofern man vorher nicht mymerge benutzt hat!

@tost: Deswegen hab ich dep auch nicht "blind" das neue Worldfile installieren lassen, sondern am Schluß interaktiv gemerget. Weil eben _alles_ rausfliegt bzw. rausfliegen sollte, was nicht unbedingt drinstehen müßte.

----------

