1 |
On Tue, Apr 25, 2006 at 03:02:15AM +0200, Ace Dahlmann wrote: |
2 |
> es hieß früher doch immer, man sollte aus bestimmten Gründen die Option |
3 |
> --deep beim emerge meiden. |
4 |
|
5 |
Dass es das allgemein hieß, das würde ich so nicht sagen. |
6 |
|
7 |
Ich kann mich noch vage an die damalige Argumentation erinnern. Das |
8 |
waren einzelne, die das gesagt haben und folgende Argumente gelten so |
9 |
heute noch. Ich schreibe das mal so auf. wie es mir noch im Kopf |
10 |
rumschwirrt... ;-) |
11 |
|
12 |
|
13 |
Also die normale Paketverwaltung von Gentoo hält eine Liste aller vom |
14 |
Benutzer gewünschten Programme vorrätig. Diese Liste ("world") wird |
15 |
automatisch erstellt mit allem was du bei "emerge foobar" als |
16 |
Programmname angibst. Für alle diese Programme wird ein sogenannter |
17 |
"dependancy-tree" aufgebaut, also ein Baum aller anderen Pakete, die du |
18 |
brauchst um das Programm installieren bzw. betreiben zu können. |
19 |
|
20 |
Wenn du mit emerge -u world ein Update einleitest, dann wird für alle |
21 |
Programme in dieser Liste geschaut, ob es neue Versionen gibt. Sollte |
22 |
eine neue Version auch eine veränderte Abhängigkeit haben (z.B. ein |
23 |
neues kdebase benötigt auch neuere kdelibs), so wird diese Abhängigkeit |
24 |
auch entsprechend der Anforderungen geupdatet. |
25 |
|
26 |
Wenn du das Update mit --deep startest, wird für alle Programme und alle |
27 |
Abhängigkeiten die neueste verfügbare Version installiert, egal ob die |
28 |
Abhängigkeit in einer neueren Version benötigt wird oder nicht. |
29 |
|
30 |
Das hat nun den Vorteil, dass man alle Pakete auf dem System in der |
31 |
jeweils aktuellsten Version hat. |
32 |
Und es hat den Nachteil, dass eventuell eine Bibliothek geupdatet wird, |
33 |
obwohl ein Programm, das diese Bibliothek benutzt nicht geuüpdatet wird. |
34 |
Und da liegt der Hase im Pfeffer, denn wenn du eine Bibliothek updatest, |
35 |
musst du (in vielen Fällen) unbedingt alle Programme die das benutzen |
36 |
auch neu installieren, da diese sonst den berüchtigten "Cannot find |
37 |
symbol: foobar"-Fehler bekommen und nicht mehr laufen. |
38 |
|
39 |
Ergo: Wenn du --deep benutzt, passiert es viel häufiger, dass solche |
40 |
Probleme auftauchen, da viel öfter Bibliotheken ohne das verwendende |
41 |
Programm neu kompiliert werden. |
42 |
|
43 |
Ohne --deep kommt das zwar auch vor wenn mehrere Progrmme sich eine |
44 |
Bibliothek teilen und eines davon eine neuere Version verlangt, nur eben |
45 |
nicht so oft. |
46 |
|
47 |
|
48 |
> Ich wollte diesen berühmt-berüchtigten |
49 |
> Artikel, auf den so oft verwiesen wurde, einem Freund von mir zeigen, |
50 |
> da ich selbst die Argumentation auch nicht mehr zusammen bekommen habe. |
51 |
> Allerdings kann ich diesen trotz intensiven Googlens einfach nicht mehr |
52 |
> wiederfinden. |
53 |
|
54 |
Ich wußte nicht, dass es da "einen berühmt-berüchtigten" Artikel gab, |
55 |
ich kann mich nur an einer derartige Diskussion irgendwo erinnern. :) |
56 |
|
57 |
|
58 |
|
59 |
> Ist das Ganze denn überhaupt noch aktuell? Oder kann man inzwischen |
60 |
> doch problemlos --deep nutzen? |
61 |
|
62 |
Es ist genauso aktuell wie damals, man muss für sich selbst entscheiden, |
63 |
ob man lieber aktuell oder lieber ein bisschen weniger gefährlich lebt. |
64 |
|
65 |
cu, Bernd |
66 |
|
67 |
-- |
68 |
tail -f /dev/null |