Homebrew gegen Fink gegen Macports?

23364
zengr

Ich verwende Fink, um Unix-Apps auf meinem Mac zu installieren. Ich bin gerade auf Homebrew gestoßen und habe einige gute Kritiken über Homebrew gesehen.

Meine Frage ist also:

  1. Welchen Paketmanager verwenden Sie für Mac?
  2. Ich benutze derzeit Fink. Wird sich der Wechsel von Fink zu Homebrew wirklich lohnen?
  3. Wenn 2. wahr ist, warum dann?
36
Ich bin von Fink zu Homebrew gezogen. Das Beste an Homebrew ist, dass Sie es überall installieren können, also kein Sudo erforderlich ist. Was mir persönlich nicht lieber ist. Irgendwelche Vorschläge zu Macports? zengr vor 14 Jahren 0
Nach dem Gebrauch von Brew glaube ich, dass es wenige Pakete gibt, die nicht da sind. wie "meld" ist auf macports aber nicht auf brauen. zengr vor 14 Jahren 0
meld wird jetzt in brew angeboten Antony vor 12 Jahren 0

3 Antworten auf die Frage

18
churnd

IMHO, das Problem mit Homebrew ist, dass es versucht, / usr / local so zu verwenden, dass es nie dazu gedacht war, verwendet zu werden: Eigentümer eines anderen Benutzers als root. Ich verstehe zwar, dass die Entwickler von Homebrew darauf achten, sich nicht mit irgendetwas anderem in / usr / local zu verloben, aber nichts anderes, das in / usr / local installiert wird, wird für Homebrew das gleiche tun. Dies kann zu Problemen führen und hat für mich in der Regel Berechtigungsprobleme, die sich aus der Installation anderer Software ergeben, die Berechtigungen für / usr / local / auf der Grundlage der "wie sie sein sollte" setzt. Es wird nie ein anderes Softwarepaket erwartet, das / usr / local / einem anderen Benutzer als root gehört. Warum also Homebrew? Warum nicht einfach benutzen ~/bin?

Eine wenig bekannte Tatsache, warum Fink & MacPorts ihre eigenen Bibliotheken kompilieren :

Es gibt mehrere Gründe, warum MacPorts seine eigenen Bibliotheken verwendet. Dadurch werden die Ports für verschiedene Versionen von Mac OS X konsistenter. Wenn wir beispielsweise von MacPorts auf openssl 1.0.0 vertrauen können, müssen wir nicht jeden Port testen, der ssl für jede verfügbare openssl-Installation benötigt. Apples Software neigt dazu, von Zeit zu Zeit zu brechen (z. B. weigert sich openssl, mit einer alten Zlib zu bauen, aber für eine Weile lieferte Apple die alten Header der verwundbaren Zlib-Version). Selbst wenn Apples Versionen nicht kaputt sind, sind sie selten auf dem neuesten Stand. Apple hat die Angewohnheit, die Bibliotheken in Mac OS X nur dann zu aktualisieren, wenn dies durch eine Sicherheitslücke unbedingt erforderlich ist.

Die Nachteile dieser Richtlinie sind minimal: Wenn Sie über eine Festplatte mit mehreren Gigabyte verfügen, ist die Verschwendung von wenigen Megabytes für eine Python-Installation praktisch nichts, und die für den Aufbau der zusätzlichen Ports erforderliche Zeit verringert sich, je schneller der Computer wird.

Während Homebrew schneller installiert werden kann, was Sie möchten, kann es jedoch andere schädliche Nebenwirkungen haben, wenn Sie vorgefertigte Apple-Systembibliotheken verwenden.

Ich hasse es, wieder gegen Homebrew zu graben. Ich mag die Software und finde, dass sie für einige Dinge großartig ist, aber sie hat ihre aktuellen Nachteile.

