• Diese Seite verwendet Cookies. Indem du diese Website weiterhin nutzt, erklärst du dich mit der Verwendung von Cookies einverstanden. Erfahre mehr

Abhängigkeiten...

B-Free

Nixdraufhabaußerzahnbelag
Themenstarter #1
Hallo Leute.

Hab malne Fräge zu FreeBSD.

Wie ist das eigentlich mit Abhängigkeiten?

Wenn ich mir z.B über diese Ports ein Programm installieren will,
werden dann die Abhängigkeiten gleich mitinstalliert??
 

asg

push it, don´t hype
#4
Wie ist das eigentlich mit Abhängigkeiten?
Wenn ich mir z.B über diese Ports ein Programm installieren will,
werden dann die Abhängigkeiten gleich mitinstalliert??
Selbstverständlich, alles andere wäre die Reinkarnation der Steinzeit in einem Betriebssystem.

Damit Du mit den Ports noch komfortabler umgehen kannst, empfehle ich Dir "portupgrade" zu installieren.
Dazu gehe in das Verzeichnis /usr/ports/sysutils/portupgrade und gebe dort "make && make install && make clean" ein.
Eine sehr gute Beschreibung die Du unbedingt lesen solltet liegt unter http://www.onlamp.com/pub/a/bsd/2001/11/29/Big_Scary_Daemons.html

Evtl. doppelte Abhängigkeiten werden damit ohne Probleme erkannt und, je nach Bedarf, kannst Du diese dann auflösen.
 

asg

push it, don´t hype
#6
Ja.
Musste man davor immer den Port incl. der versionsnummer angeben (und wer hatte diese schon jedesmal im Kopf), reicht nun die Angabe des Ports. Das war schon ein kleiner Evolutionssprung.
Wobei natürlich ein "make install clean" im jeweiligen port auch kein Akt ist, aber portupgrade macht es einfach besser ;)
 

oBdA

Well-Known Member
#7
Moin, moin!

Ich kenne portupgrade und hab's auch schon benutzt (bin nach dem Artikel vorgegangen), aber weiß immer noch nicht welche Vorteile es bietet? Könnt ihr mich mal aufklären, am besten anhand eines Beispiels.

hang lost
 

asg

push it, don´t hype
#8
Servus.

Na, neben dem oben beschrieben weglassen-können der Versionsnummer beispielsweise noch dies:

Stell Dir vor das ein Port die Versionsnummer 1.0.1 hat. Dieser Port ist nun in einer neuen Version, 1.0.2 zu haben und beinhaltet einige bug fixes. Weiterhin stehen einige Ports in Abhängigkeit zu dem alten Port 1.0.1. Macht man ein update von Port 1.0.1 auf 1.0.2, so kann es passieren, dass einige der Ports die den alten Port 1.0.1 hard codiert inne haben, mit dem neuen Port 1.0.2 nichts anfangen können, und diese Programme nicht mehr ordnungsgemäß funktionieren.
Mit "portupgrade" kein Problem.

Es ist schneller als das herkömmliche Verfahren unter FreeBSD, sprich die Inforamtionen aus der db/ werden schneller ausgelesen, ebenso wie der Bau der db.

Dadurch ist der Komfort erhöht worden mit den ports zu arbeiten, was das Arbeiten wiederum angenehmer und schneller macht.
 

oBdA

Well-Known Member
#9
Tach auch!

Oh ja, das macht Sinn, obwohl ich zugeben muss das mir das noch nie (hab' FreeBSD seit Herbst 2001) passiert ist.
Vieleicht liegt's daran das sowas nur bei Bibliotheken kritisch ist und die (sollten zumindest) als black-box ausgelegt sein (so würd' ich es machen) sind.

thx
 
#10
HI,

also mal ein Anwendungsfall, der portupgrade sinnvoll macht:

portversion -c > foo.sh

Dann in der foo.sh den Interpreter, also meist
#!/bin/sh
angeben und ausführbar machen.

Wenn Du dann ./foo.sh ausführst, werden nacheinander die entsprechenden Ports gesichert, ein Update eingespielt und dann bei Fehlschlag des Updates die Sicherung eingespielt.
Im Falle einer weiteren Benutzung des alten Ports wegen Abhängigkeiten, wird dieser in ein Kompatibilitätsverzeichnis verschoben, damit mit diesem weiter gearbeitet werden kann.

Eine rundum feine Sache also;)