Mac OS X - Installieren der Software über DMG vs. * nix-Befehlszeilenstil

2998
Matt

Neuer Mac-Besitzer hier, aber seit langem Linux-Benutzer. Kann mir jemand die Unterschiede zwischen der Installation einer Software wie Subversion aus einem .dmg-Image und nicht aus dem Kompilieren und Installieren über die Befehlszeile beschreiben? Endet die Software am selben Ort? Welche anderen Unterschiede gibt es, z. B. Deinstallationsverfahren? Was würden Sie als Vor- und Nachteile eines Ansatzes gegenüber dem anderen betrachten?

3
Speziell für die Subversion wird sie mit den Developer Tools installiert, die Sie von Ihrer Mac OS X-Installations-CD erhalten. jtbandes vor 14 Jahren 1
Oh ja. Sehr guter Punkt. Sie sollten auf jeden Fall Entwicklertools installieren - Subversion, gcc usw. Plus Mac-Goodies wie das Dateivergleichstool und natürlich die Tools für die Mac-Code-Entwicklung (Xcode, InterfaceBuilder) Doug Harris vor 14 Jahren 0
Ich habe einen Subversion-Client ohne XCode in Leopard installiert. Ist es nur der Server, den XCode installiert? The Tentacle vor 14 Jahren 0
@jtbandes - Ich habe festgestellt, dass Subversion bereits standardmäßig installiert war, obwohl ich mich nicht erinnere, die Developer Tools installiert zu haben. Es war jedoch eine ältere Version, daher wollte sie auf den neuesten Stand gebracht werden. Ich war mir nicht sicher, wie der Standard installiert wurde, und wusste daher nicht, wie er das Update am besten installieren kann. Matt vor 14 Jahren 0

3 Antworten auf die Frage

4
Doug Harris

Die Installation von einer .dmg-Datei erfolgt normalerweise per Drag-and-Drop nach / Applications. Die Deinstallation ist meiner Meinung nach ein wunder Punkt in der Mac-Umgebung. Sie können die Datei aus den Anwendungen löschen, aber nur das, was im .app-Wrapper gekapselt ist, wird gelöscht. Zusätzliche Konfigurationsdateien verschwinden nicht.

Ein anderer Installationspfad, den Sie berücksichtigen sollten, ist MacPorts und / oder Fink . Diese ähneln apt-get oder yum in der Linux-Welt. Sie bieten ein Befehlszeilenprogramm zum Erfassen, Kompilieren und Installieren gebräuchlicher Software. Es ist normalerweise so einfach wie:

$ sudo port install svn 

(macport beispiel)

Woher weiß ich, ob es mit einer vorhandenen Installation der Software kompatibel ist / in Konflikt steht? ZB war die erwähnte Subversion bereits auf dem Computer, aber eine ältere Version. Ich weiß, dass mehrere Softwareversionen Probleme verursachen können, abhängig davon, welche Bibliotheken verknüpft sind, ob sie sich im PFAD befinden, welche zuerst im Pfad ist usw. Matt vor 14 Jahren 0
In der Bash-Befehlszeile zeigt "type -a svn" alle ausführbaren Dateien (und Aliasnamen und Shell-Builtins und -Funktionen) im aktuellen Pfad an - in der Suchreihenfolge. Der oberste ist der, der ausgeführt wird. Die von der ausführbaren Datei verwendeten Bibliotheken werden wahrscheinlich durch die Art der Kompilierung oder durch die Umgebungsvariable DYLD_LIBRARY_PATH bestimmt Doug Harris vor 14 Jahren 0
Sie könnten auch zwei Tage warten und sehen, ob die neuere Version von svn mit SnowLeopard (auch bekannt als Mac OS 10.6) geliefert wird. Doug Harris vor 14 Jahren 0
4
s4y

A .dmgist nur eine virtuelle Festplatte ("Disk Image") und hat alleine nichts mit der Installation zu tun.