Führen Sie es einfach als root aus, wenn sich die Berechtigungen geändert haben. Es ist für mich passiert, es gibt eine Fehlermeldung und ich `sudo`ed. Was ist das Problem? Daniel Beck vor 12 Jahren 0
Das Problem ist ihrer Meinung nach, so soll es nicht gemacht werden. Ihr "empfohlener Weg" ist nicht richtig. churnd vor 12 Jahren 0
Sie sind jedoch ein überzeugendes Argument gegen den exzessiven Gebrauch von "Sudo". Es schlägt nur fehl, wenn Sie Ihre eigenen Programme in demselben Präfix installieren. Die meiste Software kann anderswo installiert werden. Vielleicht haben Sie es falsch gemacht? Fink und Macports haben gerade ihre eigene Verzeichnishierarchie erstellt, um dieses Problem zu umgehen ... Daniel Beck vor 12 Jahren 0
Nein, ich habe es nicht falsch gemacht. Die Praxis, dass / usr / local einem normalen Benutzer gehört, ist falsch. Sie werden das mit keiner anderen * nix-basierten Software jemals sehen. Jedes andere Softwarepaket, das ich gesehen habe, respektiert root: wheel Besitz von / usr / local. Warum überhaupt überhaupt / usr / local übernehmen? Verwenden Sie / opt / homebrew und verknüpfen Sie die Dinge mit / usr / local / bin oder / usr / local / lib, wenn Sie müssen (wenn auch mit sudo). Geben Sie dem Benutzer die Wahl, aber brechen Sie keine Dinge, wenn Sie die Dinge getrennt halten möchten. Richten Sie ihre Umgebung entsprechend ihrer Auswahl ein. Alles existiert friedlich zusammen. Win-Win churnd vor 12 Jahren 8
Ich bin mir dessen bewusst, danke. Verwenden Sie dann einfach ein anderes Präfix. Beim letzten Mal war das Präfix anpassbar. Die Standardwerte beziehen sich auf den durchschnittlichen Benutzer. Für über 90% der Benutzer ist dies gut genug, da sie einfach keine eigene Software unter / usr / local installieren und installieren. Sie haben nicht einmal mehrere Benutzerkonten, daher ist der Besitz dort kein Thema und verbessert tatsächlich die gesamte Benutzererfahrung. Daniel Beck vor 12 Jahren 0
Homebrew kann auch als Root verwendet werden (obwohl sie davon abraten), was ich seit Monaten ohne Probleme getan habe, und verfügt über einen "Braud Doctor", der das Eigentum überprüft und Ihnen sagt, ob einige anders eingestellt sind. Es ist einfach etwas, das Sie beachten sollten, genauso wie das Teilen von Bibliotheken mit OS X oder das unterschiedliche Verhalten von Macports, durch das jede Basisbibliothek erneut heruntergefahren wird. Daniel Beck vor 12 Jahren 0
Es geht nicht nur um das Kompilieren / Installieren. Einige Installationspakete für OS X installieren nach / usr / local (nmap, juniper vpn usw.) und installieren diese, nachdem Homebrew die Berechtigungen verwendet hat. Es geht nicht darum, was Sie * denken * Leute (90%? ... oh bitte), es geht darum, was auf einem Unix-System als gute Praxis gilt. Wenn es als einzelner normaler Benutzer ausgeführt werden soll, gehört es in `~ / bin`. Ich bin mir bewusst, dass Homebrew an verschiedenen Orten ausgeführt werden kann und im Besitz von root ist. Das Problem ist, dass sie dringend davon abraten und warnen, dass Dinge brechen, wenn Sie dies tun. Nicht sehr benutzerfreundlich. churnd vor 12 Jahren 0
Dafür ist 'Brew Doctor' wieder da. `~ / bin` funktioniert aus dem einfachen Grund, dass es die Benutzer, die es bereits verwenden, verärgert, anders (klingt vertraut?) und die Tatsache, dass sie nicht nur Binärdateien bereitstellen. Sie benötigen eine umfassendere Ordnerhierarchie. // Sie glauben also nicht, dass die meisten Benutzer von zB Homebrew * keine * Software in / usr / local installieren? Daniel Beck vor 12 Jahren 0
Außerdem erwähnen Sie *, was als bewährte Methode für ein Unix-System angesehen wird *. Bitte erläutern Sie das Fehlen von `/ srv`,` / mnt` und `/ home` unter OS X, wie in der FHS angegeben. Wenn Sie eine andere Referenz haben, die nicht bereits durch die eigene Konvention von OS X verletzt wurde, teilen Sie diese bitte mit. Daniel Beck vor 12 Jahren 0
Wenn Homebrew von Anfang an "~ / bin" verwendet hätte, wären alle glücklich, außer denjenigen, die über ein Multi-User-System verfügen. Es ist sinnlos, dieses Argument vorzulegen. Als Antwort auf Ihren zweiten (letzten) Kommentar existieren diese Speicherorte normalerweise nicht auf BSD-Systemen, sondern auf Linux-Systemen. Beide fallen unter die Unix-Kategorie, sind jedoch unterschiedliche Rassen eines Betriebssystems. Die FHS gilt nicht für BSD-Systeme, nur für Linux. OS X basiert auf BSD. churnd vor 12 Jahren 0
Nochmals: `~ / bin` wird manchmal von * Benutzern * für ihre eigenen Programme verwendet. Genauso wie `/ usr / local`. Was wäre besser damit? Und wieder kann ~ ~ bin einfach nicht semantisch geschnitten werden: Sie brauchen mehr als Binärdateien. Oder schlagen Sie auch die Verwendung von `~ / lib`,` ~ / sbin`, `~ / etc`,` ~ / include` etc vor? // In Bezug auf das Dateisystem: Sie machen ein gutes Argument gegen meine Referenz. Hast du einen eigenen? Daniel Beck vor 12 Jahren 0
Das wird dumm. Ich kommentiere noch ein letztes Mal und lasse es dabei. Sie widersprechen sich. Der springende Punkt von Homebrew ist, dass bereits vorhandene Bibliotheken verwendet werden, die OS X bereits hat. Die Installation von "Homebrew" in "~ / bin" unterscheidet sich funktional nicht von "/ usr / local". Die zum Ausführen erforderlichen Elemente (lib, etc, sbin, include) befinden sich standardmäßig in jeder Benutzerumgebung unter OS X. Das ist die "Schönheit" davon. churnd vor 12 Jahren 0
In Bezug auf das Dateisystem gibt es für BSD-Systeme wie die mir bekannte FHS keinen Hierarchie-Standard. Ich habe lediglich darauf hingewiesen, dass `/ usr / local` normalerweise keinem anderen Benutzer als root gehört. Das gilt sowohl für BSD als auch für Linux. OK, das waren zwei Kommentare, aber nur weil es das Limit überschritten hat. FLOSSE. churnd vor 12 Jahren 0
@ churnd Ich finde es interessant, dass Homebrew endlich einen Fehler eingestanden hat und in der neuen Version, die vor ein oder zwei Wochen veröffentlicht wurde, die Standardberechtigungen für / usr / local wiederhergestellt hat ... der Kampf ist vorbei ... was sie getan haben Umgehen Sie dies, war, dass sie ihre Benutzer: Gruppenberechtigung für Verzeichnisse in / usr / local ... aber nicht / usr / local selbst setzen. lol ... auch wie Homebrew, aber in diesem einen Punkt waren sie immer falsch. oemb1905 vor 7 Jahren 0
15
Jacob

