Fink

F.A.Q. - 1. Allgemeine Fragen

F.1.1: Was ist Fink?

A.: Fink will mehr Unix-Programme auf Mac OS X zur Verfügung stellen. Daraus ergeben sich zwei Ziele:

Das erste Ziel ist Programme nach Mac OS X zu portieren. Das bedeutet, dass wir Open-Source Unix-Programme hernehmen und alles korrigieren, damit sie auf Mac OS X übersetzt werden kann und lauft. Das ist bei manchen Paketen ganz leicht, bei anderen aber sehr schwierig oder gar unmöglich. Wo immer möglich, versucht Fink dies durch Hilfsmittel und Dokumentation zu erleichtern.

Das zweite Ziel ist, die Ergebnisse für normale Nutzer zur Verfügung stellen. Dazu wird eine sogenannte Distribution mit Paket-Management-Tools erzeugt, die von Linux nach Mac OS X portiert wurden, insbesondere dpkg und apt-get, die von und für das Projekt Debian GNU/Linux geschrieben wurden. Die binäre Distribution benutzt das .deb Paketformat. Für die Erstellung der Pakete aus den Quellen verwenden wir unser eigene Tool, fink, das die .deb Paketdateien erzeugt.

F.1.2: Welche Bedeutung hat der Name Fink?

A.: Keine. Es ist nicht einmal ein Akronym.

Wie sie wissen, ist ein Fink ein Vogel. Ausgehend vom Namen des Betriebssystem, Darwin, dachten die Gründer von Fink an Charles Darwin, die Galapagos-Inseln, Evolution, die Darwin-Finken und ihre Schnäbel im Schulbuch. Das ist alles.

F.1.3: Wie unterscheidet sich Fink vom BSD-Port-Mechanismus, einschließlich OpenPackages und GNU-Darwin?

A.: Die wichtigsten Vorteil:

  • Fink ist in Perl geschrieben und nicht mit make/shell. Es verlässt sich folglich nicht auf Besonderheiten in BSD make und braucht keine Kennzeichen für Pakete, die GNU make benötigen.

  • dpkg ist ein mächtiges Hilfsmittel für die Verwaltung binärer Pakete - einfache Updates, separate Behandlung von Konfigurationsdateien, virtuelle Pakete und weitere anspruchsvolle Abhängigkeiten.

  • Fink installiert nichts in /usr/local außer es wird explizit verlangt. Es kommt ohne Tricksereien mit /usr/bin/make oder anderen Systemtools aus. Dadurch ist Fink sicherer zu benutzen und verringert Konflikte mit Mac OS X und Dritt-Software auf ein Minimum.

F.1.4: Warum installiert Fink nichts in /usr/local?

A.: Es gibt mehrere Gründe, aber das gemeinsame für alle ist, dass sonst mehr oder weniger schlimme Abstürze passieren.

1. Grund: Dritt-Software. In /usr/local wird üblicherweise Software installiert, die nicht zum Ursprungs-System gehört. Deshalb sieht es zunächst wie ein guter Platz aus, aber Software von anderen wird ebenfalls dort installiert, dabei wird meistens einfach überschrieben, wenn etwas schon vorhanden ist, auch von dpkg. Man könnte natürlich auch irgendwo anders installieren, aber meistens wird dies bei der Installation nicht abgefragt.

2. Grund: /usr/local/bin ist Teil des Standard-PATH. Der Vorteil ist, dass alles von einer Shell gefunden wird. Es wird aber aufwändig, wenn man etwas ausschalten möchte und kann sich im Extremfall über Shell-Skripte sogar im System auswirken.

3. Grund: Die Compiler-Tools suchen standardmäßig in /usr/local. Der Compiler sucht in /usr/local/include nach Header-Dateien und der Linker in /usr/local/lib nach Bibliotheken. Das hört sich zunächst als sehr praktisch an, aber ausschalten ist sehr schwierig. Man kann den Compiler sehr leicht durcheinander bringen, indem man eine Datei mit Müll und dem Namen stdio.h in /usr/local/include ablegt.

Sie wurden gewarnt! Es ist möglich, dass Fink in /usr/local installiert. Das Installations-Skript wird sie ausdrücklich warnen, aber fortfahren, nachdem sie bestätigt haben, dass es auf ihr eigenes Risiko weiter machen soll.

F.1.5: Wieso /opt/sw?

A.: Die Wahl war ziemlich willkürlich, aber es sieht danach aus, dass es in absehbarer Zukunft für updates so bleiben kann und vor Konflikten mit anderer Software sicher ist.

Weiter: 2. Verbindungen zu anderen Projekten