Einzelnen Beitrag anzeigen
Alt 26.06.2002, 11:14   #22
citizen428
Elite
 
Registriert seit: 04.04.2001
Beiträge: 1.358


citizen428 eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von santi
Wieso können denn eigentlich bei Gentoo und Debian die Paketabhängigkeiten automatisch aufgelöst werden? Sind da bei den Programmen die erforderlichen Bibliotheken immer dabei oder gibt es so einen Art Wegweiser der dem Programm sagt wo es fehlende Pakete findet?
Allgemein:
Bei beiden Distributionen gibt es zentrale Server die jeweils eine komplette Paketdatenbank beheimaten. Bei Debian kann man in der /etc/apt/sources.list einstellen von welchem Mirror die Pakete geholt werden, bei Gentoo in der Datei /etc/make.conf (allerdings gibt es nicht wirklich viele Gentoo Mirrors, was an der relativen Neuheit der Distribution liegt).

Gentoo:
Willst du jetzt ein Paket installieren kannst du mit "emerge -p $PROGRAMMNAME" sehen welche Abhängigkeiten es mitbringt (-p steht für pretend, es wird also nichts installiert). Danach wird im Portage-Tree (ein Verzeichnis in dem alle als Gentoo .ebuils verfügbaren Pakete aufgelistet sind) nach der .ebuild-Datei des jeweiligen Programms gesucht. Nachdem bei Gentoo alles von Sourcen weg kompiliert wird ist ein .ebuild quasi eine in Python geschriebene Kompilations- und Installationsanleitung. Und in eben diesen .ebuilds sind auch die Abhängigkeiten eingetragen. Diese lassen sich noch durch die Variable USE in der Datei /etc/make.conf beeinflussen, siehe nächster Abschnitt.

Die Varibale USE und die Datei make.conf (Gentoo):
Da alles von Sourcen kompiliert wird hat man mit der Varibale USE weitreichende Möglichkeiten auf den Kompiliervorgang einfluß zu nehmen. Einzelen Optionen können in dieser Varibalen einfach aktiviert bzw. deaktiviert werden. Der Eintrag "-kde" in meiner bewirkt daß alle Programme die optionalen KDE-Support bieten ohne diesen kompiliert werden (da ich nur GNOME verwende). Und die Option "X" bewirkt daß Programme die X-Unterstützung bieten, aber eigentlich für die Konsole sind mit eben diesen X-Features kompiliert werden (z.B. vim -g).

Dadurch verändern sich auch die Abhängigkeiten: wenn ich "X" in meiner USE-Variablen stehen habe, würde ein "emerge vim" XFRee86 aus dem Netz laden und kompilieren weil ich es dazu angewiesen habe dieses optionale Feature zu benutzen. Würde in der Variablen "-X" stehen, wäre XFree auch keine Abhängigkeit.

Weiters kann ich in der make.conf noch Flags und Switches für den gcc eintragen womit gewährleistet wird daß die Programme optimal auf mein System zugeschnitten kompiliert werden.

Hoffe das war halbwegs verständlich erklärt.
citizen428
____________________________________
citizen428.blog() | CARGAL | open.source.mac
citizen428 ist offline   Mit Zitat antworten