Wenn das Festplatten-Image nur eine Anwendung enthält (in der Regel werden Sie dazu aufgefordert, es in den Ordner "Programme" zu ziehen), werden einige Code- und Unterstützungsdateien in dieser einen Datei enthalten. Die Anwendung ist für jede Einrichtung beim ersten Start zu tun und verantwortlich für die Bereitstellung eines Deinstallationsmechanismus, wenn alles wird später installiert. Viele Entwickler verwenden das Sparkle- Framework zum Suchen und Installieren von Updates.

Wenn das Disk-Image ein Paket enthält ( .pkgoder .mpkg), handelt es sich um ein Installationsprogramm. Wenn Sie es ausführen, können Sie Dateien überall auf Ihrem System installieren und Skripts vor und nach der Installation ausführen. Außerdem gibt es keinen integrierten Mechanismus für die Deinstallation oder den Upgrade (das System protokolliert jedoch die installierten Pakete, wenn Sie später ein Installationspaket ausführen Bei einer neueren Version der Software verhält sich die Software möglicherweise anders als bei einer Erstinstallation. Auch in diesem Fall ist der Entwickler für die Deinstallation und die Verantwortung für Updates verantwortlich. Verantwortlich Entwickler werden auf Standardverzeichnisse installieren ( /Applications, /Libraryund ~/Library, /usretc.)

Für Befehlszeilen-Software, die Sie normalerweise von Source installieren, würde ich einen Paketmanager wie MacPorts (meine Präferenz) oder Fink over mit einem Installationspaket empfehlen . Beide Paketmanager richten ein eigenständiges Verzeichnis ( /optund /swrespektive) mit allen Unterstützungsdateien und ausführbaren Code für die von ihnen installierte Software ein (und die meisten Pakete respektieren dies) und fügen sich selbst hinzu $PATH. Ein großer Vorteil der Verwendung eines Paket-Managers besteht darin, dass er die installierte Software nachverfolgt und Ihnen die Möglichkeit gibt, diese zu aktualisieren oder zu deinstallieren.

Vielen Dank! Habe den ersten 3 Antworten eine positive Bewertung gegeben, weil sie alle informativ waren, aber Ihre mehr noch! Vielen Dank. Matt vor 14 Jahren 0
2
The Tentacle

Dies ist etwas kompliziert, da sich in der DMG möglicherweise eine einfache Drag- and -Drop-Lösung oder eine .PKG-Datei befindet, mit der Dinge an einem beliebigen Ort installiert werden können. Normalerweise hinterlässt .pkg Empfänge (normalerweise in / Library / Receipts), obwohl OS X keine einfache Möglichkeit bietet, diese Rezepte zu verwalten.

Pacifist ist eine nützliche App, die die .pkg-Dateien (die von vielen Befehlszeilen-Apps für benutzerdefinierte Installationsorte verwendet werden) vor der Installation untersucht, um genau zu wissen, wo möglicherweise Dinge installiert werden. Sie können dann bestimmen, ob Ihre selbst kompilierte Version am selben Speicherort installiert werden soll oder nicht, und ob diese mit den Systemversionen in Konflikt stehen:

http://www.charlessoft.com/

Insbesondere müssen Sie sicherstellen, dass bei der Installation an verschiedenen Speicherorten der Pfad der gewünschten Version entspricht, die Sie verwenden möchten. Ich vermute, Subversion sollte bei mehreren installierten Versionen nicht problematisch sein ... Für Ruby verwende ich einen Ruby19-Namen für die ausführbare Datei von Ruby, um Pfadprobleme mit inkompatiblem Code zu stoppen.

Es gibt ein weniger leistungsfähiges, aber kostenloses Quicklook-Plugin für .pkg-Dateien, das den grundlegenden Job der Show darstellt, wo Dinge installiert werden:

http://www.mothersruin.com/software/SuspiciousPackage/