Ich bevorzuge Homebrew aufgrund der Einfachheit / Geschwindigkeit - meine Tools werden im Moment schnell aktualisiert.

Es ist das schmerzloseste Source-basierte Paket-Management-Tool, das ich verwendet habe, und die Entwicklung scheint ziemlich aktiv zu sein. Was willst du mehr?

(Ja, alle fehlenden Apps)

Das Bearbeiten und Korrigieren von Formeln ist mit Homebrew * wirklich * einfach. bastibe vor 13 Jahren 1
6
mefepe

Ich benutze sowohl Fink als auch Macports. Beide wirken wie ein Zauber.

Ich könnte Homebrew jedoch nicht so erfahrenen Benutzern empfehlen, die aufgrund ihrer scheinbaren Einfachheit nur von Windows migrieren.

Eine weitere Abstimmung für Homebrew. Endlich ein Paketmanager, der nicht das Gefühl hat, ein völlig neues Betriebssystem zu installieren. Paul Robinson vor 13 Jahren 3
Wie kann Homebrew für erfahrene Benutzer einfach sein? Ich habe Fink nie benutzt, aber Macports ist auch für Anfänger kein Kinderspiel Antony vor 12 Jahren 1
es ist 2016, und zurück etwa 2010 habe ich aufgehört, fink zu benutzen, weil es für mich einfach aufgehört hat zu arbeiten. Ich habe mit macports angefangen und es funktioniert immer noch großartig. Habe nie Homebrew versucht, weil er dazu neigt, seltsame nicht-unixy Dinge (philosophisch) in Bezug auf Sudo und / usr / local (kurz gesagt: das Installieren von Paketen sollte Sudo erfordern, und es sollte nicht / usr / local verwenden) und macports könnte verwendet werden funktioniert besser für meine älteren Macs. Bis jetzt verhält sich mein Mac dank Macports genau wie meine Linux-Shell, was das Ziel ist. michael vor 8 Jahren 0